Spaces:
Running
Running
Download tests/test_agent_configuration_patterns.py from Leon4gr45/brain: direct link, hf CLI and curl.
- Browser
- Download file 4.91 kB
-
https://huggingface.co/spaces/Leon4gr45/brain/resolve/main/tests/test_agent_configuration_patterns.py
- Command line
-
hf download hf://spaces/Leon4gr45/brain/tests/test_agent_configuration_patterns.py
-
curl -L -o test_agent_configuration_patterns.py https://huggingface.co/spaces/Leon4gr45/brain/resolve/main/tests/test_agent_configuration_patterns.py
4.91 kB
| import ast | |
| from pathlib import Path | |
| import unittest | |
| ROOT = Path(__file__).resolve().parent.parent | |
| def read_source(relative_path: str) -> str: | |
| return (ROOT / relative_path).read_text(encoding="utf-8") | |
| def parse_source(relative_path: str) -> ast.Module: | |
| return ast.parse(read_source(relative_path)) | |
| def class_names(relative_path: str) -> set[str]: | |
| tree = parse_source(relative_path) | |
| return {node.name for node in ast.walk(tree) if isinstance(node, ast.ClassDef)} | |
| def method_names(relative_path: str, class_name: str) -> set[str]: | |
| tree = parse_source(relative_path) | |
| for node in ast.walk(tree): | |
| if isinstance(node, ast.ClassDef) and node.name == class_name: | |
| return { | |
| method.name | |
| for method in node.body | |
| if isinstance(method, (ast.FunctionDef, ast.AsyncFunctionDef)) | |
| } | |
| raise AssertionError(f"Class {class_name} not found in {relative_path}") | |
| class KGAgentPromptStrategyArchitectureTests(unittest.TestCase): | |
| def test_kg_agent_has_prompt_registry_mapping(self): | |
| source = read_source("src/core/agents/kg_agent.py") | |
| self.assertIn("_SYSTEM_PROMPT_BUILDERS", source) | |
| self.assertIn('"normal"', source) | |
| self.assertIn('"graph-consolidator"', source) | |
| def test_kg_agent_validates_prompt_type_from_registry(self): | |
| source = read_source("src/core/agents/kg_agent.py") | |
| self.assertIn("if type_ not in self._SYSTEM_PROMPT_BUILDERS:", source) | |
| self.assertIn('raise ValueError(f"Invalid type: {type_}")', source) | |
| self.assertIn("system_prompt = self._SYSTEM_PROMPT_BUILDERS[type_](", source) | |
| class JanitorAgentPromptAndSchemaArchitectureTests(unittest.TestCase): | |
| def test_janitor_agent_has_prompt_registry_mapping(self): | |
| source = read_source("src/core/agents/janitor_agent.py") | |
| self.assertIn("_SYSTEM_PROMPT_BUILDERS", source) | |
| self.assertIn('"janitor"', source) | |
| self.assertIn('"graph-janitor"', source) | |
| self.assertIn('"atomic-janitor"', source) | |
| def test_janitor_agent_uses_schema_resolution_methods(self): | |
| methods = method_names("src/core/agents/janitor_agent.py", "JanitorAgent") | |
| self.assertIn("_resolve_response_format", methods) | |
| self.assertIn("_normalize_schema", methods) | |
| source = read_source("src/core/agents/janitor_agent.py") | |
| self.assertIn( | |
| "response_format = self._resolve_response_format(output_schema, output_schemas)", | |
| source, | |
| ) | |
| def test_janitor_agent_validates_prompt_type(self): | |
| source = read_source("src/core/agents/janitor_agent.py") | |
| self.assertIn("if type_ not in self._SYSTEM_PROMPT_BUILDERS:", source) | |
| self.assertIn('raise ValueError(f"Invalid type: {type_}")', source) | |
| class ArchitectAgentPromptStrategyArchitectureTests(unittest.TestCase): | |
| def test_architect_agent_has_prompt_registry_mapping(self): | |
| source = read_source("src/core/agents/architect_agent.py") | |
| self.assertIn("_SYSTEM_PROMPT_BUILDERS", source) | |
| self.assertIn('("single", "granular")', source) | |
| self.assertIn('("single", "coarse")', source) | |
| self.assertIn('("tooler", "granular")', source) | |
| self.assertIn('("tooler", "coarse")', source) | |
| def test_architect_agent_uses_prompt_resolver(self): | |
| methods = method_names("src/core/agents/architect_agent.py", "ArchitectAgent") | |
| self.assertIn("_resolve_system_prompt", methods) | |
| source = read_source("src/core/agents/architect_agent.py") | |
| self.assertIn( | |
| "system_prompt = self._resolve_system_prompt(type_, mode, extra_system_prompt)", | |
| source, | |
| ) | |
| self.assertIn('raise ValueError(f"Invalid mode for architect agent: {mode}")', source) | |
| self.assertIn('raise ValueError(f"Invalid type for architect agent: {type_}")', source) | |
| class JanitorToolReuseArchitectureTests(unittest.TestCase): | |
| def test_execute_graph_operation_tool_is_alias_subclass(self): | |
| source = read_source( | |
| "src/core/agents/tools/janitor_agent/JanitorAgentExecuteGraphOperationTool.py" | |
| ) | |
| self.assertIn( | |
| "class JanitorAgentExecuteGraphOperationTool(JanitorAgentExecuteGraphReadOperationTool):", | |
| source, | |
| ) | |
| self.assertIn("pass", source) | |
| self.assertNotIn("def _run", source) | |
| def test_janitor_tool_classes_exist(self): | |
| names = class_names( | |
| "src/core/agents/tools/janitor_agent/JanitorAgentExecuteGraphReadOperationTool.py" | |
| ) | |
| self.assertIn("JanitorAgentExecuteGraphReadOperationTool", names) | |
| names_alias = class_names( | |
| "src/core/agents/tools/janitor_agent/JanitorAgentExecuteGraphOperationTool.py" | |
| ) | |
| self.assertIn("JanitorAgentExecuteGraphOperationTool", names_alias) | |
| if __name__ == "__main__": | |
| unittest.main() | |