fix: commit semantic repair changes
This commit is contained in:
@@ -36,17 +36,27 @@ def valid_candidate_data():
|
||||
"source_snapshot_ref": "v1.0.0-snapshot"
|
||||
}
|
||||
|
||||
# [DEF:test_release_candidate_valid:Function]
|
||||
# @RELATION: BINDS_TO -> __tests__/test_clean_release
|
||||
# @PURPOSE: Verify that a valid release candidate can be instantiated.
|
||||
def test_release_candidate_valid(valid_candidate_data):
|
||||
rc = ReleaseCandidate(**valid_candidate_data)
|
||||
assert rc.candidate_id == "RC-001"
|
||||
assert rc.status == ReleaseCandidateStatus.DRAFT
|
||||
|
||||
# [/DEF:test_release_candidate_valid:Function]
|
||||
|
||||
# [DEF:test_release_candidate_empty_id:Function]
|
||||
# @RELATION: BINDS_TO -> __tests__/test_clean_release
|
||||
# @PURPOSE: Verify that a release candidate with an empty ID is rejected.
|
||||
def test_release_candidate_empty_id(valid_candidate_data):
|
||||
valid_candidate_data["candidate_id"] = " "
|
||||
with pytest.raises(ValueError, match="candidate_id must be non-empty"):
|
||||
ReleaseCandidate(**valid_candidate_data)
|
||||
|
||||
# @TEST_FIXTURE: valid_enterprise_policy
|
||||
# [/DEF:test_release_candidate_empty_id:Function]
|
||||
|
||||
@pytest.fixture
|
||||
def valid_policy_data():
|
||||
return {
|
||||
@@ -61,17 +71,30 @@ def valid_policy_data():
|
||||
}
|
||||
|
||||
# @TEST_INVARIANT: policy_purity
|
||||
# [DEF:test_enterprise_policy_valid:Function]
|
||||
# @RELATION: BINDS_TO -> __tests__/test_clean_release
|
||||
# @PURPOSE: Verify that a valid enterprise policy is accepted.
|
||||
def test_enterprise_policy_valid(valid_policy_data):
|
||||
policy = CleanProfilePolicy(**valid_policy_data)
|
||||
assert policy.external_source_forbidden is True
|
||||
|
||||
# @TEST_EDGE: enterprise_policy_missing_prohibited
|
||||
# [/DEF:test_enterprise_policy_valid:Function]
|
||||
|
||||
# [DEF:test_enterprise_policy_missing_prohibited:Function]
|
||||
# @RELATION: BINDS_TO -> __tests__/test_clean_release
|
||||
# @PURPOSE: Verify that an enterprise policy without prohibited categories is rejected.
|
||||
def test_enterprise_policy_missing_prohibited(valid_policy_data):
|
||||
valid_policy_data["prohibited_artifact_categories"] = []
|
||||
with pytest.raises(ValueError, match="enterprise-clean policy requires prohibited_artifact_categories"):
|
||||
CleanProfilePolicy(**valid_policy_data)
|
||||
|
||||
# @TEST_EDGE: enterprise_policy_external_allowed
|
||||
# [/DEF:test_enterprise_policy_missing_prohibited:Function]
|
||||
|
||||
# [DEF:test_enterprise_policy_external_allowed:Function]
|
||||
# @RELATION: BINDS_TO -> __tests__/test_clean_release
|
||||
# @PURPOSE: Verify that an enterprise policy allowing external sources is rejected.
|
||||
def test_enterprise_policy_external_allowed(valid_policy_data):
|
||||
valid_policy_data["external_source_forbidden"] = False
|
||||
with pytest.raises(ValueError, match="enterprise-clean policy requires external_source_forbidden=true"):
|
||||
@@ -79,6 +102,11 @@ def test_enterprise_policy_external_allowed(valid_policy_data):
|
||||
|
||||
# @TEST_INVARIANT: manifest_consistency
|
||||
# @TEST_EDGE: manifest_count_mismatch
|
||||
# [/DEF:test_enterprise_policy_external_allowed:Function]
|
||||
|
||||
# [DEF:test_manifest_count_mismatch:Function]
|
||||
# @RELATION: BINDS_TO -> __tests__/test_clean_release
|
||||
# @PURPOSE: Verify that a manifest with count mismatches is rejected.
|
||||
def test_manifest_count_mismatch():
|
||||
summary = ManifestSummary(included_count=1, excluded_count=0, prohibited_detected_count=0)
|
||||
item = ManifestItem(path="p", category="c", classification=ClassificationType.ALLOWED, reason="r")
|
||||
@@ -101,6 +129,11 @@ def test_manifest_count_mismatch():
|
||||
|
||||
# @TEST_INVARIANT: run_integrity
|
||||
# @TEST_EDGE: compliant_run_stage_fail
|
||||
# [/DEF:test_manifest_count_mismatch:Function]
|
||||
|
||||
# [DEF:test_compliant_run_validation:Function]
|
||||
# @RELATION: BINDS_TO -> __tests__/test_clean_release
|
||||
# @PURPOSE: Verify compliant run validation logic and mandatory stage checks.
|
||||
def test_compliant_run_validation():
|
||||
base_run = {
|
||||
"check_run_id": "run1",
|
||||
@@ -130,6 +163,11 @@ def test_compliant_run_validation():
|
||||
with pytest.raises(ValueError, match="compliant run requires all mandatory stages"):
|
||||
ComplianceCheckRun(**base_run)
|
||||
|
||||
# [/DEF:test_compliant_run_validation:Function]
|
||||
|
||||
# [DEF:test_report_validation:Function]
|
||||
# @RELATION: BINDS_TO -> __tests__/test_clean_release
|
||||
# @PURPOSE: Verify compliance report validation based on status and violation counts.
|
||||
def test_report_validation():
|
||||
# Valid blocked report
|
||||
ComplianceReport(
|
||||
@@ -147,3 +185,4 @@ def test_report_validation():
|
||||
operator_summary="Blocked", structured_payload_ref="ref",
|
||||
violations_count=2, blocking_violations_count=0
|
||||
)
|
||||
# [/DEF:test_report_validation:Function]
|
||||
|
||||
Reference in New Issue
Block a user