From 49ff8a761d8ed8312a06dc02e9cfd9f509cbb5d4 Mon Sep 17 00:00:00 2001 From: Brian Yencho Date: Mon, 22 Jan 2024 07:59:59 -0600 Subject: [PATCH] Replace string-based static mocks with function references (#706) --- .../com/x8bit/bitwarden/MainViewModelTest.kt | 6 ++---- .../auth/repository/AuthRepositoryTest.kt | 12 ++++-------- .../util/GetTokenResponseExtensionsTest.kt | 7 ++----- .../util/RefreshTokenResponseJsonTest.kt | 7 ++----- .../RefreshAuthenticatorTests.kt | 7 ++----- .../repository/EnvironmentRepositoryTest.kt | 7 ++----- .../CreateAccountViewModelTest.kt | 6 ++---- .../auth/feature/login/LoginViewModelTest.kt | 7 ++----- .../tools/feature/send/SendViewModelTest.kt | 7 ++----- .../send/addsend/AddSendViewModelTest.kt | 19 ++++++------------- .../send/util/SendDataExtensionsTest.kt | 14 +++++++++----- .../addedit/VaultAddEditViewModelTest.kt | 7 ++----- .../feature/item/VaultItemViewModelTest.kt | 7 ++----- 13 files changed, 39 insertions(+), 74 deletions(-) diff --git a/app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt index c048a0b730..832fbd2f75 100644 --- a/app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt @@ -44,12 +44,12 @@ class MainViewModelTest : BaseViewModelTest() { @BeforeEach fun setUp() { - mockkStatic(CAPTCHA_UTILS_PATH) + mockkStatic(Intent::getCaptchaCallbackTokenResult) } @AfterEach fun tearDown() { - unmockkStatic(CAPTCHA_UTILS_PATH) + unmockkStatic(Intent::getCaptchaCallbackTokenResult) } @Test @@ -154,8 +154,6 @@ class MainViewModelTest : BaseViewModelTest() { ) companion object { - private const val CAPTCHA_UTILS_PATH = - "com.x8bit.bitwarden.data.auth.repository.util.CaptchaUtilsKt" private const val USER_ID = "userID" private val DEFAULT_USER_STATE = UserState( activeUserId = USER_ID, diff --git a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt index 149b969b1d..82eff359c4 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt @@ -148,16 +148,16 @@ class AuthRepositoryTest { fun beforeEach() { clearMocks(identityService, accountsService, haveIBeenPwnedService) mockkStatic( - GET_TOKEN_RESPONSE_EXTENSIONS_PATH, - REFRESH_TOKEN_RESPONSE_EXTENSIONS_PATH, + GetTokenResponseJson.Success::toUserState, + RefreshTokenResponseJson::toUserStateJson, ) } @AfterEach fun tearDown() { unmockkStatic( - GET_TOKEN_RESPONSE_EXTENSIONS_PATH, - REFRESH_TOKEN_RESPONSE_EXTENSIONS_PATH, + GetTokenResponseJson.Success::toUserState, + RefreshTokenResponseJson::toUserStateJson, ) } @@ -1296,10 +1296,6 @@ class AuthRepositoryTest { } companion object { - private const val GET_TOKEN_RESPONSE_EXTENSIONS_PATH = - "com.x8bit.bitwarden.data.auth.repository.util.GetTokenResponseExtensionsKt" - private const val REFRESH_TOKEN_RESPONSE_EXTENSIONS_PATH = - "com.x8bit.bitwarden.data.auth.repository.util.RefreshTokenResponseExtensionsKt" private const val UNIQUE_APP_ID = "testUniqueAppId" private const val EMAIL = "test@bitwarden.com" private const val EMAIL_2 = "test2@bitwarden.com" diff --git a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/GetTokenResponseExtensionsTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/GetTokenResponseExtensionsTest.kt index 1755aca94d..2e51698bd7 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/GetTokenResponseExtensionsTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/GetTokenResponseExtensionsTest.kt @@ -18,12 +18,12 @@ class GetTokenResponseExtensionsTest { @BeforeEach fun beforeEach() { - mockkStatic(JWT_TOKEN_UTILS_PATH) + mockkStatic(::parseJwtTokenDataOrNull) } @AfterEach fun tearDown() { - unmockkStatic(JWT_TOKEN_UTILS_PATH) + unmockkStatic(::parseJwtTokenDataOrNull) } @Test @@ -58,9 +58,6 @@ private const val ACCESS_TOKEN_2 = "accessToken2" private const val USER_ID_1 = "2a135b23-e1fb-42c9-bec3-573857bc8181" private const val USER_ID_2 = "b9d32ec0-6497-4582-9798-b350f53bfa02" -private const val JWT_TOKEN_UTILS_PATH = - "com.x8bit.bitwarden.data.auth.repository.util.JwtTokenUtilsKt" - private val JWT_TOKEN_DATA = JwtTokenDataJson( userId = "2a135b23-e1fb-42c9-bec3-573857bc8181", email = "test@bitwarden.com", diff --git a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/RefreshTokenResponseJsonTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/RefreshTokenResponseJsonTest.kt index 25a357d3d9..c21192706a 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/RefreshTokenResponseJsonTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/auth/repository/util/RefreshTokenResponseJsonTest.kt @@ -18,12 +18,12 @@ class RefreshTokenResponseJsonTest { @BeforeEach fun beforeEach() { - mockkStatic(JWT_TOKEN_UTILS_PATH) + mockkStatic(::parseJwtTokenDataOrNull) } @AfterEach fun tearDown() { - unmockkStatic(JWT_TOKEN_UTILS_PATH) + unmockkStatic(::parseJwtTokenDataOrNull) } @Test @@ -60,9 +60,6 @@ private const val REFRESH_TOKEN_UPDATED = "updatedRefreshToken" private const val USER_ID_1 = "2a135b23-e1fb-42c9-bec3-573857bc8181" private const val USER_ID_2 = "b9d32ec0-6497-4582-9798-b350f53bfa02" -private const val JWT_TOKEN_UTILS_PATH = - "com.x8bit.bitwarden.data.auth.repository.util.JwtTokenUtilsKt" - private val JWT_TOKEN_DATA = JwtTokenDataJson( userId = USER_ID_1, email = "updated@bitwarden.com", diff --git a/app/src/test/java/com/x8bit/bitwarden/data/platform/datasource/network/authenticator/RefreshAuthenticatorTests.kt b/app/src/test/java/com/x8bit/bitwarden/data/platform/datasource/network/authenticator/RefreshAuthenticatorTests.kt index abf55b67f8..ac96ce841a 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/platform/datasource/network/authenticator/RefreshAuthenticatorTests.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/platform/datasource/network/authenticator/RefreshAuthenticatorTests.kt @@ -30,12 +30,12 @@ class RefreshAuthenticatorTests { authenticator = RefreshAuthenticator() authenticator.authenticatorProvider = authenticatorProvider - mockkStatic(JWT_TOKEN_UTILS_PATH) + mockkStatic(::parseJwtTokenDataOrNull) } @AfterEach fun tearDown() { - unmockkStatic(JWT_TOKEN_UTILS_PATH) + unmockkStatic(::parseJwtTokenDataOrNull) } @Test @@ -113,9 +113,6 @@ class RefreshAuthenticatorTests { } } -private const val JWT_TOKEN_UTILS_PATH = - "com.x8bit.bitwarden.data.auth.repository.util.JwtTokenUtilsKt" - private const val USER_ID = "2a135b23-e1fb-42c9-bec3-573857bc8181" private val JTW_TOKEN = JwtTokenDataJson( diff --git a/app/src/test/java/com/x8bit/bitwarden/data/platform/repository/EnvironmentRepositoryTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/platform/repository/EnvironmentRepositoryTest.kt index 1ad78cb665..3332ad5f42 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/platform/repository/EnvironmentRepositoryTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/platform/repository/EnvironmentRepositoryTest.kt @@ -39,12 +39,12 @@ class EnvironmentRepositoryTest { @BeforeEach fun setUp() { - mockkStatic(ENVIRONMENT_EXTENSIONS_PATH) + mockkStatic(EnvironmentUrlDataJson::toEnvironmentUrls) } @AfterEach fun tearDown() { - unmockkStatic(ENVIRONMENT_EXTENSIONS_PATH) + unmockkStatic(EnvironmentUrlDataJson::toEnvironmentUrls) } @Test @@ -164,9 +164,6 @@ class EnvironmentRepositoryTest { ) } -private const val ENVIRONMENT_EXTENSIONS_PATH = - "com.x8bit.bitwarden.data.platform.repository.util.EnvironmentUrlDataJsonExtensionsKt" - private class FakeEnvironmentDiskSource : EnvironmentDiskSource { override var preAuthEnvironmentUrlData: EnvironmentUrlDataJson? = null set(value) { diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/createaccount/CreateAccountViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/createaccount/CreateAccountViewModelTest.kt index 5c449aa666..7236983a46 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/createaccount/CreateAccountViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/createaccount/CreateAccountViewModelTest.kt @@ -51,12 +51,12 @@ class CreateAccountViewModelTest : BaseViewModelTest() { @BeforeEach fun setUp() { - mockkStatic(LOGIN_RESULT_PATH) + mockkStatic(::generateUriForCaptcha) } @AfterEach fun tearDown() { - unmockkStatic(LOGIN_RESULT_PATH) + unmockkStatic(::generateUriForCaptcha) } @Test @@ -628,7 +628,5 @@ class CreateAccountViewModelTest : BaseViewModelTest() { dialog = null, passwordStrengthState = PasswordStrengthState.GOOD, ) - private const val LOGIN_RESULT_PATH = - "com.x8bit.bitwarden.data.auth.repository.util.CaptchaUtilsKt" } } diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginViewModelTest.kt index 5b53f2ee58..dba7d3585b 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/login/LoginViewModelTest.kt @@ -60,12 +60,12 @@ class LoginViewModelTest : BaseViewModelTest() { @BeforeEach fun setUp() { - mockkStatic(LOGIN_RESULT_PATH) + mockkStatic(::generateUriForCaptcha) } @AfterEach fun tearDown() { - unmockkStatic(LOGIN_RESULT_PATH) + unmockkStatic(::generateUriForCaptcha) } @Test @@ -467,8 +467,5 @@ class LoginViewModelTest : BaseViewModelTest() { accountSummaries = emptyList(), shouldShowLoginWithDevice = false, ) - - private const val LOGIN_RESULT_PATH = - "com.x8bit.bitwarden.data.auth.repository.util.CaptchaUtilsKt" } } diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/SendViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/SendViewModelTest.kt index fd3001b959..af46f576cf 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/SendViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/SendViewModelTest.kt @@ -51,12 +51,12 @@ class SendViewModelTest : BaseViewModelTest() { @BeforeEach fun setup() { - mockkStatic(SEND_DATA_EXTENSIONS_PATH) + mockkStatic(SendData::toViewState) } @AfterEach fun tearDown() { - unmockkStatic(SEND_DATA_EXTENSIONS_PATH) + unmockkStatic(SendData::toViewState) } @Test @@ -452,9 +452,6 @@ class SendViewModelTest : BaseViewModelTest() { ) } -private const val SEND_DATA_EXTENSIONS_PATH: String = - "com.x8bit.bitwarden.ui.tools.feature.send.util.SendDataExtensionsKt" - private val DEFAULT_STATE: SendState = SendState( viewState = SendState.ViewState.Loading, dialogState = null, diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModelTest.kt index 3f4e8242e2..a7e419edbe 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/addsend/AddSendViewModelTest.kt @@ -71,18 +71,18 @@ class AddSendViewModelTest : BaseViewModelTest() { @BeforeEach fun setup() { mockkStatic( - ADD_SEND_STATE_EXTENSIONS_PATH, - ADD_SEND_VIEW_EXTENSIONS_PATH, - SEND_VIEW_EXTENSIONS_PATH, + AddSendState.ViewState.Content::toSendView, + SendView::toSendUrl, + SendView::toViewState, ) } @AfterEach fun tearDown() { unmockkStatic( - ADD_SEND_STATE_EXTENSIONS_PATH, - ADD_SEND_VIEW_EXTENSIONS_PATH, - SEND_VIEW_EXTENSIONS_PATH, + AddSendState.ViewState.Content::toSendView, + SendView::toSendUrl, + SendView::toViewState, ) } @@ -951,13 +951,6 @@ class AddSendViewModelTest : BaseViewModelTest() { ) companion object { - private const val ADD_SEND_STATE_EXTENSIONS_PATH: String = - "com.x8bit.bitwarden.ui.tools.feature.send.addsend.util.AddSendStateExtensionsKt" - private const val ADD_SEND_VIEW_EXTENSIONS_PATH: String = - "com.x8bit.bitwarden.ui.tools.feature.send.addsend.util.SendViewExtensionsKt" - private const val SEND_VIEW_EXTENSIONS_PATH: String = - "com.x8bit.bitwarden.ui.tools.feature.send.util.SendViewExtensionsKt" - private val DEFAULT_COMMON_STATE = AddSendState.ViewState.Content.Common( name = "", currentAccessCount = null, diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/util/SendDataExtensionsTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/util/SendDataExtensionsTest.kt index 48814ec416..c837b44cdb 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/util/SendDataExtensionsTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/send/util/SendDataExtensionsTest.kt @@ -1,6 +1,7 @@ package com.x8bit.bitwarden.ui.tools.feature.send.util import com.bitwarden.core.SendType +import com.bitwarden.core.SendView import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSendView import com.x8bit.bitwarden.data.vault.repository.model.SendData import com.x8bit.bitwarden.ui.platform.components.model.IconRes @@ -21,14 +22,20 @@ class SendDataExtensionsTest { fun setup() { // Setting the timezone so the tests pass consistently no matter the environment. TimeZone.setDefault(TimeZone.getTimeZone("UTC")) - mockkStatic(SEND_VIEW_EXTENSIONS_PATH) + mockkStatic( + SendView::toLabelIcons, + SendView::toSendUrl, + ) } @AfterEach fun tearDown() { // Clearing the timezone after the test. TimeZone.setDefault(null) - unmockkStatic(SEND_VIEW_EXTENSIONS_PATH) + unmockkStatic( + SendView::toLabelIcons, + SendView::toSendUrl, + ) } @Test @@ -88,9 +95,6 @@ class SendDataExtensionsTest { } } -private const val SEND_VIEW_EXTENSIONS_PATH: String = - "com.x8bit.bitwarden.ui.tools.feature.send.util.SendViewExtensionsKt" - private const val DEFAULT_BASE_URL: String = "www.test.com/" private val DEFAULT_SEND_STATUS_ICONS: List = listOf( diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt index 94d2a01f84..441e6f1706 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt @@ -69,14 +69,14 @@ class VaultAddEditViewModelTest : BaseViewModelTest() { @BeforeEach fun setup() { - mockkStatic(CIPHER_VIEW_EXTENSIONS_PATH) + mockkStatic(CipherView::toViewState) mockkStatic(UUID::randomUUID) every { UUID.randomUUID().toString() } returns TEST_ID } @AfterEach fun tearDown() { - unmockkStatic(CIPHER_VIEW_EXTENSIONS_PATH) + unmockkStatic(CipherView::toViewState) unmockkStatic(CustomFieldType::toCustomField) } @@ -1645,7 +1645,4 @@ class VaultAddEditViewModelTest : BaseViewModelTest() { private const val TEST_ID = "testId" -private const val CIPHER_VIEW_EXTENSIONS_PATH: String = - "com.x8bit.bitwarden.ui.vault.feature.addedit.util.CipherViewExtensionsKt" - private const val DEFAULT_EDIT_ITEM_ID: String = "edit_item_id" diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt index 76ea08ea68..c4e4587fc1 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt @@ -52,12 +52,12 @@ class VaultItemViewModelTest : BaseViewModelTest() { @BeforeEach fun setup() { - mockkStatic(CIPHER_VIEW_EXTENSIONS_PATH) + mockkStatic(CipherView::toViewState) } @AfterEach fun tearDown() { - unmockkStatic(CIPHER_VIEW_EXTENSIONS_PATH) + unmockkStatic(CipherView::toViewState) } @Test @@ -835,9 +835,6 @@ class VaultItemViewModelTest : BaseViewModelTest() { ) companion object { - private const val CIPHER_VIEW_EXTENSIONS_PATH: String = - "com.x8bit.bitwarden.ui.vault.feature.item.util.CipherViewExtensionsKt" - private const val VAULT_ITEM_ID = "vault_item_id" private const val DEFAULT_LOGIN_PASSWORD = "password" private const val DEFAULT_LOGIN_USERNAME = "username"