fix: tighten edge cases across services (#3158)

This commit is contained in:
Hampus
2026-10-03 13:04:29 +02:00
committed by GitHub
parent a9f7a23c0d
commit 4e6b837ccc
170 changed files with 2028 additions and 421 deletions
@@ -310,7 +310,7 @@ mod tests {
fn fixture_secrets(fixture: &Value) -> Vec<Vec<u8>> {
fixture["secrets_base64"]
.as_array()
.expect("the fixture carries a secret list")
.expect("the fixture has a secret list")
.iter()
.map(|entry| {
BASE64_STANDARD
@@ -323,20 +323,20 @@ mod tests {
fn cases<'a>(fixture: &'a Value, name: &str) -> &'a [Value] {
fixture[name]
.as_array()
.expect("the fixture carries the case list")
.expect("the fixture has the case list")
.as_slice()
}
fn text<'a>(case: &'a Value, field: &str) -> &'a str {
case[field]
.as_str()
.unwrap_or_else(|| panic!("case carries {field}"))
.unwrap_or_else(|| panic!("case has {field}"))
}
fn number(case: &Value, field: &str) -> u64 {
case[field]
.as_u64()
.unwrap_or_else(|| panic!("case carries {field}"))
.unwrap_or_else(|| panic!("case has {field}"))
}
fn secret_bytes() -> Vec<u8> {
@@ -443,7 +443,7 @@ mod tests {
data_packages += 1;
(UrlKind::DataPackage, 0, with_data_package_signature)
}
other => panic!("{name} carries an unknown uc {other}"),
other => panic!("{name} has an unknown uc {other}"),
};
assert_eq!(
text(case, "signature_input"),
@@ -548,7 +548,7 @@ mod tests {
let signed = with_signature("https://media.test/x.gif", KEY, ANCHOR, now, &secret);
let query = signed
.split_once('?')
.expect("a signed url carries a query")
.expect("a signed url has a query")
.1;
let (issued, expires) = issue_window(ANCHOR, now);
assert!(issued <= now && now < expires);
@@ -576,7 +576,7 @@ mod tests {
with_data_package_signature("https://media.test/x.gif", KEY, ANCHOR, now, &secret);
let query = signed
.split_once('?')
.expect("a signed url carries a query")
.expect("a signed url has a query")
.1;
let (issued, expires) = issue_window(ANCHOR, now);
assert!(query.starts_with(&format!("ex=0&is={issued:08x}&hm=")));
@@ -688,7 +688,7 @@ mod tests {
}
#[test]
fn a_signature_never_carries_across_keys_or_windows() {
fn a_signature_never_validates_across_keys_or_windows() {
let secret = secret_bytes();
let now = ANCHOR;
let (issued, expires) = issue_window(ANCHOR, now);
+3 -3
View File
@@ -609,14 +609,14 @@ mod tests {
let vectors = vectors.as_array().expect("vectors are an array");
assert!(!vectors.is_empty());
for vector in vectors {
let url = vector["url"].as_str().expect("vector carries a url");
let url = vector["url"].as_str().expect("vector has a url");
let base_domain = vector["base_domain"]
.as_str()
.expect("vector carries a base domain");
.expect("vector has a base domain");
let public_port = vector["public_port"].as_u64().map(|port| port as u16);
let expected = vector["normalized"]
.as_str()
.expect("vector carries a normalized url");
.expect("vector has a normalized url");
assert_eq!(
expected,
normalize_public_endpoint(url, base_domain, public_port),
+2 -2
View File
@@ -267,8 +267,8 @@ mod tests {
let vectors = vectors.as_array().expect("vectors are an array");
assert!(!vectors.is_empty());
for vector in vectors {
let original = vector["url"].as_str().expect("vector carries a url");
let expected = vector["path"].as_str().expect("vector carries a path");
let original = vector["url"].as_str().expect("vector has a url");
let expected = vector["path"].as_str().expect("vector has a path");
let normalized = url::Url::parse(original).expect("vector url parses");
assert_eq!(
expected,