semantics
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
# @COMPLEXITY: 3
|
||||
# @PURPOSE: Unit tests for MigrationArchiveParser ZIP extraction contract.
|
||||
# @LAYER: Domain
|
||||
# @RELATION: VERIFIES -> backend.src.core.migration.archive_parser
|
||||
# @RELATION: DEPENDS_ON -> [MigrationArchiveParserModule]
|
||||
#
|
||||
import os
|
||||
import sys
|
||||
@@ -23,6 +23,11 @@ from src.core.migration.archive_parser import MigrationArchiveParser
|
||||
# [DEF:test_extract_objects_from_zip_collects_all_types:Function]
|
||||
# @RELATION: BINDS_TO -> TestArchiveParser
|
||||
# @PURPOSE: Verify archive parser collects dashboard/chart/dataset YAML objects into typed buckets.
|
||||
# @TEST_CONTRACT: zip_archive_fixture -> typed dashboard/chart/dataset extraction buckets
|
||||
# @TEST_SCENARIO: archive_with_supported_objects_extracts_all_types -> One YAML file per supported type lands in matching bucket.
|
||||
# @TEST_EDGE: missing_field -> Missing typed folder prevents that object class from being extracted.
|
||||
# @TEST_EDGE: invalid_type -> Unsupported file layout is ignored by typed extraction buckets.
|
||||
# @TEST_EDGE: external_fail -> Corrupt archive would fail extraction before typed buckets are returned.
|
||||
def test_extract_objects_from_zip_collects_all_types():
|
||||
parser = MigrationArchiveParser()
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# @COMPLEXITY: 3
|
||||
# @PURPOSE: Unit tests for MigrationDryRunService diff and risk computation contracts.
|
||||
# @LAYER: Domain
|
||||
# @RELATION: VERIFIES -> [MigrationDryRunOrchestratorModule]
|
||||
# @RELATION: DEPENDS_ON -> [MigrationDryRunOrchestratorModule]
|
||||
#
|
||||
import json
|
||||
import sys
|
||||
@@ -56,6 +56,11 @@ def _make_session():
|
||||
# [DEF:test_migration_dry_run_service_builds_diff_and_risk:Function]
|
||||
# @RELATION: BINDS_TO -> [TestDryRunOrchestrator]
|
||||
# @PURPOSE: Verify dry-run orchestration returns stable diff summary and required risk codes.
|
||||
# @TEST_SCENARIO: dry_run_builds_diff_and_risk -> Stable diff summary and required risk codes are returned.
|
||||
# @TEST_EDGE: missing_field -> Missing target datasource remains visible in risk items.
|
||||
# @TEST_EDGE: invalid_type -> Broken dataset reference remains visible in risk items.
|
||||
# @TEST_EDGE: external_fail -> Engine transform stub failure would stop result production.
|
||||
# @TEST_INVARIANT: dry_run_result_contract_matches_fixture -> VERIFIED_BY: [dry_run_builds_diff_and_risk]
|
||||
def test_migration_dry_run_service_builds_diff_and_risk():
|
||||
# @TEST_CONTRACT: dry_run_result_contract -> {
|
||||
# required_fields: {diff: object, summary: object, risk: object},
|
||||
|
||||
Reference in New Issue
Block a user