diff options
| author | Oskar <oskar@mullvad.net> | 2025-02-14 16:40:33 +0100 |
|---|---|---|
| committer | Oskar <oskar@mullvad.net> | 2025-02-14 16:40:33 +0100 |
| commit | 083d06db318ebdcb670d5b1ad5662a4c9df417c2 (patch) | |
| tree | a1345edac65a600d3f6ed34edb61ac7c6457bad1 /test | |
| parent | c029561136bac007ba5dd350f5e3b60e703a2e42 (diff) | |
| parent | 8e721e69dee35ef90a6b5b4b9d6caa0ae33a8256 (diff) | |
| download | mullvadvpn-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.rs | 25 |
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( |
