diff options
| author | Albin <albin@mullvad.net> | 2024-01-18 22:36:40 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2024-01-18 22:36:40 +0100 |
| commit | 6e7f6eb0b99b7c1b2bf700f4ea92337065e2903f (patch) | |
| tree | 253c6af0397a20b46646cfab7f6ac6d9d563f208 /android/test/common | |
| parent | 8f8e8c4699237ce6f254c0d6b7f02657dc4224ca (diff) | |
| parent | 9157306570bdb1c11850d5e30222504f86f2ba79 (diff) | |
| download | mullvadvpn-6e7f6eb0b99b7c1b2bf700f4ea92337065e2903f.tar.xz mullvadvpn-6e7f6eb0b99b7c1b2bf700f4ea92337065e2903f.zip | |
Merge branch 'run-stagemole-connect-test-in-firebase-droid-593'
Diffstat (limited to 'android/test/common')
3 files changed, 32 insertions, 10 deletions
diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/annotation/SkipForFlavors.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/annotation/SkipForFlavors.kt new file mode 100644 index 0000000000..f1d3a990a1 --- /dev/null +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/annotation/SkipForFlavors.kt @@ -0,0 +1,25 @@ +package net.mullvad.mullvadvpn.test.common.annotation + +import org.junit.jupiter.api.extension.ConditionEvaluationResult +import org.junit.jupiter.api.extension.ExecutionCondition +import org.junit.jupiter.api.extension.ExtendWith +import org.junit.jupiter.api.extension.ExtensionContext + +@Retention(AnnotationRetention.RUNTIME) +@ExtendWith(SkipForFlavors.FlavorCondition::class) +annotation class SkipForFlavors(val currentFlavor: String, vararg val skipForFlavors: String) { + class FlavorCondition : ExecutionCondition { + override fun evaluateExecutionCondition(p0: ExtensionContext?): ConditionEvaluationResult { + val annotation = p0?.element?.get()?.getAnnotation(SkipForFlavors::class.java) + return if (annotation?.skipForFlavors?.contains(annotation.currentFlavor) == true) { + ConditionEvaluationResult.disabled( + "Skipping test for flavor: ${annotation.currentFlavor}" + ) + } else { + ConditionEvaluationResult.enabled( + "Running test for flavor: ${annotation?.currentFlavor}" + ) + } + } + } +} diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/constant/AppConstants.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/constant/AppConstants.kt deleted file mode 100644 index 05b47ef99b..0000000000 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/constant/AppConstants.kt +++ /dev/null @@ -1,6 +0,0 @@ -package net.mullvad.mullvadvpn.test.common.constant - -const val MULLVAD_PACKAGE = "net.mullvad.mullvadvpn" -const val SETTINGS_COG_ID = "net.mullvad.mullvadvpn:id/settings" -const val TUNNEL_INFO_ID = "net.mullvad.mullvadvpn:id/tunnel_info" -const val TUNNEL_OUT_ADDRESS_ID = "net.mullvad.mullvadvpn:id/out_address" diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt index 1608f28bcf..fd976887ce 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/interactor/AppInteractor.kt @@ -13,12 +13,15 @@ import net.mullvad.mullvadvpn.test.common.constant.CONNECTION_TIMEOUT import net.mullvad.mullvadvpn.test.common.constant.DEFAULT_INTERACTION_TIMEOUT import net.mullvad.mullvadvpn.test.common.constant.LOGIN_PROMPT_TIMEOUT import net.mullvad.mullvadvpn.test.common.constant.LOGIN_TIMEOUT -import net.mullvad.mullvadvpn.test.common.constant.MULLVAD_PACKAGE import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout -class AppInteractor(private val device: UiDevice, private val targetContext: Context) { +class AppInteractor( + private val device: UiDevice, + private val targetContext: Context, + private val targetPackageName: String +) { fun launch(customApiEndpointConfiguration: CustomApiEndpointConfiguration? = null) { device.pressHome() // Wait for launcher @@ -28,7 +31,7 @@ class AppInteractor(private val device: UiDevice, private val targetContext: Con ) val intent = - targetContext.packageManager.getLaunchIntentForPackage(MULLVAD_PACKAGE)?.apply { + targetContext.packageManager.getLaunchIntentForPackage(targetPackageName)?.apply { // Clear out any previous instances addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) if (customApiEndpointConfiguration != null) { @@ -36,7 +39,7 @@ class AppInteractor(private val device: UiDevice, private val targetContext: Con } } targetContext.startActivity(intent) - device.wait(Until.hasObject(By.pkg(MULLVAD_PACKAGE).depth(0)), APP_LAUNCH_TIMEOUT) + device.wait(Until.hasObject(By.pkg(targetPackageName).depth(0)), APP_LAUNCH_TIMEOUT) } fun launchAndEnsureLoggedIn(accountToken: String) { |
