diff options
| author | Kalle Lindström <karl.lindstrom@mullvad.net> | 2025-02-25 10:48:50 +0100 |
|---|---|---|
| committer | Kalle Lindström <karl.lindstrom@mullvad.net> | 2025-02-26 09:25:17 +0100 |
| commit | da304ffedf8f8d98600f31f737cf92768c0323fa (patch) | |
| tree | e8da9b9a861f3d3efbbbc39fb5160ec1cfeb67fa /android/test/mockapi/src | |
| parent | 5025db74b34cfb3536c43f89f3407ffc0d97ae73 (diff) | |
| download | mullvadvpn-da304ffedf8f8d98600f31f737cf92768c0323fa.tar.xz mullvadvpn-da304ffedf8f8d98600f31f737cf92768c0323fa.zip | |
Remove Joda Time and use java.time package instead
Joda Time has been superseded by the Java 8 java.time package
which has more or less the same API. This commit removes all
usage of Joda Time and replaces it with the java.time classes.
This is done so that we can remove the dependency on Joda Time.
Diffstat (limited to 'android/test/mockapi/src')
8 files changed, 34 insertions, 34 deletions
diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountExpiryMockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountExpiryMockApiTest.kt index 2fe829841c..d89313fc45 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountExpiryMockApiTest.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountExpiryMockApiTest.kt @@ -1,6 +1,7 @@ package net.mullvad.mullvadvpn.test.mockapi import androidx.test.uiautomator.By +import java.time.ZonedDateTime import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove import net.mullvad.mullvadvpn.test.common.extension.dismissChangelogDialogIfShown @@ -8,8 +9,7 @@ import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout import net.mullvad.mullvadvpn.test.mockapi.constant.DEFAULT_DEVICE_LIST import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_DEVICE_NAME_2 import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_ID_2 -import net.mullvad.mullvadvpn.test.mockapi.util.currentUtcTimeWithOffsetZero -import net.mullvad.mullvadvpn.util.toExpiryDateString +import net.mullvad.mullvadvpn.test.mockapi.util.toExpiryDateString import org.junit.jupiter.api.Test class AccountExpiryMockApiTest : MockApiTest() { @@ -18,7 +18,7 @@ class AccountExpiryMockApiTest : MockApiTest() { fun testAccountExpiryDateUpdated() { // Arrange val validAccountNumber = "1234123412341234" - val oldAccountExpiry = currentUtcTimeWithOffsetZero().plusMonths(1) + val oldAccountExpiry = ZonedDateTime.now().plusMonths(1) apiDispatcher.apply { expectedAccountNumber = validAccountNumber accountExpiry = oldAccountExpiry @@ -52,7 +52,7 @@ class AccountExpiryMockApiTest : MockApiTest() { fun testAccountTimeExpiredWhileUsingTheAppShouldShowOutOfTimeScreen() { // Arrange val validAccountNumber = "1234123412341234" - val oldAccountExpiry = currentUtcTimeWithOffsetZero().plusMonths(1) + val oldAccountExpiry = ZonedDateTime.now().plusMonths(1) apiDispatcher.apply { expectedAccountNumber = validAccountNumber accountExpiry = oldAccountExpiry diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountHistoryMockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountHistoryMockApiTest.kt index 7d4639019a..deb63c89b4 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountHistoryMockApiTest.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/AccountHistoryMockApiTest.kt @@ -1,6 +1,7 @@ package net.mullvad.mullvadvpn.test.mockapi import androidx.test.uiautomator.By +import java.time.ZonedDateTime import net.mullvad.mullvadvpn.compose.test.LOGIN_INPUT_TEST_TAG import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove @@ -9,7 +10,6 @@ import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout import net.mullvad.mullvadvpn.test.mockapi.constant.DEFAULT_DEVICE_LIST import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_DEVICE_NAME_2 import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_ID_2 -import net.mullvad.mullvadvpn.test.mockapi.util.currentUtcTimeWithOffsetZero import org.junit.jupiter.api.Assertions.assertNotNull import org.junit.jupiter.api.Test @@ -21,7 +21,7 @@ class AccountHistoryMockApiTest : MockApiTest() { val validAccountNumber = "1234123412341234" apiDispatcher.apply { expectedAccountNumber = validAccountNumber - accountExpiry = currentUtcTimeWithOffsetZero().plusMonths(1) + accountExpiry = ZonedDateTime.now().plusMonths(1) devices = DEFAULT_DEVICE_LIST.toMutableMap() devicePendingToGetCreated = DUMMY_ID_2 to DUMMY_DEVICE_NAME_2 } 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 f13e5070e2..5feee8abd8 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 @@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn.test.mockapi import androidx.test.uiautomator.By import androidx.test.uiautomator.Until +import java.time.ZonedDateTime import net.mullvad.mullvadvpn.compose.test.LOGIN_TITLE_TEST_TAG import net.mullvad.mullvadvpn.test.common.constant.DEFAULT_TIMEOUT import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer @@ -10,7 +11,6 @@ import net.mullvad.mullvadvpn.test.common.extension.dismissChangelogDialogIfShow import net.mullvad.mullvadvpn.test.mockapi.constant.DEFAULT_DEVICE_LIST import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_DEVICE_NAME_2 import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_ID_2 -import net.mullvad.mullvadvpn.test.mockapi.util.currentUtcTimeWithOffsetZero import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test @@ -21,7 +21,7 @@ class LoginMockApiTest : MockApiTest() { val validAccountNumber = "1234123412341234" apiDispatcher.apply { expectedAccountNumber = null - accountExpiry = currentUtcTimeWithOffsetZero().plusDays(1) + accountExpiry = ZonedDateTime.now().plusDays(1) } app.launch(endpoint) @@ -47,7 +47,7 @@ class LoginMockApiTest : MockApiTest() { val validAccountNumber = "1234123412341234" apiDispatcher.apply { expectedAccountNumber = validAccountNumber - accountExpiry = currentUtcTimeWithOffsetZero().plusDays(1) + accountExpiry = ZonedDateTime.now().plusDays(1) devices = DEFAULT_DEVICE_LIST.toMutableMap() devicePendingToGetCreated = DUMMY_ID_2 to DUMMY_DEVICE_NAME_2 } @@ -70,7 +70,7 @@ class LoginMockApiTest : MockApiTest() { val validAccountNumber = "1234123412341234" apiDispatcher.apply { expectedAccountNumber = validAccountNumber - accountExpiry = currentUtcTimeWithOffsetZero().minusDays(1) + accountExpiry = ZonedDateTime.now().minusDays(1) devices = DEFAULT_DEVICE_LIST.toMutableMap() devicePendingToGetCreated = DUMMY_ID_2 to DUMMY_DEVICE_NAME_2 } 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 3df42ac0ce..da41d41066 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,6 +1,7 @@ package net.mullvad.mullvadvpn.test.mockapi import androidx.test.uiautomator.By +import java.time.ZonedDateTime import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove import net.mullvad.mullvadvpn.test.common.extension.dismissChangelogDialogIfShown @@ -8,7 +9,6 @@ import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout import net.mullvad.mullvadvpn.test.mockapi.constant.DEFAULT_DEVICE_LIST import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_DEVICE_NAME_2 import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_ID_2 -import net.mullvad.mullvadvpn.test.mockapi.util.currentUtcTimeWithOffsetZero import org.junit.jupiter.api.Assertions.assertNotNull import org.junit.jupiter.api.Test @@ -20,7 +20,7 @@ class LogoutMockApiTest : MockApiTest() { val validAccountNumber = "1234123412341234" apiDispatcher.apply { expectedAccountNumber = validAccountNumber - accountExpiry = currentUtcTimeWithOffsetZero().plusMonths(1) + accountExpiry = ZonedDateTime.now().plusMonths(1) devices = DEFAULT_DEVICE_LIST.toMutableMap() devicePendingToGetCreated = DUMMY_ID_2 to DUMMY_DEVICE_NAME_2 } diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiDispatcher.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiDispatcher.kt index e230152efe..f99cb48a06 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiDispatcher.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/MockApiDispatcher.kt @@ -1,6 +1,7 @@ package net.mullvad.mullvadvpn.test.mockapi import co.touchlab.kermit.Logger +import java.time.ZonedDateTime import net.mullvad.mullvadvpn.test.mockapi.constant.ACCOUNT_URL_PATH import net.mullvad.mullvadvpn.test.mockapi.constant.AUTH_TOKEN_URL_PATH import net.mullvad.mullvadvpn.test.mockapi.constant.CREATE_ACCOUNT_URL_PATH @@ -10,20 +11,18 @@ import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_ID_1 import net.mullvad.mullvadvpn.test.mockapi.util.accessTokenJsonResponse import net.mullvad.mullvadvpn.test.mockapi.util.accountCreationJson import net.mullvad.mullvadvpn.test.mockapi.util.accountInfoJson -import net.mullvad.mullvadvpn.test.mockapi.util.currentUtcTimeWithOffsetZero import net.mullvad.mullvadvpn.test.mockapi.util.deviceJson import net.mullvad.mullvadvpn.test.mockapi.util.tooManyDevicesJsonResponse import okhttp3.mockwebserver.Dispatcher import okhttp3.mockwebserver.MockResponse import okhttp3.mockwebserver.RecordedRequest import okio.Buffer -import org.joda.time.DateTime import org.json.JSONArray class MockApiDispatcher : Dispatcher() { var expectedAccountNumber: String? = null - var accountExpiry: DateTime? = null + var accountExpiry: ZonedDateTime? = null var devices: MutableMap<String, String>? = null private val canAddDevices: Boolean get() = (devices?.size ?: 0) < 5 @@ -84,7 +83,7 @@ class MockApiDispatcher : Dispatcher() { .setBody( accessTokenJsonResponse( accessToken = DUMMY_ACCESS_TOKEN, - expiry = currentUtcTimeWithOffsetZero().plusDays(1), + expiry = ZonedDateTime.now().plusDays(1), ) .toString() ) @@ -115,7 +114,7 @@ class MockApiDispatcher : Dispatcher() { id = deviceId, name = devices!![deviceId]!!, // Should always exist publicKey = cachedKey, - creationDate = currentUtcTimeWithOffsetZero().minusDays(1), + creationDate = ZonedDateTime.now().minusDays(1), ) .toString() ) @@ -136,7 +135,7 @@ class MockApiDispatcher : Dispatcher() { id = devicePendingToGetCreated!!.first, name = devicePendingToGetCreated!!.second, publicKey = newKey, - creationDate = currentUtcTimeWithOffsetZero().minusDays(1), + creationDate = ZonedDateTime.now().minusDays(1), ) .toString() ) @@ -158,7 +157,7 @@ class MockApiDispatcher : Dispatcher() { id = entry.key, name = entry.value, publicKey = cachedKey, - creationDate = currentUtcTimeWithOffsetZero().minusDays(index + 1), + creationDate = ZonedDateTime.now().minusDays((index + 1).toLong()), ) ) } @@ -174,7 +173,7 @@ class MockApiDispatcher : Dispatcher() { .setBody( accountCreationJson( id = DUMMY_ID_1, - expiry = DateTime(), + expiry = ZonedDateTime.now(), accountNumber = expectedAccountNumber, ) .toString() diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/TooManyDevicesMockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/TooManyDevicesMockApiTest.kt index bde2a8f4dd..19674815c1 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/TooManyDevicesMockApiTest.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/TooManyDevicesMockApiTest.kt @@ -1,6 +1,7 @@ package net.mullvad.mullvadvpn.test.mockapi import androidx.test.uiautomator.By +import java.time.ZonedDateTime import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel33AndAbove import net.mullvad.mullvadvpn.test.common.extension.dismissChangelogDialogIfShown @@ -17,7 +18,6 @@ import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_ID_3 import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_ID_4 import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_ID_5 import net.mullvad.mullvadvpn.test.mockapi.constant.DUMMY_ID_6 -import net.mullvad.mullvadvpn.test.mockapi.util.currentUtcTimeWithOffsetZero import org.junit.jupiter.api.Test class TooManyDevicesMockApiTest : MockApiTest() { @@ -27,7 +27,7 @@ class TooManyDevicesMockApiTest : MockApiTest() { val validAccountNumber = "1234123412341234" apiDispatcher.apply { expectedAccountNumber = validAccountNumber - accountExpiry = currentUtcTimeWithOffsetZero().plusMonths(1) + accountExpiry = ZonedDateTime.now().plusMonths(1) devices = mutableMapOf( DUMMY_ID_1 to DUMMY_DEVICE_NAME_1, diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/util/DateTimeUtils.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/util/DateTimeUtils.kt index 81042f70d2..330fc15a81 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/util/DateTimeUtils.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/util/DateTimeUtils.kt @@ -1,13 +1,14 @@ package net.mullvad.mullvadvpn.test.mockapi.util -import org.joda.time.DateTime -import org.joda.time.DateTimeZone -import org.joda.time.format.DateTimeFormat +import java.time.ZonedDateTime +import java.time.format.DateTimeFormatter +import java.time.format.FormatStyle private const val STRICT_ISO8601_AND_RFC3339_PATTERN = "yyyy-MM-dd'T'HH:mm:ssZZ" -fun currentUtcTimeWithOffsetZero() = DateTime.now(DateTimeZone.forOffsetHours(0)) - -fun DateTime.formatStrictlyAccordingToIso8601AndRfc3339(): String { - return toString(DateTimeFormat.forPattern(STRICT_ISO8601_AND_RFC3339_PATTERN)) +fun ZonedDateTime.formatStrictlyAccordingToIso8601AndRfc3339(): String { + return DateTimeFormatter.ofPattern(STRICT_ISO8601_AND_RFC3339_PATTERN).format(this) } + +fun ZonedDateTime.toExpiryDateString(): String = + DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM, FormatStyle.SHORT).format(this) diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/util/JsonUtils.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/util/JsonUtils.kt index 2de385c7f8..a0e21d55ca 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/util/JsonUtils.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/util/JsonUtils.kt @@ -1,9 +1,9 @@ package net.mullvad.mullvadvpn.test.mockapi.util -import org.joda.time.DateTime +import java.time.ZonedDateTime import org.json.JSONObject -fun accountInfoJson(id: String, expiry: DateTime) = +fun accountInfoJson(id: String, expiry: ZonedDateTime) = JSONObject().apply { put("id", id) put("expiry", expiry.formatStrictlyAccordingToIso8601AndRfc3339()) @@ -11,10 +11,10 @@ fun accountInfoJson(id: String, expiry: DateTime) = put("can_add_devices", true) } -fun accountCreationJson(id: String, accountNumber: String, expiry: DateTime) = +fun accountCreationJson(id: String, accountNumber: String, expiry: ZonedDateTime) = accountInfoJson(id, expiry).apply { put("number", accountNumber) } -fun deviceJson(id: String, name: String, publicKey: String, creationDate: DateTime) = +fun deviceJson(id: String, name: String, publicKey: String, creationDate: ZonedDateTime) = JSONObject().apply { put("id", id) put("name", name) @@ -25,7 +25,7 @@ fun deviceJson(id: String, name: String, publicKey: String, creationDate: DateTi put("ipv6_address", "fc00::1/128") } -fun accessTokenJsonResponse(accessToken: String, expiry: DateTime) = +fun accessTokenJsonResponse(accessToken: String, expiry: ZonedDateTime) = JSONObject().apply { put("access_token", accessToken) put("expiry", expiry.formatStrictlyAccordingToIso8601AndRfc3339()) |
