Add 8-hour default window for legacy-meter deploy monitoring
Expose hours query param on /legacy-meter/summary and weekly-review; capture_legacy_meter_evidence.py defaults to --hours 8 (--days 7 for weekly retirement gate). Re-capture post-deploy evidence with tighter window.
This commit is contained in:
parent
674479dcc7
commit
e302ca9f59
7 changed files with 252 additions and 90 deletions
|
|
@ -93,6 +93,25 @@ class TestWorkplanAliasesAndLegacyMeter:
|
|||
assert item["window"]["components"] == {"old-client": 1}
|
||||
assert item["retirement_candidate"] is False
|
||||
|
||||
async def test_weekly_review_accepts_hours_window(self, client):
|
||||
r = await client.post("/legacy-meter/interfaces", json={
|
||||
"interface_key": "rest_api:GET /hour-window",
|
||||
"interface_kind": "rest_api",
|
||||
"replacement_ref": "/workplans/",
|
||||
"replacement_verified": True,
|
||||
})
|
||||
assert r.status_code == 201, r.text
|
||||
|
||||
review = (await client.get("/legacy-meter/weekly-review?hours=8")).json()
|
||||
window_seconds = (
|
||||
datetime.fromisoformat(review["window_end"].replace("Z", "+00:00"))
|
||||
- datetime.fromisoformat(review["window_start"].replace("Z", "+00:00"))
|
||||
).total_seconds()
|
||||
assert 8 * 3600 - 5 <= window_seconds <= 8 * 3600 + 5
|
||||
|
||||
bad = await client.get("/legacy-meter/weekly-review?days=7&hours=8")
|
||||
assert bad.status_code == 422
|
||||
|
||||
async def test_weekly_review_reports_unused_verified_legacy_interface(self, client):
|
||||
r = await client.post("/legacy-meter/interfaces", json={
|
||||
"interface_key": "rest_api:GET /obsolete",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue