31 lines
1.0 KiB
Rust
31 lines
1.0 KiB
Rust
use super::*;
|
|
|
|
#[test]
|
|
fn strict_negotiation_accepts_identical_params() {
|
|
let config = ClientConfig::default();
|
|
let params = params_from_config(&config).unwrap();
|
|
assert!(validate_negotiated_params(¶ms, ¶ms, NegotiationPolicy::Strict).is_ok());
|
|
}
|
|
|
|
#[test]
|
|
fn strict_negotiation_rejects_changed_params() {
|
|
let config = ClientConfig::default();
|
|
let requested = params_from_config(&config).unwrap();
|
|
let mut returned = requested.clone();
|
|
returned.dscp = 1;
|
|
assert!(matches!(
|
|
validate_negotiated_params(&requested, &returned, NegotiationPolicy::Strict),
|
|
Err(ClientError::NegotiationRejected { .. })
|
|
));
|
|
}
|
|
|
|
#[test]
|
|
fn loose_negotiation_accepts_server_restricted_params() {
|
|
let config = ClientConfig::default();
|
|
let requested = params_from_config(&config).unwrap();
|
|
let mut returned = requested.clone();
|
|
returned.duration_ns /= 2;
|
|
returned.length = 0;
|
|
assert!(validate_negotiated_params(&requested, &returned, NegotiationPolicy::Loose).is_ok());
|
|
}
|