summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSebastian Holmin <sebastian.holmin@mullvad.net>2024-04-17 16:01:26 +0200
committerSebastian Holmin <sebastian.holmin@mullvad.net>2024-04-17 16:06:06 +0200
commitce59eb20d2cde53a829f891e5e0aca0938e654a8 (patch)
treeb5e0b3a6083685de454b47e4b936f971d4fb1373
parent1e0a5831e7d206e4c4b05cf7a0c2d1c69757563b (diff)
downloadmullvadvpn-ce59eb20d2cde53a829f891e5e0aca0938e654a8.tar.xz
mullvadvpn-ce59eb20d2cde53a829f891e5e0aca0938e654a8.zip
Add test
-rw-r--r--mullvad-relay-selector/tests/relay_selector.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/mullvad-relay-selector/tests/relay_selector.rs b/mullvad-relay-selector/tests/relay_selector.rs
index d92e7a72a9..7cf2329e9a 100644
--- a/mullvad-relay-selector/tests/relay_selector.rs
+++ b/mullvad-relay-selector/tests/relay_selector.rs
@@ -1296,3 +1296,30 @@ fn test_daita() {
),
}
}
+
+/// Check that if the original user query would yield a relay, the result of running the query
+/// which is the intersection between the user query and any of the default queries shall never
+/// fail.
+#[test]
+fn valid_user_setting_should_yield_relay() {
+ // Make a valid user relay constraint
+ let location = GeographicLocationConstraint::hostname("se", "got", "se9-wireguard");
+ let user_query = RelayQueryBuilder::new().location(location.clone()).build();
+ let user_constraints = RelayQueryBuilder::new()
+ .location(location.clone())
+ .into_constraint();
+
+ let config = SelectorConfig {
+ relay_settings: user_constraints.into(),
+ ..SelectorConfig::default()
+ };
+ let relay_selector = RelaySelector::from_list(config, RELAYS.clone());
+ let user_result = relay_selector.get_relay_by_query(user_query.clone());
+ for retry_attempt in 0..RETRY_ORDER.len() {
+ let post_unification_result =
+ relay_selector.get_relay(retry_attempt, RuntimeParameters::default());
+ if user_result.is_ok() {
+ assert!(post_unification_result.is_ok(), "Expected Post-unification query to be valid because original query {:#?} yielded a connection configuration", user_query)
+ }
+ }
+}