Files
g2s-aggregator/tests/smoke/test_local_infra_stack.py
T
Раис Юсупалиев 02b80f2b73
Deploy / deploy (push) Successful in 1m1s
span_id и trace_id
2026-06-20 19:46:48 +03:00

44 lines
1.4 KiB
Python

from pathlib import Path
import yaml
PROJECT_ROOT = Path(__file__).resolve().parents[2]
COMPOSE_FILE = PROJECT_ROOT / "docker-compose.yml"
INFRA_README = PROJECT_ROOT / "infra" / "README.md"
DEPLOY_WORKFLOW = PROJECT_ROOT / ".gitea" / "workflows" / "deploy.yml"
def _load_compose() -> dict:
content = yaml.safe_load(COMPOSE_FILE.read_text(encoding="utf-8"))
assert isinstance(content, dict)
return content
def test_compose_defines_required_services() -> None:
compose = _load_compose()
services = compose.get("services")
assert isinstance(services, dict)
assert {"app", "redis", "postgres"}.issubset(services.keys())
assert "postgres" in services["app"]["depends_on"]
def test_smoke_command_sequence_is_documented() -> None:
readme = INFRA_README.read_text(encoding="utf-8")
assert "docker compose config" in readme
assert "docker compose up -d redis" in readme
assert "docker compose ps" in readme
def test_deploy_recreates_collector_after_config_update() -> None:
workflow = DEPLOY_WORKFLOW.read_text(encoding="utf-8")
recreate_command = (
"docker compose -p $COMPOSE_PROJECT up -d --force-recreate otel-collector"
)
application_command = "docker compose -p $COMPOSE_PROJECT up -d"
assert recreate_command in workflow
assert workflow.index(recreate_command) < workflow.rindex(application_command)