import re from pathlib import Path import yaml EXPECTED_DEPLOY_JOBS = { "pingcap-df-finance-extract", "pingcap-df-finance-load", "pingcap-nexuscrm-extract", "pingcap-nexuscrm-load", "pingcap-month-end-arr-outbound", } def test_deploy_workflow_targets_only_main_managed_jobs() -> None: workflow_path = Path(__file__).parents[1] / ".github" / "workflows" / "deploy.yml" workflow = yaml.safe_load(workflow_path.read_text()) deploy_step = next( step for step in workflow["jobs"]["deploy"]["steps"] if step.get("name") == "Deploy Cloud Run jobs" ) script = deploy_step["run"] assert "gcloud run jobs list" not in script assert set(re.findall(r"^\s+(pingcap-[a-z0-9-]+)\s*$", script, re.MULTILINE)) == EXPECTED_DEPLOY_JOBS assert "pingcap-netsuite-revenue-to-nexuscrm" not in script def test_netsuite_revenue_api_resources_are_disabled_and_commit_free_by_default() -> None: root = Path(__file__).parents[1] api = (root / "terraform" / "netsuite_revenue_nexuscrm.tf").read_text() variables = (root / "terraform" / "variables.tf").read_text() assert "default = false" in variables.split('variable "enable_netsuite_revenue_to_nexuscrm"', 1)[1] assert "paused = var.netsuite_revenue_scheduler_paused" in api assert "default = true" in variables.split('variable "netsuite_revenue_scheduler_paused"', 1)[1] assert 'account_id = "pc-ns-revenue-api"' in api assert 'account_id = "pc-ns-revenue-scheduler"' in api assert 'name = "pingcap-netsuite-revenue-to-nexuscrm"' in api assert '"--commit"' not in api assert "@sha256:" in api assert "NEXUSCRM_REVENUE_CLIENT_SECRET" in api assert "TIDB_DSN" not in api