Files
games/crates/common/game-realtime-webtransport-lib/unit_tests/config.rs
2026-09-21 23:37:18 +02:00

27 lines
1.0 KiB
Rust

// file: crates/common/game-realtime-webtransport-lib/unit_tests/config.rs
// version: 1
#[test]
fn defaults_are_valid_and_preserve_the_one_mib_baseline() {
let config = super::WebTransportConfig::default();
assert!(config.validate().is_ok());
assert_eq!(config.max_message_size(), 1024 * 1024);
}
#[test]
fn zero_limits_and_deadlines_are_rejected() {
let cases = [
super::WebTransportConfig::default().with_max_message_size(0),
super::WebTransportConfig::default().with_connect_timeout(std::time::Duration::ZERO),
super::WebTransportConfig::default().with_primary_stream_timeout(std::time::Duration::ZERO),
super::WebTransportConfig::default().with_send_timeout(std::time::Duration::ZERO),
];
for config in cases {
let result = config.validate();
match result {
Ok(()) => panic!("invalid WebTransport configuration unexpectedly accepted"),
Err(error) => assert_eq!(error.kind(), game_realtime_transport_lib::TransportErrorKind::InvalidConfiguration),
}
}
}