feat(github): read back private backup visibility evidence

This commit is contained in:
Your Name
2026-06-27 11:32:05 +08:00
parent 8fdcc0194f
commit c78b19d1dc
5 changed files with 213 additions and 12 deletions

View File

@@ -39,8 +39,8 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
assert sources["github_private_backup"]["schema_version"] == "github_target_private_backup_evidence_gate_v1"
assert sources["github_private_backup"]["missing_reason"] == ""
assert lanes["github"]["blocker_count"] == 9
assert lanes["github"]["status"] == "blocked_public_visibility_and_safe_credential_evidence_required"
assert lanes["github"]["metric"]["verified"] == 0
assert lanes["github"]["status"] == "blocked_private_visibility_and_safe_credential_evidence_required"
assert lanes["github"]["metric"]["verified"] == 4
assert lanes["github"]["metric"]["total"] == 9
assert all(0 <= lane["completion_percent"] <= 100 for lane in lanes.values())
assert all(lane["tone"] in {"ok", "warn", "danger"} for lane in lanes.values())

View File

@@ -17,10 +17,14 @@ def test_load_github_target_private_backup_evidence_gate_from_committed_snapshot
assert snapshot["schema_version"] == "github_target_private_backup_evidence_gate_v1"
assert snapshot["mode"] == "read_only_private_backup_evidence_gate"
assert snapshot["status"] == "blocked_public_visibility_and_safe_credential_evidence_required"
assert snapshot["status"] == "blocked_private_visibility_and_safe_credential_evidence_required"
assert snapshot["summary"]["target_decision_count"] == 10
assert snapshot["summary"]["approval_required_target_count"] == 9
assert snapshot["summary"]["private_backup_verified_count"] == 0
assert snapshot["summary"]["github_connector_readback_count"] == 9
assert snapshot["summary"]["github_connector_private_visibility_count"] == 4
assert snapshot["summary"]["github_connector_not_found_or_inaccessible_count"] == 5
assert snapshot["summary"]["private_backup_verified_count"] == 4
assert snapshot["summary"]["private_visibility_verified_count"] == 4
assert snapshot["summary"]["blocked_target_count"] == 9
assert snapshot["summary"]["public_repo_allowed"] is False
assert snapshot["summary"]["repo_creation_authorized"] is False
@@ -35,11 +39,14 @@ def test_load_github_target_private_backup_evidence_gate_from_committed_snapshot
targets = {target["github_repo"]: target for target in snapshot["targets"]}
assert targets["owenhytsai/awoooi"]["visibility_evidence_status"] == (
"blocked_public_probe_visible_private_evidence_required"
"verified_private_by_github_connector_readback"
)
assert targets["owenhytsai/awoooi"]["private_backup_verified"] is True
assert targets["owenhytsai/awoooi"]["github_connector_visibility"] == "private"
assert targets["owenhytsai/ewoooc"]["visibility_evidence_status"] == (
"blocked_private_or_absent_not_verified"
)
assert targets["owenhytsai/ewoooc"]["private_backup_verified"] is False
assert targets["nexu-io/open-design"]["visibility_evidence_status"] == (
"external_scope_not_backup_target"
)
@@ -74,5 +81,6 @@ def _copy_security_snapshots(tmp_path: Path) -> None:
"github-target-owner-decision-response.snapshot.json",
"github-target-repo-approval-package.snapshot.json",
"github-target-probe.snapshot.json",
"github-target-connector-readback.snapshot.json",
):
shutil.copy(source_dir / filename, tmp_path / filename)

View File

@@ -18,7 +18,11 @@ def test_github_target_private_backup_evidence_gate_endpoint_returns_read_only_g
assert data["schema_version"] == "github_target_private_backup_evidence_gate_v1"
assert data["mode"] == "read_only_private_backup_evidence_gate"
assert data["summary"]["approval_required_target_count"] == 9
assert data["summary"]["private_backup_verified_count"] == 0
assert data["summary"]["github_connector_readback_count"] == 9
assert data["summary"]["github_connector_private_visibility_count"] == 4
assert data["summary"]["github_connector_not_found_or_inaccessible_count"] == 5
assert data["summary"]["private_backup_verified_count"] == 4
assert data["summary"]["private_visibility_verified_count"] == 4
assert data["summary"]["blocked_target_count"] == 9
assert data["summary"]["public_repo_allowed"] is False
assert data["summary"]["repo_creation_authorized"] is False