summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-05-23 23:23:31 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-05-23 23:23:31 +0200
commitb6fb6213e0c68b84fece3dc97efcbbac3e10558c (patch)
tree6c2955152862cbfdbd4cb5060c9f4edfc9f86a0e
parent705ce9f5cf63dab6d1f43929fae955392df2be75 (diff)
downloadmullvadvpn-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.kt88
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),
+ )
+ }
}