diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2024-01-11 11:49:30 +0100 |
|---|---|---|
| committer | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2024-01-11 11:49:30 +0100 |
| commit | 6c754c3a45fdb93bcb6f9e615c00e70aaa8d90ba (patch) | |
| tree | 7d25c5e9a9066c7c97517bfbe39469242e0e08e5 /android/test/mockapi | |
| parent | b5decd12a264c3e37092211eb0951dac6c640670 (diff) | |
| parent | b4167469808206ecc7ff2f788befe05e1d7ea57b (diff) | |
| download | mullvadvpn-6c754c3a45fdb93bcb6f9e615c00e70aaa8d90ba.tar.xz mullvadvpn-6c754c3a45fdb93bcb6f9e615c00e70aaa8d90ba.zip | |
Merge branch 'update-to-junit5-droid-569'
Diffstat (limited to 'android/test/mockapi')
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() } |
