import importlib.util import pathlib def load_module(): path = pathlib.Path(__file__).resolve().parents[1] / "dashboards_render_atlas.py" spec = importlib.util.spec_from_file_location("scripts.dashboards_render_atlas", path) module = importlib.util.module_from_spec(spec) assert spec.loader is not None spec.loader.exec_module(module) return module def flatten_panels(panels): flat = [] for panel in panels: flat.append(panel) flat.extend(panel.get("panels", [])) return flat def test_table_panel_options_and_filterable(): mod = load_module() panel = mod.table_panel( 1, "test", "metric", {"h": 1, "w": 1, "x": 0, "y": 0}, unit="percent", transformations=[{"id": "labelsToFields", "options": {}}], instant=True, options={"showColumnFilters": False}, filterable=False, footer={"show": False, "fields": "", "calcs": []}, format="table", ) assert panel["fieldConfig"]["defaults"]["unit"] == "percent" assert panel["fieldConfig"]["defaults"]["custom"]["filterable"] is False assert panel["options"]["showHeader"] is True assert panel["targets"][0]["format"] == "table" def test_node_filter_and_expr_helpers(): mod = load_module() expr = mod.node_filter("titan-.*") assert "label_replace" in expr cpu_expr = mod.node_cpu_expr("titan-.*") mem_expr = mod.node_mem_expr("titan-.*") assert "node_cpu_seconds_total" in cpu_expr assert "node_memory_MemAvailable_bytes" in mem_expr def test_render_configmap_writes(tmp_path): mod = load_module() mod.DASHBOARD_DIR = tmp_path / "dash" mod.ROOT = tmp_path uid = "atlas-test" info = {"configmap": tmp_path / "cm.yaml"} data = {"title": "Atlas Test"} mod.write_json(uid, data) mod.render_configmap(uid, info) json_path = mod.DASHBOARD_DIR / f"{uid}.json" assert json_path.exists() content = (tmp_path / "cm.yaml").read_text() assert "kind: ConfigMap" in content assert f"{uid}.json" in content def test_testing_suite_variable_uses_canonical_values_only(): mod = load_module() variable = mod.testing_suite_variable() canonical_matcher = "|".join(mod.PLATFORM_TEST_SUITE_NAMES) legacy_names = {"bstein-home", "data-prepper", "titan-iac", "pegasus-health"} assert variable["allValue"] == canonical_matcher assert not any(alias in variable["query"] for alias in legacy_names) assert not any(alias in variable["allValue"] for alias in legacy_names) assert [option["value"] for option in variable["options"]] == mod.PLATFORM_TEST_SUITE_NAMES def test_jobs_dashboard_separates_current_gate_health_from_reliability(): mod = load_module() dashboard = mod.build_jobs_dashboard() panels_by_title = {panel["title"]: panel for panel in flatten_panels(dashboard["panels"])} assert "Current Gate Health by Suite" in panels_by_title assert "Run Reliability by Suite (24h)" in panels_by_title assert "Run Reliability History by Suite" in panels_by_title assert "Failures by Suite (24h)" not in panels_by_title assert "Success Rate by Suite (24h)" not in panels_by_title current_gate_expr = panels_by_title["Current Gate Health by Suite"]["targets"][0]["expr"] assert 'check)' in current_gate_expr assert 'result=~"ok|passed|success|not_applicable|skipped|na|n/a"' in current_gate_expr reliability_panel = panels_by_title["Run Reliability by Suite (24h)"] reliability_expr = reliability_panel["targets"][0]["expr"] assert "platform_quality_gate_runs_total" in reliability_expr assert "> 0" in reliability_expr assert "- 1" in reliability_expr assert reliability_panel["fieldConfig"]["defaults"]["mappings"] == [ {"type": "value", "options": {"-1": {"text": "no runs"}}} ] def test_jobs_dashboard_collapses_heavy_drilldowns_for_light_first_paint(): mod = load_module() dashboard = mod.build_jobs_dashboard() panels = dashboard["panels"] rows = [panel for panel in panels if panel["type"] == "row"] visible_query_panels = [panel for panel in panels if panel["type"] != "row"] nested_panels_by_title = { child["title"]: child for row in rows for child in row.get("panels", []) } assert len(panels) == 16 assert len(visible_query_panels) == 11 assert sum(len(panel.get("targets", [])) for panel in visible_query_panels) == 11 assert [row["title"] for row in rows] == [ "Reliability And Run History", "Failure Trends By Check", "Success Trends By Check", "Test Drilldowns And Problem Tests", "Telemetry Completeness, SonarQube, And Branches", ] assert all(row["collapsed"] for row in rows) assert "Failure Trend: Coverage" in nested_panels_by_title assert "Success Trend: Supply Chain" in nested_panels_by_title assert "Selected Test Pass Rate History" in nested_panels_by_title assert "Missing Coverage Metrics by Suite" in nested_panels_by_title assert "SonarQube API Up" in nested_panels_by_title