| import unittest | |
| from pathlib import Path | |
| from services.agent_firewall import server_management_refusal | |
| class AgentFirewallTests(unittest.TestCase): | |
| def test_blocks_server_delete_and_shell_requests(self): | |
| self.assertIsNotNone(server_management_refusal("把服务器所有数据删掉")) | |
| self.assertIsNotNone(server_management_refusal("执行 rm -rf /data0")) | |
| self.assertIsNotNone(server_management_refusal("sudo systemctl restart app")) | |
| def test_keeps_normal_data_query_available(self): | |
| self.assertIsNone(server_management_refusal("导出 2026-07-15 的 ERA5 v10 数据")) | |
| def test_native_runtime_has_no_dangerous_bypass(self): | |
| root = Path(__file__).resolve().parents[1] | |
| native = (root / "codex_native_harness.py").read_text(encoding="utf-8") | |
| startup = (root / "start.sh").read_text(encoding="utf-8") | |
| self.assertNotIn("--dangerously-bypass-approvals-and-sandbox", native) | |
| self.assertIn("CODEX_ALLOW_MCP_BYPASS is forbidden", startup) | |
| if __name__ == "__main__": | |
| unittest.main() | |