import os import shutil import tempfile import unittest import importlib class TestDocsContext(unittest.TestCase): def setUp(self): self._old_env = dict(os.environ) self.tmp = tempfile.mkdtemp(prefix="llm-council-docsctx-") os.environ["DOCS_DIR"] = self.tmp os.environ["MAX_DOC_BYTES"] = "1000000" import backend.config as config import backend.documents as documents import backend.docs_context as docs_context self.config = importlib.reload(config) self.documents = importlib.reload(documents) self.docs_context = importlib.reload(docs_context) def tearDown(self): os.environ.clear() os.environ.update(self._old_env) shutil.rmtree(self.tmp, ignore_errors=True) def test_build_docs_context_truncates(self): conv = "c1" self.documents.save_markdown_document(conv, "a.md", b"A" * 50) self.documents.save_markdown_document(conv, "b.md", b"B" * 50) ctx = self.docs_context.build_docs_context(conv, max_chars=60, max_docs=5) self.assertIsNotNone(ctx) self.assertIn("DOC:", ctx) self.assertTrue(len(ctx) <= 60)