test(generator): усилены проверки startup-history и Superset
- Зачем: - зелёный результат проверок должен означать фактический стык и точный контракт дашборда. - Что: - проверка startup-history читает manifest, требует live seam и непустой ODS. - добавлен быстрый runtime gate для daily-wave и live-продолжения. - Superset sync ограничен целевым dashboard и сверяет существенные params. - Проверка: - docker target tests; make generator-test; make generated-history-runtime-check.
This commit is contained in:
@@ -619,6 +619,39 @@ def _run_manifest_summary(args: argparse.Namespace) -> int:
|
||||
return 0
|
||||
|
||||
|
||||
def _print_manifest_summary(manifest: dict) -> None:
|
||||
totals = manifest["totals"]
|
||||
print(
|
||||
"\t".join(
|
||||
[
|
||||
str(totals["events"]),
|
||||
str(totals["visits"]),
|
||||
str(totals["users"]),
|
||||
str(totals["min_event_timestamp"]),
|
||||
str(totals["max_event_timestamp"]),
|
||||
str(manifest["model_t0"]),
|
||||
str(manifest["model_t_end"]),
|
||||
str(manifest.get("launch_profile", "")),
|
||||
]
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def _run_kafka_manifest_summary(args: argparse.Namespace) -> int:
|
||||
config = Config()
|
||||
manifest_manager = KafkaStartupHistoryManifest(config.kafka_bootstrap_servers)
|
||||
try:
|
||||
manifest = manifest_manager.load()
|
||||
finally:
|
||||
manifest_manager.close()
|
||||
|
||||
if not manifest:
|
||||
raise RuntimeError("startup history manifest not found in Kafka")
|
||||
|
||||
_print_manifest_summary(manifest)
|
||||
return 0
|
||||
|
||||
|
||||
def main(argv: list[str] | None = None) -> int:
|
||||
parser = argparse.ArgumentParser(description="Startup history artifact tools")
|
||||
subparsers = parser.add_subparsers(dest="command", required=True)
|
||||
@@ -635,6 +668,9 @@ def main(argv: list[str] | None = None) -> int:
|
||||
summary_parser.add_argument("--artifact", required=True)
|
||||
summary_parser.set_defaults(func=_run_manifest_summary)
|
||||
|
||||
kafka_summary_parser = subparsers.add_parser("kafka-manifest-summary")
|
||||
kafka_summary_parser.set_defaults(func=_run_kafka_manifest_summary)
|
||||
|
||||
args = parser.parse_args(argv)
|
||||
return args.func(args)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user