summaryrefslogtreecommitdiffhomepage
path: root/android/test
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-09-01 10:42:49 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-09-03 15:52:43 +0200
commite266d72875224a0522d50e55f0555a38deb45ff3 (patch)
treed5d07d35aab1c90f094fba9d77b935ce23071b8b /android/test
parentf9693d2fe31c0c50027f69f5bd930d30dfa5c764 (diff)
downloadmullvadvpn-e266d72875224a0522d50e55f0555a38deb45ff3.tar.xz
mullvadvpn-e266d72875224a0522d50e55f0555a38deb45ff3.zip
Add UI support for QUIC setting
Diffstat (limited to 'android/test')
-rw-r--r--android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt51
1 files changed, 51 insertions, 0 deletions
diff --git a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt
index 2d7757ace1..e9c503e5b6 100644
--- a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt
+++ b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/ConnectionTest.kt
@@ -241,6 +241,57 @@ class ConnectionTest : EndToEndTest() {
@Test
@HasDependencyOnLocalAPI
@ClearFirewallRules
+ fun testQuic() = runTest {
+ app.launchAndLogIn(accountTestRule.validAccountNumber)
+ on<ConnectPage> { enableLocalNetworkSharingStory() }
+
+ on<ConnectPage> { clickSelectLocation() }
+
+ on<SelectLocationPage> {
+ val quicRelay = relayProvider.getQuicRelay()
+ clickLocationExpandButton(quicRelay.country)
+ clickLocationExpandButton(quicRelay.city)
+ scrollUntilCell(quicRelay.relay)
+ clickLocationCell(quicRelay.relay)
+ }
+
+ device.acceptVpnPermissionDialog()
+
+ var relayIpAddress: String? = null
+
+ on<ConnectPage> {
+ waitForConnectedLabel()
+ relayIpAddress = extractInIpv4Address()
+ clickDisconnect()
+ }
+
+ // Block UDP traffic to the relay
+ val firewallRule = DropRule.blockWireGuardTrafficRule(relayIpAddress!!)
+ firewallClient.createRule(firewallRule)
+
+ // Enable QUIC
+ on<ConnectPage> { clickSettings() }
+
+ on<SettingsPage> { clickVpnSettings() }
+
+ on<VpnSettingsPage> {
+ scrollUntilWireGuardObfuscationQuicCell()
+ clickWireguardObfuscationQuicCell()
+ }
+
+ device.pressBack()
+ device.pressBack()
+
+ on<ConnectPage> {
+ clickConnect()
+ waitForConnectedLabel(timeout = EXTREMELY_LONG_TIMEOUT)
+ clickDisconnect()
+ }
+ }
+
+ @Test
+ @HasDependencyOnLocalAPI
+ @ClearFirewallRules
fun testShadowsocks() = runTest {
app.launchAndLogIn(accountTestRule.validAccountNumber)
on<ConnectPage> { enableLocalNetworkSharingStory() }