use super::body::warn_slow_tarball;
use std::time::Duration;
#[test]
fn zero_threshold_disables_warning() {
warn_slow_tarball(
0,
"https://example.com/pkg.tgz",
1024,
Duration::from_secs(10),
);
}
#[test]
fn sub_second_transfer_skipped_to_avoid_handshake_noise() {
warn_slow_tarball(
50,
"https://example.com/quick.tgz",
2048,
Duration::from_millis(500),
);
}
#[test]
fn exactly_one_second_skipped() {
warn_slow_tarball(
50,
"https://example.com/boundary.tgz",
10_240,
Duration::from_secs(1),
);
}
#[test]
fn zero_elapsed_skipped_to_avoid_division_by_zero() {
warn_slow_tarball(50, "https://example.com/fast.tgz", 10_240, Duration::ZERO);
}
#[test]
fn fast_download_does_not_warn() {
warn_slow_tarball(
50,
"https://example.com/pkg.tgz",
10 * 1024 * 1024,
Duration::from_secs(2),
);
}
#[test]
fn slow_download_triggers_warning_path() {
warn_slow_tarball(
50,
"https://example.com/slow.tgz",
10_240,
Duration::from_secs(2),
);
}