forked from BasedHardware/omi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_check_python_backend_blessing.py
More file actions
executable file
·119 lines (99 loc) · 3.59 KB
/
Copy pathtest_check_python_backend_blessing.py
File metadata and controls
executable file
·119 lines (99 loc) · 3.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/usr/bin/env python3
"""Tests for Python backend blessing gate."""
from __future__ import annotations
import json
import subprocess
import sys
from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parents[2]
SCRIPT = REPO_ROOT / ".github/scripts/check-python-backend-blessing.py"
def run_check(release: dict, sha: str, *extra: str) -> subprocess.CompletedProcess[str]:
release_path = Path("/tmp/python-backend-blessing-test.json")
release_path.write_text(json.dumps(release), encoding="utf-8")
return subprocess.run(
[sys.executable, str(SCRIPT), "--release-json", str(release_path), "--target-sha", sha, *extra],
text=True,
capture_output=True,
)
def blessing_release(sha: str, metadata: dict[str, str]) -> dict:
lines = ["KEY_VALUE_START", *[f"{key}: {value}" for key, value in metadata.items()], "KEY_VALUE_END"]
return {
"tagName": f"python-backend-bless-{sha}",
"isDraft": False,
"isPrerelease": False,
"body": "\n".join(lines),
"assets": [{"name": f"python-backend-bless-evidence-{sha}.json"}],
}
def test_blessed_backend_passes() -> None:
sha = "a" * 40
release = blessing_release(
sha,
{
"blessed.python-backend": "true",
"blessed.python-backend.sha": sha,
"blessed.python-backend.at": "2026-07-07T00:00:00Z",
"blessed.python-backend.tier": "unit+workflow-contracts+openapi",
"blessed.python-backend.evidence": f"python-backend-bless-evidence-{sha}.json",
},
)
result = run_check(release, sha)
assert result.returncode == 0, result.stderr
def test_unblessed_backend_fails() -> None:
sha = "b" * 40
release = blessing_release(
sha,
{
"blessed.python-backend.sha": sha,
"blessed.python-backend.at": "2026-07-07T00:00:00Z",
},
)
result = run_check(release, sha)
assert result.returncode != 0
assert "python-backend" in result.stderr
def test_sha_mismatch_fails() -> None:
sha = "c" * 40
release = blessing_release(
sha,
{
"blessed.python-backend": "true",
"blessed.python-backend.sha": "d" * 40,
"blessed.python-backend.at": "2026-07-07T00:00:00Z",
},
)
result = run_check(release, sha)
assert result.returncode != 0
assert "does not match" in result.stderr
def test_tag_sha_mismatch_fails() -> None:
sha = "f" * 40
release = blessing_release(
sha,
{
"blessed.python-backend": "true",
"blessed.python-backend.sha": sha,
"blessed.python-backend.at": "2026-07-07T00:00:00Z",
"blessed.python-backend.evidence": f"python-backend-bless-evidence-{sha}.json",
},
)
result = run_check(release, sha, "--tag-sha", "0" * 40)
assert result.returncode != 0
assert "tag sha" in result.stderr
def test_override_requires_typed_confirm() -> None:
sha = "e" * 40
release = {"tagName": "wrong-tag", "body": ""}
result = run_check(release, sha, "--override-unblessed", "--override-confirm", "nope")
assert result.returncode != 0
override = run_check(
release,
sha,
"--override-unblessed",
"--override-confirm",
"I-ACCEPT-UNBLESSED-PROD-RISK",
)
assert override.returncode == 0, override.stderr
if __name__ == "__main__":
test_blessed_backend_passes()
test_unblessed_backend_fails()
test_sha_mismatch_fails()
test_tag_sha_mismatch_fails()
test_override_requires_typed_confirm()
print("check-python-backend-blessing tests OK")