summaryrefslogtreecommitdiffhomepage
path: root/android/test/mockapi
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2024-01-11 11:49:30 +0100
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2024-01-11 11:49:30 +0100
commit6c754c3a45fdb93bcb6f9e615c00e70aaa8d90ba (patch)
tree7d25c5e9a9066c7c97517bfbe39469242e0e08e5 /android/test/mockapi
parentb5decd12a264c3e37092211eb0951dac6c640670 (diff)
parentb4167469808206ecc7ff2f788befe05e1d7ea57b (diff)
downloadmullvadvpn-6c754c3a45fdb93bcb6f9e615c00e70aaa8d90ba.tar.xz
mullvadvpn-6c754c3a45fdb93bcb6f9e615c00e70aaa8d90ba.zip
Merge branch 'update-to-junit5-droid-569'
Diffstat (limited to 'android/test/mockapi')
-rw-r--r--android/test/mockapi/build.gradle.kts17
-rw-r--r--android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt7
-rw-r--r--android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LogoutMockApiTest.kt7
-rw-r--r--android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt23
4 files changed, 31 insertions, 23 deletions
diff --git a/android/test/mockapi/build.gradle.kts b/android/test/mockapi/build.gradle.kts
index 8be38fdcbc..e5d20d3d50 100644
--- a/android/test/mockapi/build.gradle.kts
+++ b/android/test/mockapi/build.gradle.kts
@@ -1,6 +1,7 @@
plugins {
id(Dependencies.Plugin.androidTestId)
id(Dependencies.Plugin.kotlinAndroidId)
+ id(Dependencies.Plugin.junit5) version Versions.Plugin.junit5
}
android {
@@ -11,6 +12,8 @@ android {
minSdk = Versions.Android.minSdkVersion
testApplicationId = "net.mullvad.mullvadvpn.test.mockapi"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunnerArguments["runnerBuilder"] =
+ "de.mannodermaus.junit5.AndroidJUnit5Builder"
targetProjectPath = ":app"
missingDimensionStrategy(FlavorDimensions.BILLING, Flavors.OSS)
@@ -37,6 +40,16 @@ android {
abortOnError = true
warningsAsErrors = true
}
+
+ packaging {
+ resources {
+ pickFirsts += setOf(
+ // Fixes packaging error caused by: jetified-junit-*
+ "META-INF/LICENSE.md",
+ "META-INF/LICENSE-notice.md"
+ )
+ }
+ }
}
configure<org.owasp.dependencycheck.gradle.extension.DependencyCheckExtension> {
@@ -59,6 +72,10 @@ dependencies {
implementation(Dependencies.AndroidX.testRules)
implementation(Dependencies.AndroidX.testUiAutomator)
implementation(Dependencies.jodaTime)
+ implementation(Dependencies.junitAndroidTestExtensions)
+ implementation(Dependencies.junitApi)
+ implementation(Dependencies.junitAndroidTestCore)
+ implementation(Dependencies.junitAndroidTestRunner)
implementation(Dependencies.Kotlin.stdlib)
implementation(Dependencies.mockkWebserver)
diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt
index 7d94b37492..3f3d882835 100644
--- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt
+++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt
@@ -1,6 +1,5 @@
package net.mullvad.mullvadvpn.test.mockapi
-import androidx.test.runner.AndroidJUnit4
import androidx.test.uiautomator.By
import androidx.test.uiautomator.Until
import net.mullvad.mullvadvpn.compose.test.LOGIN_TITLE_TEST_TAG
@@ -10,11 +9,9 @@ import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPerm
import net.mullvad.mullvadvpn.test.common.extension.dismissChangelogDialogIfShown
import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout
import net.mullvad.mullvadvpn.test.mockapi.util.currentUtcTimeWithOffsetZero
-import org.junit.Assert.assertTrue
-import org.junit.Test
-import org.junit.runner.RunWith
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Test
-@RunWith(AndroidJUnit4::class)
class LoginMockApiTest : MockApiTest() {
@Test
fun testLoginWithInvalidCredentials() {
diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LogoutMockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LogoutMockApiTest.kt
index e13a728296..266fe73977 100644
--- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LogoutMockApiTest.kt
+++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LogoutMockApiTest.kt
@@ -1,17 +1,14 @@
package net.mullvad.mullvadvpn.test.mockapi
-import androidx.test.runner.AndroidJUnit4
import androidx.test.uiautomator.By
-import junit.framework.TestCase.assertNotNull
import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer
import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove
import net.mullvad.mullvadvpn.test.common.extension.dismissChangelogDialogIfShown
import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout
import net.mullvad.mullvadvpn.test.mockapi.util.currentUtcTimeWithOffsetZero
-import org.junit.Test
-import org.junit.runner.RunWith
+import org.junit.jupiter.api.Assertions.assertNotNull
+import org.junit.jupiter.api.Test
-@RunWith(AndroidJUnit4::class)
class LogoutMockApiTest : MockApiTest() {
@Test
diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt
index 702aa72db4..9ee4f52e04 100644
--- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt
+++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiTest.kt
@@ -5,29 +5,26 @@ import android.Manifest.permission.WRITE_EXTERNAL_STORAGE
import android.content.Context
import android.util.Log
import androidx.test.platform.app.InstrumentationRegistry
-import androidx.test.rule.GrantPermissionRule
-import androidx.test.runner.AndroidJUnit4
import androidx.test.uiautomator.UiDevice
+import de.mannodermaus.junit5.extensions.GrantPermissionExtension
import java.net.InetAddress
import net.mullvad.mullvadvpn.lib.endpoint.CustomApiEndpointConfiguration
import net.mullvad.mullvadvpn.test.common.interactor.AppInteractor
import net.mullvad.mullvadvpn.test.common.rule.CaptureScreenshotOnFailedTestRule
import net.mullvad.mullvadvpn.test.mockapi.constant.LOG_TAG
import okhttp3.mockwebserver.MockWebServer
-import org.junit.After
-import org.junit.Before
-import org.junit.Rule
-import org.junit.runner.RunWith
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.extension.RegisterExtension
-@RunWith(AndroidJUnit4::class)
abstract class MockApiTest {
- @Rule @JvmField val rule = CaptureScreenshotOnFailedTestRule(LOG_TAG)
+ @RegisterExtension @JvmField val rule = CaptureScreenshotOnFailedTestRule(LOG_TAG)
- @Rule
+ @RegisterExtension
@JvmField
- val permissionRule: GrantPermissionRule =
- GrantPermissionRule.grant(WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_STORAGE)
+ val permissionRule: GrantPermissionExtension =
+ GrantPermissionExtension.grant(WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_STORAGE)
protected val apiDispatcher = MockApiDispatcher()
private val mockWebServer = MockWebServer().apply { dispatcher = apiDispatcher }
@@ -37,7 +34,7 @@ abstract class MockApiTest {
lateinit var app: AppInteractor
lateinit var endpoint: CustomApiEndpointConfiguration
- @Before
+ @BeforeEach
open fun setup() {
device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
targetContext = InstrumentationRegistry.getInstrumentation().targetContext
@@ -49,7 +46,7 @@ abstract class MockApiTest {
endpoint = createEndpoint(mockWebServer.port)
}
- @After
+ @AfterEach
open fun teardown() {
mockWebServer.shutdown()
}