| from __future__ import annotations |
|
|
| import unittest |
| from pathlib import Path |
|
|
|
|
| ROOT = Path(__file__).resolve().parent |
|
|
|
|
| class ImageAndEntrypointIntegrationTests(unittest.TestCase): |
| def test_image_contains_xai_proxy_enforcer(self) -> None: |
| dockerfile = (ROOT / "Dockerfile").read_text(encoding="utf-8") |
| self.assertIn("COPY xai_auth_proxy.py /opt/daili/xai_auth_proxy.py", dockerfile) |
| self.assertIn("COPY patches/xai_fail_closed.go /tmp/xai_fail_closed.go", dockerfile) |
| self.assertIn("go run /tmp/apply_xai_fail_closed.go", dockerfile) |
| self.assertIn("go test ./sdk/cliproxy/auth", dockerfile) |
|
|
| def test_startup_enforces_before_gateway_and_watches_after_management(self) -> None: |
| entrypoint = (ROOT / "entrypoint.sh").read_text(encoding="utf-8") |
| restore = entrypoint.rindex("restore_objectstore_state || true") |
| enforce = entrypoint.rindex("\nenforce_xai_auth_proxies_once\n") |
| gateway = entrypoint.rindex('"$GATEWAY_BIN" -config "$GATEWAY_CONFIG_PATH" &') |
| watcher = entrypoint.rindex("start_xai_proxy_watch") |
|
|
| self.assertLess(restore, enforce) |
| self.assertLess(enforce, gateway) |
| self.assertLess(gateway, watcher) |
| self.assertIn('PROXY_URL_VALUE="direct"', entrypoint) |
| self.assertNotIn('PROXY_URL_VALUE="socks5h://', entrypoint) |
| self.assertIn('XAI_PROXY_FAIL_CLOSED_URL="$XAI_PROXY_FAIL_CLOSED_URL"', entrypoint) |
|
|
| def test_objectstore_config_is_also_forced_direct(self) -> None: |
| source = (ROOT / "objectstore_sync.py").read_text(encoding="utf-8") |
| self.assertIn("from xai_auth_proxy import enforce_config_proxy_url", source) |
| self.assertIn("def enforce_config_without_mtime_change", source) |
| self.assertGreaterEqual(source.count("enforce_config_without_mtime_change(config_path)"), 2) |
|
|
| def test_secret_staging_directory_is_ignored(self) -> None: |
| gitignore = (ROOT / ".gitignore").read_text(encoding="utf-8").splitlines() |
| dockerignore = (ROOT / ".dockerignore").read_text(encoding="utf-8").splitlines() |
| self.assertIn(".codex-tmp/", gitignore) |
| self.assertIn(".codex-tmp", dockerignore) |
|
|
|
|
| if __name__ == "__main__": |
| unittest.main() |
|
|