diff options
| author | David Göransson <david.goransson@mullvad.net> | 2025-05-23 23:23:31 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2025-05-23 23:23:31 +0200 |
| commit | b6fb6213e0c68b84fece3dc97efcbbac3e10558c (patch) | |
| tree | 6c2955152862cbfdbd4cb5060c9f4edfc9f86a0e | |
| parent | 705ce9f5cf63dab6d1f43929fae955392df2be75 (diff) | |
| download | mullvadvpn-b6fb6213e0c68b84fece3dc97efcbbac3e10558c.tar.xz mullvadvpn-b6fb6213e0c68b84fece3dc97efcbbac3e10558c.zip | |
Increase timeout for long test
| -rw-r--r-- | android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LeakTest.kt | 88 |
1 files changed, 45 insertions, 43 deletions
diff --git a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LeakTest.kt b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LeakTest.kt index 35c6f323f0..c52ecd152b 100644 --- a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LeakTest.kt +++ b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/LeakTest.kt @@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn.test.e2e import androidx.test.platform.app.InstrumentationRegistry import kotlin.time.Duration.Companion.milliseconds +import kotlin.time.Duration.Companion.minutes import kotlinx.coroutines.delay import kotlinx.coroutines.test.runTest import net.mullvad.mullvadvpn.test.common.extension.acceptVpnPermissionDialog @@ -176,56 +177,57 @@ class LeakTest : EndToEndTest() { @Test @HasDependencyOnLocalAPI - fun testEnsureNoLeaksToSpecificHostWhenSwitchingBetweenVariousVpnSettings() = runTest { - app.launch() - // Obfuscation and Post-Quantum are by default set to automatic. Explicitly set to off. - on<ConnectPage> { disableObfuscationStory() } - on<ConnectPage> { disablePostQuantumStory() } - on<ConnectPage> { clickSelectLocation() } + fun testEnsureNoLeaksToSpecificHostWhenSwitchingBetweenVariousVpnSettings() = + runTest(timeout = 2.minutes) { + app.launch() + // Obfuscation and Post-Quantum are by default set to automatic. Explicitly set to off. + on<ConnectPage> { disableObfuscationStory() } + on<ConnectPage> { disablePostQuantumStory() } + on<ConnectPage> { clickSelectLocation() } - on<SelectLocationPage> { - clickLocationExpandButton(relayProvider.getDaitaRelay().country) - clickLocationExpandButton(relayProvider.getDaitaRelay().city) - clickLocationCell(relayProvider.getDaitaRelay().relay) - } + on<SelectLocationPage> { + clickLocationExpandButton(relayProvider.getDaitaRelay().country) + clickLocationExpandButton(relayProvider.getDaitaRelay().city) + clickLocationCell(relayProvider.getDaitaRelay().relay) + } - device.acceptVpnPermissionDialog() + device.acceptVpnPermissionDialog() - on<ConnectPage> { waitForConnectedLabel() } + on<ConnectPage> { waitForConnectedLabel() } - // Capture generated traffic to a specific host - val targetIpAddress = InstrumentationRegistry.getArguments().getTrafficGeneratorHost() - val targetPort = InstrumentationRegistry.getArguments().getTrafficGeneratorPort() - val captureResult: PacketCaptureResult = - PacketCapture().capturePackets { - TrafficGenerator(targetIpAddress, targetPort).generateTraffic(10.milliseconds) { - delay( - 1000.milliseconds - ) // Give it some time for generating traffic in tunnel before changing - // settings + // Capture generated traffic to a specific host + val targetIpAddress = InstrumentationRegistry.getArguments().getTrafficGeneratorHost() + val targetPort = InstrumentationRegistry.getArguments().getTrafficGeneratorPort() + val captureResult: PacketCaptureResult = + PacketCapture().capturePackets { + TrafficGenerator(targetIpAddress, targetPort).generateTraffic(10.milliseconds) { + delay( + 1000.milliseconds + ) // Give it some time for generating traffic in tunnel before changing + // settings - on<ConnectPage> { enableDAITAStory() } - on<ConnectPage> { enableShadowsocksStory() } - on<ConnectPage> { waitForConnectedLabel() } + on<ConnectPage> { enableDAITAStory() } + on<ConnectPage> { enableShadowsocksStory() } + on<ConnectPage> { waitForConnectedLabel() } - delay( - 1000.milliseconds - ) // Give it some time for generating traffic in tunnel after enabling - // settings + delay( + 1000.milliseconds + ) // Give it some time for generating traffic in tunnel after enabling + // settings + } } - } - val capturedStreams = captureResult.streams - val capturedPcap = captureResult.pcap - val timestamp = System.currentTimeMillis() - Attachment.saveAttachment( - "capture-${javaClass.enclosingMethod}-$timestamp.pcap", - capturedPcap, - ) + val capturedStreams = captureResult.streams + val capturedPcap = captureResult.pcap + val timestamp = System.currentTimeMillis() + Attachment.saveAttachment( + "capture-${javaClass.enclosingMethod}-$timestamp.pcap", + capturedPcap, + ) - NetworkTrafficChecker.checkTrafficStreamsAgainstRules( - capturedStreams, - NoTrafficToHostRule(targetIpAddress), - ) - } + NetworkTrafficChecker.checkTrafficStreamsAgainstRules( + capturedStreams, + NoTrafficToHostRule(targetIpAddress), + ) + } } |
