///|
test "audit flags unknown unit" {
assert_true(
has_finding(
audit_range_request(unwrap_request("items=1-2")),
UnknownRangeUnit,
),
)
}
///|
test "audit flags zero suffix" {
assert_true(
has_finding(
audit_range_request(unwrap_request("bytes=-0")),
ZeroLengthSuffix,
),
)
}
///|
test "audit flags large numeric value" {
assert_true(
has_finding(
audit_range_request(unwrap_request("bytes=1000000000001-")),
LargeNumericValue,
),
)
}
///|
test "audit flags many small ranges" {
assert_true(
has_finding(
audit_range_request(
unwrap_request("bytes=0-0,2-2,4-4,6-6"),
representation_length=10L,
),
ManySmallRanges,
),
)
}
///|
test "audit flags descending ranges" {
assert_true(
has_finding(
audit_range_request(
unwrap_request("bytes=50-59,0-9"),
representation_length=100L,
),
DescendingOrder,
),
)
}
///|
test "audit flags duplicate ranges" {
assert_true(
has_finding(
audit_range_request(
unwrap_request("bytes=0-9,0-9"),
representation_length=100L,
),
DuplicateRanges,
),
)
}
///|
test "audit flags overlapping ranges" {
assert_true(
has_finding(
audit_range_request(
unwrap_request("bytes=0-9,5-15"),
representation_length=100L,
),
OverlappingRanges,
),
)
}
///|
test "audit flags adjacent ranges" {
assert_true(
has_finding(
audit_range_request(
unwrap_request("bytes=0-9,10-19"),
representation_length=100L,
),
AdjacentRanges,
),
)
}
///|
test "audit reports large header" {
let raw = "bytes=" + "0-0,".repeat(300) + "1-1"
let request = unwrap_request("bytes=0-0")
assert_true(
has_finding(audit_range_request(request, raw_input=raw), LargeHeader),
)
}
///|
test "ordinary range audit is clean" {
assert_true(
audit_range_request(
unwrap_request("bytes=0-499"),
representation_length=1_000L,
).is_clean(),
)
}