Add standalone managed ingress diagnostics
This commit is contained in:
@@ -122,6 +122,36 @@ class ManagedIngressDrillTests(unittest.TestCase):
|
||||
self.assertIn("server_hostname=\"localhost\"", argv[-1])
|
||||
self.assertNotIn("localhost:49152", argv[-1])
|
||||
|
||||
def test_probe_diagnostics_include_container_stderr(self) -> None:
|
||||
probe_failure = subprocess.CalledProcessError(1, ["docker", "run"])
|
||||
state = subprocess.CompletedProcess([], 0, '{"Running":false}', "")
|
||||
logs = subprocess.CompletedProcess([], 0, "", "caddy startup failed")
|
||||
with patch.object(
|
||||
INGRESS,
|
||||
"_run",
|
||||
side_effect=[probe_failure, state, logs],
|
||||
), patch.object(INGRESS.sys, "stderr") as stderr:
|
||||
with self.assertRaises(subprocess.CalledProcessError):
|
||||
INGRESS._probe_ingress(
|
||||
image="registry.example/runtime-api@sha256:" + "1" * 64,
|
||||
network="deployment-network",
|
||||
container="ingress",
|
||||
)
|
||||
|
||||
rendered = "".join(call.args[0] for call in stderr.write.call_args_list)
|
||||
self.assertIn('"Running":false', rendered)
|
||||
self.assertIn("caddy startup failed", rendered)
|
||||
|
||||
def test_standalone_workflow_is_dispatch_only_and_digest_bounded(self) -> None:
|
||||
workflow = (
|
||||
ROOT / ".gitea/workflows/runtime-ingress-drill.yml"
|
||||
).read_text(encoding="utf-8")
|
||||
|
||||
self.assertIn("workflow_dispatch:", workflow)
|
||||
self.assertNotIn("\n push:", workflow)
|
||||
self.assertIn("--probe-image \"$PROBE_IMAGE\"", workflow)
|
||||
self.assertIn("GOVOPLAN_REGISTRY_TOKEN", workflow)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user