Problem
interim-not-cached is declared kind: 'required' but asserts nothing.
https://github.com/http-tests/cache-tests/blob/main/tests/interim.mjs#L58-L87
The cache-hit (second) request sets expected_interim_responses: []. The checker iterates that array:
https://github.com/http-tests/cache-tests/blob/main/test-engine/client/test.mjs#L199-L226
if ('expected_interim_responses' in reqConfig) {
const isSetup = setupCheck(reqConfig, 'expected_interim_responses')
reqConfig.expected_interim_responses.forEach(...) // empty array => zero assertions
}
An empty array runs zero forEach iterations, so a cache that wrongly stored and replayed the 103 interim on the cache hit would still pass this required test.
Root cause
The framework only ever verifies that expected interim responses are present. There is no "assert no unexpected interim was received" path, so expected_interim_responses: [] cannot express the negative the test name requires.
Suggested fix
Add a negative check: when expected_interim_responses is present, also assert that no interim responses were received beyond those expected (i.e. interimResponses.length === reqConfig.expected_interim_responses.length). That makes the empty-array case meaningful and enforces interim-not-cached.
Filed from an AI-assisted (Claude Code) review of the tests, with each finding verified by hand and reviewed by a human before filing.
Problem
interim-not-cachedis declaredkind: 'required'but asserts nothing.https://github.com/http-tests/cache-tests/blob/main/tests/interim.mjs#L58-L87
The cache-hit (second) request sets
expected_interim_responses: []. The checker iterates that array:https://github.com/http-tests/cache-tests/blob/main/test-engine/client/test.mjs#L199-L226
An empty array runs zero
forEachiterations, so a cache that wrongly stored and replayed the103interim on the cache hit would still pass thisrequiredtest.Root cause
The framework only ever verifies that expected interim responses are present. There is no "assert no unexpected interim was received" path, so
expected_interim_responses: []cannot express the negative the test name requires.Suggested fix
Add a negative check: when
expected_interim_responsesis present, also assert that no interim responses were received beyond those expected (i.e.interimResponses.length === reqConfig.expected_interim_responses.length). That makes the empty-array case meaningful and enforcesinterim-not-cached.Filed from an AI-assisted (Claude Code) review of the tests, with each finding verified by hand and reviewed by a human before filing.