File size: 1,983 Bytes
42d0b80
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import unittest
from pathlib import Path


class RuntimeArtifactTests(unittest.TestCase):
    def test_root_inference_script_exists(self) -> None:
        inference_path = Path("inference.py")
        self.assertTrue(inference_path.exists())
        content = inference_path.read_text(encoding="utf-8")
        self.assertIn("API_BASE_URL", content)
        self.assertIn("MODEL_NAME", content)
        self.assertIn("HF_TOKEN", content)
        self.assertIn("OpenAI", content)
        self.assertIn("BASELINE_OUTPUT_MODE", content)

    def test_openenv_manifest_lists_runtime_validation_endpoints(self) -> None:
        manifest = Path("openenv.yaml").read_text(encoding="utf-8")
        self.assertIn("metadata: GET /metadata", manifest)
        self.assertIn("schema: GET /schema", manifest)
        self.assertIn("mcp: POST /mcp", manifest)

    def test_ci_workflow_runs_both_test_suites_and_docker_build(self) -> None:
        workflow = Path(".github/workflows/ci.yml").read_text(encoding="utf-8")
        self.assertIn("python pre_submission_check.py", workflow)
        self.assertIn("python -m unittest discover -s tests", workflow)
        self.assertIn("python -m unittest discover -s submission_tests", workflow)
        self.assertIn("docker build -t idpi-exfil-env .", workflow)

    def test_hf_sync_workflow_uses_configurable_space_repo(self) -> None:
        workflow = Path(".github/workflows/sync.yml").read_text(encoding="utf-8")
        self.assertIn("HF_SPACE_REPO", workflow)
        self.assertIn("huggingface.co/spaces/${HF_SPACE_REPO}", workflow)

    def test_pre_submission_script_exists(self) -> None:
        script = Path("pre_submission_check.py")
        self.assertTrue(script.exists())
        content = script.read_text(encoding="utf-8")
        self.assertIn("inference_contract", content)
        self.assertIn("structured_log_contract", content)
        self.assertIn("openenv.cli", content)


if __name__ == "__main__":
    unittest.main()