summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorOskar <oskar@mullvad.net>2025-02-14 16:40:33 +0100
committerOskar <oskar@mullvad.net>2025-02-14 16:40:33 +0100
commit083d06db318ebdcb670d5b1ad5662a4c9df417c2 (patch)
treea1345edac65a600d3f6ed34edb61ac7c6457bad1 /test
parentc029561136bac007ba5dd350f5e3b60e703a2e42 (diff)
parent8e721e69dee35ef90a6b5b4b9d6caa0ae33a8256 (diff)
downloadmullvadvpn-083d06db318ebdcb670d5b1ad5662a4c9df417c2.tar.xz
mullvadvpn-083d06db318ebdcb670d5b1ad5662a4c9df417c2.zip
Merge branch 'improve-tunnel-state-test'
Diffstat (limited to 'test')
-rw-r--r--test/test-manager/src/tests/ui.rs25
1 files changed, 24 insertions, 1 deletions
diff --git a/test/test-manager/src/tests/ui.rs b/test/test-manager/src/tests/ui.rs
index 088fd1e55d..84d84d9af1 100644
--- a/test/test-manager/src/tests/ui.rs
+++ b/test/test-manager/src/tests/ui.rs
@@ -1,6 +1,7 @@
use super::{config::TEST_CONFIG, helpers, Error, TestContext};
use mullvad_management_interface::MullvadProxyClient;
use mullvad_relay_selector::query::builder::RelayQueryBuilder;
+use mullvad_types::{constraints::Constraint, relay_constraints::RelaySettings};
use std::{
collections::BTreeMap,
fmt::Debug,
@@ -101,7 +102,7 @@ pub async fn test_ui_tunnel_settings(
let ui_result = run_test_env(
&rpc,
- &["tunnel-state.spec"],
+ &["state-dependent/tunnel-state.spec"],
[
("HOSTNAME", entry.hostname.as_str()),
("IN_IP", &entry.ipv4_addr_in.to_string()),
@@ -118,6 +119,28 @@ pub async fn test_ui_tunnel_settings(
Ok(())
}
+/// Test how various tunnel settings for OpenVPN are handled and displayed by the GUI
+#[test_function]
+pub async fn test_ui_openvpn_tunnel_settings(
+ _: TestContext,
+ rpc: ServiceClient,
+ mut mullvad_client: MullvadProxyClient,
+) -> anyhow::Result<()> {
+ // openvpn-tunnel-state.spec precondition: OpenVPN needs to be selected
+ let relay_settings = mullvad_client.get_settings().await?.get_relay_settings();
+ let RelaySettings::Normal(mut constraints) = relay_settings else {
+ unimplemented!()
+ };
+ constraints.tunnel_protocol = Constraint::Only(talpid_types::net::TunnelType::OpenVpn);
+ mullvad_client
+ .set_relay_settings(RelaySettings::Normal(constraints))
+ .await?;
+
+ let ui_result = run_test(&rpc, &["openvpn-tunnel-state.spec"]).await?;
+ assert!(ui_result.success());
+ Ok(())
+}
+
/// Test whether logging in and logging out work in the GUI
#[test_function(priority = 500)]
pub async fn test_ui_login(