test(validation): 토큰 위생 및 플랫폼 통합 검증 체계 고도화
Snapshot Admin Web Validation / validate-snapshot-admin-smoke (push) Has been cancelled
Snapshot Admin Web Validation / validate-snapshot-admin-full (push) Has been cancelled
Quant Engine CI/CD Pipeline / validate-core (pull_request) Has been cancelled
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been cancelled
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Has been cancelled
Snapshot Admin Web Validation / validate-snapshot-admin-smoke (push) Has been cancelled
Snapshot Admin Web Validation / validate-snapshot-admin-full (push) Has been cancelled
Quant Engine CI/CD Pipeline / validate-core (pull_request) Has been cancelled
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been cancelled
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Has been cancelled
This commit is contained in:
@@ -120,7 +120,8 @@ def main() -> int:
|
||||
|
||||
try:
|
||||
_wait_for_server(base_url)
|
||||
html = _read_text(f"{base_url}/")
|
||||
home_html = _read_text(f"{base_url}/")
|
||||
html = _read_text(f"{base_url}/workspace")
|
||||
state = _read_json(f"{base_url}/api/state")
|
||||
tables_payload = _read_json(f"{base_url}/api/tables")
|
||||
export_payload = _read_json(f"{base_url}/api/export")
|
||||
@@ -139,6 +140,10 @@ def main() -> int:
|
||||
"workspace": state.get("summary", {}),
|
||||
}
|
||||
packet_response = _post_json(f"{base_url}/api/approval_packet", {"packet": approval_packet})
|
||||
if "Snapshot Admin Home" not in home_html:
|
||||
errors.append("home_title_missing")
|
||||
if "Open workspace" not in home_html or "Open collection" not in home_html:
|
||||
errors.append("home_navigation_missing")
|
||||
if "Snapshot Admin" not in html:
|
||||
errors.append("html_title_missing")
|
||||
if "contenteditable" not in html:
|
||||
@@ -171,7 +176,14 @@ def main() -> int:
|
||||
if "Read only" not in tables_html or "Save current table" not in tables_html:
|
||||
errors.append("table_browser_source_labels_missing")
|
||||
collection_html = _read_text(f"{base_url}/collection")
|
||||
if "KIS Collection Dashboard" not in collection_html or "Download CSV" not in collection_html or "Ticker quick search" not in collection_html or "Date quick search" not in collection_html:
|
||||
if (
|
||||
"KIS Collection Dashboard" not in collection_html
|
||||
or "Download CSV" not in collection_html
|
||||
or "Ticker quick search" not in collection_html
|
||||
or "Date quick search" not in collection_html
|
||||
or "collectionLiveStatus" not in collection_html
|
||||
or "live source: unknown" not in collection_html
|
||||
):
|
||||
errors.append("collection_dashboard_page_missing")
|
||||
if int(state.get("summary", {}).get("settings_rows") or 0) <= 0:
|
||||
errors.append("settings_rows_missing")
|
||||
@@ -200,6 +212,14 @@ def main() -> int:
|
||||
errors.append("collection_counts_missing")
|
||||
if "latest_report" not in collection:
|
||||
errors.append("collection_latest_report_missing")
|
||||
latest_report = collection.get("latest_report", {})
|
||||
if isinstance(latest_report, dict):
|
||||
if latest_report.get("input_json") and "GatherTradingData.json" not in str(latest_report.get("input_json")):
|
||||
errors.append("collection_latest_report_input_mismatch")
|
||||
if not latest_report.get("sqlite_db"):
|
||||
errors.append("collection_latest_report_sqlite_missing")
|
||||
if collection.get("output_json_path") and "kis_data_collection_v1.json" not in str(collection.get("output_json_path")):
|
||||
errors.append("collection_output_json_path_mismatch")
|
||||
if "data" not in export_payload:
|
||||
errors.append("export_missing_data")
|
||||
if packet_response.get("gate") != "PASS":
|
||||
|
||||
Reference in New Issue
Block a user