@@ -35,8 +35,8 @@ jobs:
|
||||
api_status=$(docker inspect --format '{{.State.Health.Status}}' "$(docker compose ps -q api)")
|
||||
web_status=$(docker inspect --format '{{.State.Health.Status}}' "$(docker compose ps -q web)")
|
||||
if [ "$api_status" = healthy ] && [ "$web_status" = healthy ]; then
|
||||
curl --fail http://localhost:8000/api/v1/health/live
|
||||
curl --fail http://localhost:8080/healthz
|
||||
docker compose exec -T api python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/v1/health/live', timeout=2)"
|
||||
docker compose exec -T web python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8080/healthz', timeout=2)"
|
||||
exit 0
|
||||
fi
|
||||
sleep 2
|
||||
|
||||
@@ -57,6 +57,13 @@ class Phase15OpsTests(unittest.TestCase):
|
||||
self.assertIn('CMD ["python", "-m", "app.main"', dockerfile)
|
||||
self.assertNotIn('CMD ["python", "/app/app/main.py"', dockerfile)
|
||||
|
||||
def test_ci_smoke_checks_run_inside_compose_services(self):
|
||||
workflow = (ROOT / ".github/workflows/ci.yml").read_text()
|
||||
self.assertIn("docker compose exec -T api", workflow)
|
||||
self.assertIn("docker compose exec -T web", workflow)
|
||||
self.assertNotIn("curl --fail http://localhost:8000/api/v1/health/live", workflow)
|
||||
self.assertNotIn("curl --fail http://localhost:8080/healthz", workflow)
|
||||
|
||||
def test_backup_restore_integrity_and_checksum(self):
|
||||
with TemporaryDirectory() as tmp:
|
||||
root = Path(tmp); db = root / "prospects.db"; backups = root / "backups"
|
||||
|
||||
Reference in New Issue
Block a user