summaryrefslogtreecommitdiffhomepage
path: root/android/test/mockapi/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/test/mockapi/src')
-rw-r--r--android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LogoutMockApiTest.kt40
1 files changed, 40 insertions, 0 deletions
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
new file mode 100644
index 0000000000..e13a728296
--- /dev/null
+++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LogoutMockApiTest.kt
@@ -0,0 +1,40 @@
+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
+
+@RunWith(AndroidJUnit4::class)
+class LogoutMockApiTest : MockApiTest() {
+
+ @Test
+ fun testLoginWithValidCredentialsToUnexpiredAccountAndLogout() {
+ // Arrange
+ val validAccountToken = "1234123412341234"
+ apiDispatcher.apply {
+ expectedAccountToken = validAccountToken
+ accountExpiry = currentUtcTimeWithOffsetZero().plusMonths(1)
+ }
+
+ // Act
+ app.launch(endpoint)
+ device.clickAgreeOnPrivacyDisclaimer()
+ device.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove()
+ device.dismissChangelogDialogIfShown()
+ app.waitForLoginPrompt()
+ app.attemptLogin(validAccountToken)
+ device.findObjectWithTimeout(By.text("UNSECURED CONNECTION"))
+ app.clickAccountCog()
+ app.clickActionButtonByText("Log out")
+
+ // Assert
+ assertNotNull(device.findObjectWithTimeout(By.text("Login")))
+ }
+}