diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-05-09 17:18:05 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-05-09 17:19:34 +0200 |
| commit | 615972c357a3a89d4e74d031eb19b3f1d6069432 (patch) | |
| tree | df6a785f11dc5c4c99ded7bab1831b48acba8f6f | |
| parent | aba2777f4357f43c9ae9d8985e67a0e0d7490ba0 (diff) | |
| download | mullvadvpn-615972c357a3a89d4e74d031eb19b3f1d6069432.tar.xz mullvadvpn-615972c357a3a89d4e74d031eb19b3f1d6069432.zip | |
Add unit test for server ownership constraint
| -rw-r--r-- | mullvad-relay-selector/src/lib.rs | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/mullvad-relay-selector/src/lib.rs b/mullvad-relay-selector/src/lib.rs index 2b34d105a7..e21eee96fc 100644 --- a/mullvad-relay-selector/src/lib.rs +++ b/mullvad-relay-selector/src/lib.rs @@ -1296,7 +1296,7 @@ mod test { ipv6_addr_in: Some("2a03:1b20:5:f011::a10f".parse().unwrap()), include_in_country: true, active: true, - owned: true, + owned: false, provider: "31173".to_string(), weight: 1, tunnels: RelayTunnels { @@ -1894,4 +1894,35 @@ mod test { .get_tunnel_endpoint(&constraints, BridgeState::Off, 0) .expect_err("Successfully selected a relay that should be filtered"); } + + #[test] + fn test_ownership() { + let relay_selector = new_relay_selector(); + let mut constraints = RelayConstraints::default(); + for i in 0..10 { + constraints.ownership = Constraint::Only(Ownership::MullvadOwned); + let relay = relay_selector + .get_tunnel_endpoint(&constraints, BridgeState::Auto, i) + .unwrap(); + assert!(matches!( + relay, + NormalSelectedRelay { + exit_relay: Relay { owned: true, .. }, + .. + } + )); + + constraints.ownership = Constraint::Only(Ownership::Rented); + let relay = relay_selector + .get_tunnel_endpoint(&constraints, BridgeState::Auto, i) + .unwrap(); + assert!(matches!( + relay, + NormalSelectedRelay { + exit_relay: Relay { owned: false, .. }, + .. + } + )); + } + } } |
