fix(observatory): offer only uncalculated profiles without completion badges
This commit is contained in:
@@ -202,6 +202,31 @@ def _reconciliation_request(
|
||||
)
|
||||
|
||||
|
||||
def test_list_filters_definition_before_page_limit(tmp_path: Path) -> None:
|
||||
previous = _definitions().definitions[0]
|
||||
current = replace(previous, definition_version=2, definition_sha256="0" * 64)
|
||||
now = NOW
|
||||
queue = ObservatoryRecordedJobQueue(
|
||||
tmp_path, definitions=RecordedRunDefinitionRegistry((previous, current)),
|
||||
clock=lambda: now,
|
||||
)
|
||||
first, _ = queue.submit(_intent())
|
||||
now = "2026-08-30T21:01:00.000Z"
|
||||
queue.submit(
|
||||
replace(
|
||||
_intent(idempotency_key="new-definition"),
|
||||
definition_sha256=current.definition_sha256,
|
||||
),
|
||||
)
|
||||
assert queue.list_jobs(limit=1)[0].definition_sha256 == current.definition_sha256
|
||||
assert queue.list_jobs(
|
||||
source_session_id=first.source_session_id, setup_id=previous.setup_id,
|
||||
definition_sha256=previous.definition_sha256, limit=1,
|
||||
) == (first,)
|
||||
with pytest.raises(ValueError):
|
||||
queue.list_jobs(definition_sha256="not-a-digest")
|
||||
|
||||
|
||||
@pytest.mark.parametrize("enqueue", [False, True])
|
||||
def test_portable_duplicate_guard_preserves_original_request(
|
||||
tmp_path: Path,
|
||||
|
||||
@@ -228,6 +228,25 @@ def test_exact_m49_preflight_is_queueable_and_submit_is_idempotently_queued(
|
||||
]
|
||||
assert queue.admission_gate().blocked is False
|
||||
|
||||
for digest, count in ((definition.definition_sha256, 1), ("f" * 64, 0)):
|
||||
exact = client.get(
|
||||
"/api/v1/observatory/runs",
|
||||
params={
|
||||
"source_session_id": RAV00_SESSION_ID, "setup_id": SETUP_ID,
|
||||
"definition_sha256": digest,
|
||||
},
|
||||
)
|
||||
assert exact.status_code == 200
|
||||
assert len(exact.json()["items"]) == count
|
||||
malformed = client.get(
|
||||
"/api/v1/observatory/runs",
|
||||
params={
|
||||
"source_session_id": RAV00_SESSION_ID, "setup_id": SETUP_ID,
|
||||
"definition_sha256": "not-a-digest",
|
||||
},
|
||||
)
|
||||
assert malformed.status_code == 422
|
||||
|
||||
|
||||
def test_recorded_run_routes_fail_closed_when_queue_initialization_failed() -> None:
|
||||
registry = LaboratorySetupRegistry.from_file(
|
||||
|
||||
Reference in New Issue
Block a user