27 lines
1.0 KiB
Rust
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),
|
|
}
|
|
}
|
|
}
|