fune/testing/web-platform/tests/fetch/http-cache/cc-request.any.js
Maxim Tsoy 35b8af8655 Bug 1673485 [wpt PR 26296] - Convert some Fetch tests to multi-global .any.js, a=testonly
Automatic update from web-platform-tests
Convert some Fetch tests to multi-global .any.js

Fixes #21163
--

wpt-commits: 9907f5871e78b10ba4e1d2e60c18c76977f18ec7
wpt-pr: 26296
2020-11-04 10:10:07 +00:00

202 lines
4.8 KiB
JavaScript

// META: global=window,worker
// META: title=HTTP Cache - Cache-Control Request Directives
// META: timeout=long
// META: script=/common/utils.js
// META: script=/common/get-host-info.sub.js
// META: script=http-cache.js
var tests = [
{
name: "HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=0",
requests: [
{
template: "fresh",
pause_after: true
},
{
request_headers: [
["Cache-Control", "max-age=0"]
],
expected_type: "not_cached"
}
]
},
{
name: "HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=1",
requests: [
{
template: "fresh",
pause_after: true
},
{
request_headers: [
["Cache-Control", "max-age=1"]
],
expected_type: "not_cached"
}
]
},
{
name: "HTTP cache doesn't use fresh response with Age header when request contains Cache-Control: max-age that is greater than remaining freshness",
requests: [
{
response_headers: [
["Cache-Control", "max-age=3600"],
["Age", "1800"]
]
},
{
request_headers: [
["Cache-Control", "max-age=600"]
],
expected_type: "not_cached"
}
]
},
{
name: "HTTP cache does use aged stale response when request contains Cache-Control: max-stale that permits its use",
requests: [
{
response_headers: [
["Cache-Control", "max-age=1"]
],
pause_after: true
},
{
request_headers: [
["Cache-Control", "max-stale=1000"]
],
expected_type: "cached"
}
]
},
{
name: "HTTP cache does reuse stale response with Age header when request contains Cache-Control: max-stale that permits its use",
requests: [
{
response_headers: [
["Cache-Control", "max-age=1500"],
["Age", "2000"]
]
},
{
request_headers: [
["Cache-Control", "max-stale=1000"]
],
expected_type: "cached"
}
]
},
{
name: "HTTP cache doesn't reuse fresh response when request contains Cache-Control: min-fresh that wants it fresher",
requests: [
{
response_headers: [
["Cache-Control", "max-age=1500"]
]
},
{
request_headers: [
["Cache-Control", "min-fresh=2000"]
],
expected_type: "not_cached"
}
]
},
{
name: "HTTP cache doesn't reuse fresh response with Age header when request contains Cache-Control: min-fresh that wants it fresher",
requests: [
{
response_headers: [
["Cache-Control", "max-age=1500"],
["Age", "1000"]
]
},
{
request_headers: [
["Cache-Control", "min-fresh=1000"]
],
expected_type: "not_cached"
}
]
},
{
name: "HTTP cache doesn't reuse fresh response when request contains Cache-Control: no-cache",
requests: [
{
response_headers: [
["Cache-Control", "max-age=3600"]
]
},
{
request_headers: [
["Cache-Control", "no-cache"]
],
expected_type: "not_cached"
}
]
},
{
name: "HTTP cache validates fresh response with Last-Modified when request contains Cache-Control: no-cache",
requests: [
{
response_headers: [
["Cache-Control", "max-age=3600"],
["Last-Modified", -10000]
]
},
{
request_headers: [
["Cache-Control", "no-cache"]
],
expected_type: "lm_validate"
}
]
},
{
name: "HTTP cache validates fresh response with ETag when request contains Cache-Control: no-cache",
requests: [
{
response_headers: [
["Cache-Control", "max-age=3600"],
["ETag", http_content("abc")]
]
},
{
request_headers: [
["Cache-Control", "no-cache"]
],
expected_type: "etag_validate"
}
]
},
{
name: "HTTP cache doesn't reuse fresh response when request contains Cache-Control: no-store",
requests: [
{
response_headers: [
["Cache-Control", "max-age=3600"]
]
},
{
request_headers: [
["Cache-Control", "no-store"]
],
expected_type: "not_cached"
}
]
},
{
name: "HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached",
requests: [
{
request_headers: [
["Cache-Control", "only-if-cached"]
],
expected_status: 504,
expected_response_text: null
}
]
}
];
run_tests(tests);