Update SDK to 3.0.0-9018-167d44ec (#7418)

Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: David Perez <125928928+david-livefront@users.noreply.github.com>
This commit is contained in:
authored and GitHub committed 2026-09-25 16:08:41 +00:00
1 parent 2cf87f64b0
commit 9ba646d752
48 files changed
+290 -258

No files matched your search

@@ -13,8 +13,8 @@ import com.bitwarden.core.RegisterTdeKeyResponse
import com.bitwarden.crypto.HashPurpose
import com.bitwarden.crypto.Kdf
import com.bitwarden.policies.OrganizationUserPolicyContext
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.auth.datasource.sdk.model.PasswordStrength
/**
@@ -148,8 +148,8 @@ interface AuthSdkSource {
* Applies the appropriate filters for determining what policies apply to the user.
*/
fun filterPolicies(
policies: List<PolicyView>,
policies: List<Policy>,
organizations: List<OrganizationUserPolicyContext>,
policyType: PolicyType,
): Result<List<PolicyView>>
): Result<List<Policy>>
}
@@ -18,8 +18,8 @@ import com.bitwarden.core.data.manager.dispatcher.DispatcherManager
import com.bitwarden.crypto.HashPurpose
import com.bitwarden.crypto.Kdf
import com.bitwarden.policies.OrganizationUserPolicyContext
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.sdk.AuthClient
import com.x8bit.bitwarden.data.auth.datasource.sdk.model.PasswordStrength
import com.x8bit.bitwarden.data.auth.datasource.sdk.util.toPasswordStrengthOrNull
@@ -241,10 +241,10 @@ class AuthSdkSourceImpl(
}
override fun filterPolicies(
policies: List<PolicyView>,
policies: List<Policy>,
organizations: List<OrganizationUserPolicyContext>,
policyType: PolicyType,
): Result<List<PolicyView>> = runCatchingWithLogs {
): Result<List<Policy>> = runCatchingWithLogs {
globalClient.policies().filterByType(
policies = policies,
organizationUserPolicyContexts = organizations,
@@ -1,8 +1,8 @@
package com.x8bit.bitwarden.data.auth.manager
import com.bitwarden.core.data.manager.dispatcher.DispatcherManager
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
import com.x8bit.bitwarden.data.auth.datasource.disk.model.OnboardingStatus
import com.x8bit.bitwarden.data.auth.datasource.disk.model.UserStateJson
@@ -169,7 +169,7 @@ class UserStateManagerImpl(
private fun existingPolicies(
userId: String,
policyType: PolicyType,
): List<PolicyView> = policyManager.getUserPolicies(
): List<Policy> = policyManager.getUserPolicies(
userId = userId,
type = policyType,
)
@@ -11,8 +11,8 @@ import com.bitwarden.organizations.OrganizationUserStatusType
import com.bitwarden.organizations.OrganizationUserType
import com.bitwarden.organizations.Permissions
import com.bitwarden.organizations.ProfileOrganization
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.auth.repository.model.Organization
import com.x8bit.bitwarden.data.auth.repository.model.PolicyInformation
import kotlinx.serialization.json.Json
@@ -132,9 +132,9 @@ private fun SyncResponseJson.Profile.Organization.toSdkProfileOrganization(): Pr
}
/**
* Convert the JSON data of the [PolicyView] object into [PolicyInformation] data.
* Convert the JSON data of the [Policy] object into [PolicyInformation] data.
*/
val PolicyView.policyInformation: PolicyInformation?
val Policy.policyInformation: PolicyInformation?
get() = data?.let {
when (type) {
PolicyType.MASTER_PASSWORD -> {
@@ -8,8 +8,8 @@ import com.bitwarden.network.model.MasterPasswordUnlockDataJson
import com.bitwarden.network.model.OrganizationType
import com.bitwarden.network.model.SyncResponseJson
import com.bitwarden.network.model.UserDecryptionOptionsJson
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.ui.platform.base.util.toHexColorRepresentation
import com.x8bit.bitwarden.data.auth.datasource.disk.model.ForcePasswordResetReason
import com.x8bit.bitwarden.data.auth.datasource.disk.model.OnboardingStatus
@@ -216,7 +216,7 @@ fun UserStateJson.toUserState(
isBiometricsEnabledProvider: (userId: String) -> Boolean,
vaultUnlockTypeProvider: (userId: String) -> VaultUnlockType,
isDeviceTrustedProvider: (userId: String) -> Boolean,
getUserPolicies: (userId: String, policy: PolicyType) -> List<PolicyView>,
getUserPolicies: (userId: String, policy: PolicyType) -> List<Policy>,
): UserState =
UserState(
activeUserId = this.activeUserId,
@@ -1,7 +1,7 @@
package com.x8bit.bitwarden.data.platform.manager
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.platform.manager.model.EffectiveSendPolicy
import kotlinx.coroutines.flow.Flow
@@ -12,12 +12,12 @@ interface PolicyManager {
/**
* Returns a flow of all the active policies of the given type.
*/
fun getActivePoliciesFlow(type: PolicyType): Flow<List<PolicyView>>
fun getActivePoliciesFlow(type: PolicyType): Flow<List<Policy>>
/**
* Get all the policies of the given [type] that are enabled and applicable to the user.
*/
fun getActivePolicies(type: PolicyType): List<PolicyView>
fun getActivePolicies(type: PolicyType): List<Policy>
/**
* Returns the current, precedence-resolved [EffectiveSendPolicy] for the active user. When
@@ -38,7 +38,7 @@ interface PolicyManager {
fun getUserPolicies(
userId: String,
type: PolicyType,
): List<PolicyView>
): List<Policy>
/**
* Get the organization id of the personal ownership policy.
@@ -2,8 +2,8 @@ package com.x8bit.bitwarden.data.platform.manager
import com.bitwarden.core.data.manager.model.FlagKey
import com.bitwarden.policies.OrganizationUserPolicyContext
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
import com.x8bit.bitwarden.data.auth.datasource.sdk.AuthSdkSource
import com.x8bit.bitwarden.data.auth.repository.model.PolicyInformation
@@ -11,7 +11,7 @@ import com.x8bit.bitwarden.data.auth.repository.util.activeUserIdChangesFlow
import com.x8bit.bitwarden.data.auth.repository.util.policyInformation
import com.x8bit.bitwarden.data.platform.manager.model.EffectiveSendPolicy
import com.x8bit.bitwarden.data.vault.repository.util.toSdkOrganizationPolicyContext
import com.x8bit.bitwarden.data.vault.repository.util.toSdkPolicyViews
import com.x8bit.bitwarden.data.vault.repository.util.toSdkPolicies
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
@@ -31,17 +31,17 @@ class PolicyManagerImpl(
private val featureFlagManager: FeatureFlagManager,
) : PolicyManager {
@OptIn(ExperimentalCoroutinesApi::class)
override fun getActivePoliciesFlow(type: PolicyType): Flow<List<PolicyView>> =
override fun getActivePoliciesFlow(type: PolicyType): Flow<List<Policy>> =
authDiskSource
.activeUserIdChangesFlow
.flatMapLatest { activeUserId ->
activeUserId
?.let { userId -> getAppliedPolicyViewsFlow(userId = userId, type = type) }
?.let { userId -> getAppliedPoliciesFlow(userId = userId, type = type) }
?: emptyFlow()
}
.distinctUntilChanged()
override fun getActivePolicies(type: PolicyType): List<PolicyView> =
override fun getActivePolicies(type: PolicyType): List<Policy> =
authDiskSource
.userState
?.activeUserId
@@ -75,13 +75,13 @@ class PolicyManagerImpl(
override fun getUserPolicies(
userId: String,
type: PolicyType,
): List<PolicyView> =
): List<Policy> =
this
.filterPolicies(
type = type,
policies = authDiskSource
.getPolicies(userId = userId)
?.toSdkPolicyViews(),
?.toSdkPolicies(),
organizations = authDiskSource
.getOrganizations(userId = userId)
?.map { it.toSdkOrganizationPolicyContext() },
@@ -95,13 +95,13 @@ class PolicyManagerImpl(
.firstOrNull()
?.organizationId
private fun getAppliedPolicyViewsFlow(
private fun getAppliedPoliciesFlow(
userId: String,
type: PolicyType,
): Flow<List<PolicyView>> = combine(
): Flow<List<Policy>> = combine(
authDiskSource
.getPoliciesFlow(userId = userId)
.map { it?.toSdkPolicyViews() },
.map { it?.toSdkPolicies() },
authDiskSource
.getOrganizationsFlow(userId = userId)
.map { organizations -> organizations?.map { it.toSdkOrganizationPolicyContext() } },
@@ -117,9 +117,9 @@ class PolicyManagerImpl(
private fun filterPolicies(
type: PolicyType,
policies: List<PolicyView>?,
policies: List<Policy>?,
organizations: List<OrganizationUserPolicyContext>?,
): List<PolicyView>? =
): List<Policy>? =
when {
policies == null -> null
policies.isEmpty() -> emptyList()
@@ -142,10 +142,10 @@ class PolicyManagerImpl(
* policies, while other organizations' legacy policies remain in effect.
*/
private fun resolveEffectiveSendPolicy(
disableSendPolicies: List<PolicyView>,
disableSendPolicies: List<Policy>,
isSendControlsEnabled: Boolean,
sendControlsPolicies: List<PolicyView>,
sendOptionsPolicies: List<PolicyView>,
sendControlsPolicies: List<Policy>,
sendOptionsPolicies: List<Policy>,
): EffectiveSendPolicy {
if (!isSendControlsEnabled) {
return EffectiveSendPolicy(
@@ -1,8 +1,8 @@
package com.x8bit.bitwarden.data.platform.manager.policy
import com.bitwarden.core.data.manager.dispatcher.DispatcherManager
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
import com.x8bit.bitwarden.data.auth.repository.model.PolicyInformation
import com.x8bit.bitwarden.data.auth.repository.util.activeUserIdChangesFlow
@@ -88,7 +88,7 @@ internal class UserNotificationPolicyManagerImpl(
}
?.showAfterEveryLogin != false
private fun dismissBanner(policy: PolicyView) {
private fun dismissBanner(policy: Policy) {
activeUserId?.let { userId ->
settingsDiskSource.storeVaultPolicyBannerDismissedDate(
userId = userId,
@@ -98,7 +98,7 @@ internal class UserNotificationPolicyManagerImpl(
}
}
private val PolicyView.userNotificationPolicyData: UserNotificationPolicyData?
private val Policy.userNotificationPolicyData: UserNotificationPolicyData?
get() = (this.policyInformation as? PolicyInformation.OrganizationUserNotification)?.let {
UserNotificationPolicyData(
organizationId = this.organizationId,
@@ -5,8 +5,8 @@ import com.bitwarden.authenticatorbridge.util.generateSecretKey
import com.bitwarden.core.data.manager.BuildInfoManager
import com.bitwarden.core.data.manager.dispatcher.DispatcherManager
import com.bitwarden.data.manager.flightrecorder.FlightRecorderManager
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.ui.platform.feature.settings.appearance.model.AppLanguage
import com.bitwarden.ui.platform.feature.settings.appearance.model.AppTheme
import com.x8bit.bitwarden.BuildConfig
@@ -723,7 +723,7 @@ class SettingsRepositoryImpl(
* settings to determine whether to update the user's settings.
*/
private fun updateVaultUnlockSettingsIfNecessary(
policies: List<PolicyView>,
policies: List<Policy>,
) {
// The vault timeout policy can only be implemented in organizations that have
// the single organization policy, meaning that if this is enabled, the user is
@@ -657,7 +657,7 @@ class VaultSdkSourceImpl(
vararg cipherViews: CipherView,
): Result<List<Fido2CredentialAutofillView>> = runCatchingWithLogs {
val fido2 = getClient(userId = userId).platform().fido2()
cipherViews.flatMap { fido2.decryptFido2AutofillCredentials(cipherView = it) }
cipherViews.flatMap { fido2.getFido2AutofillCredentials(cipherView = it) }
}
override suspend fun silentlyDiscoverCredentials(
@@ -838,7 +838,6 @@ fun Cipher.toFailureCipherListView(): CipherListView =
organizationId = organizationId,
folderId = folderId,
collectionIds = collectionIds,
key = key,
name = name.orEmpty(),
subtitle = "",
type = when (type) {
@@ -2,21 +2,21 @@ package com.x8bit.bitwarden.data.vault.repository.util
import com.bitwarden.network.model.PolicyTypeJson
import com.bitwarden.network.model.SyncResponseJson
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import kotlinx.serialization.json.Json
/**
* Converts a list of network [SyncResponseJson.Policy] models to a list of SDK [PolicyView].
* Converts a list of network [SyncResponseJson.Policy] models to a list of SDK [Policy].
*/
fun List<SyncResponseJson.Policy>.toSdkPolicyViews(): List<PolicyView> =
this.map { it.toSdkPolicyView() }
fun List<SyncResponseJson.Policy>.toSdkPolicies(): List<Policy> =
this.map { it.toSdkPolicy() }
/**
* Converts a network [SyncResponseJson.Policy] model to an SDK [PolicyView].
* Converts a network [SyncResponseJson.Policy] model to an SDK [Policy].
*/
private fun SyncResponseJson.Policy.toSdkPolicyView(): PolicyView =
PolicyView(
private fun SyncResponseJson.Policy.toSdkPolicy(): Policy =
Policy(
organizationId = this.organizationId,
id = this.id,
type = this.type.toSdkPolicyType,
@@ -12,7 +12,7 @@ import com.bitwarden.ui.util.asText
import com.bitwarden.vault.CipherRepromptType
import com.bitwarden.vault.CipherType
import com.bitwarden.vault.CipherView
import com.bitwarden.vault.Fido2Credential
import com.bitwarden.vault.Fido2CredentialView
import com.bitwarden.vault.FieldType
import com.bitwarden.vault.FieldView
import com.bitwarden.vault.FolderView
@@ -424,9 +424,9 @@ private fun List<LoginUriView>?.toUriItems(): List<UriItem> =
* Retrieves the cipher's primary (first) FIDO2 credential, or null if there is no FIDO2 credential
* assigned.
*/
private fun List<Fido2Credential>?.getPrimaryFido2CredentialOrNull(
private fun List<Fido2CredentialView>?.getPrimaryFido2CredentialOrNull(
isClone: Boolean,
): Fido2Credential? {
): Fido2CredentialView? {
if (isNullOrEmpty() || isClone) return null
return first()
@@ -436,10 +436,11 @@ private fun List<Fido2Credential>?.getPrimaryFido2CredentialOrNull(
* Return the creation date and time of the primary FIDO2 credential, formatted as
* "MMM d, yyyy, hh:mm a".
*/
private fun Fido2Credential.getCreationDateTime(clock: Clock) = BitwardenString.created_x.asText(
creationDate.toFormattedDateTimeStyle(
dateStyle = FormatStyle.MEDIUM,
timeStyle = FormatStyle.SHORT,
clock = clock,
),
)
private fun Fido2CredentialView.getCreationDateTime(clock: Clock) =
BitwardenString.created_x.asText(
creationDate.toFormattedDateTimeStyle(
dateStyle = FormatStyle.MEDIUM,
timeStyle = FormatStyle.SHORT,
clock = clock,
),
)
@@ -3,8 +3,8 @@ package com.x8bit.bitwarden.ui.vault.feature.exportitems.selectaccount
import android.os.Parcelable
import androidx.lifecycle.viewModelScope
import com.bitwarden.cxf.model.ImportCredentialsRequestData
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.ui.platform.base.BackgroundEvent
import com.bitwarden.ui.platform.base.BaseViewModel
import com.bitwarden.ui.platform.resource.BitwardenString
@@ -250,7 +250,7 @@ sealed class SelectAccountAction {
*/
data class SelectionDataReceive(
val userState: UserState?,
val itemRestrictedOrgs: List<PolicyView>,
val itemRestrictedOrgs: List<Policy>,
) : Internal()
}
}
@@ -14,7 +14,7 @@ import com.bitwarden.ui.util.asText
import com.bitwarden.vault.CardView
import com.bitwarden.vault.CipherType
import com.bitwarden.vault.CipherView
import com.bitwarden.vault.Fido2Credential
import com.bitwarden.vault.Fido2CredentialView
import com.bitwarden.vault.FieldType
import com.bitwarden.vault.FieldView
import com.bitwarden.vault.IdentityView
@@ -318,7 +318,7 @@ private fun LoginUriView.toUriData() =
isLaunchable = !uri.isNullOrBlank(),
)
private fun Fido2Credential.getCreationDateText(clock: Clock): Text =
private fun Fido2CredentialView.getCreationDateText(clock: Clock): Text =
BitwardenString.created_x.asText(
this.creationDate.toFormattedDateTimeStyle(
dateStyle = FormatStyle.MEDIUM,
@@ -20,8 +20,8 @@ import com.bitwarden.core.data.util.asSuccess
import com.bitwarden.crypto.HashPurpose
import com.bitwarden.crypto.Kdf
import com.bitwarden.policies.OrganizationUserPolicyContext
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.sdk.AuthClient
import com.bitwarden.sdk.Client
import com.bitwarden.sdk.LoginClient
@@ -564,10 +564,10 @@ class AuthSdkSourceTest {
@Test
fun `filterPolicies should call SDK and return a Result with the correct data`() {
val policies = listOf(mockk<PolicyView>())
val policies = listOf(mockk<Policy>())
val organizations = listOf(mockk<OrganizationUserPolicyContext>())
val policyType = mockk<PolicyType>()
val expectedResult = listOf(mockk<PolicyView>())
val expectedResult = listOf(mockk<Policy>())
every {
clientPolicies.filterByType(
policies = policies,
@@ -19,7 +19,7 @@ import com.x8bit.bitwarden.data.auth.repository.util.toUserState
import com.x8bit.bitwarden.data.platform.manager.FirstTimeActionManager
import com.x8bit.bitwarden.data.platform.manager.PolicyManager
import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.manager.VaultLockManager
import com.x8bit.bitwarden.data.vault.repository.model.VaultUnlockData
import io.mockk.every
@@ -259,7 +259,7 @@ class UserStateManagerTest {
@Test
fun `userStateFlow should update isExportable when getUserPolicies returns policies`() =
runTest {
val policy = createMockPolicyView(
val policy = createMockSdkPolicy(
id = "policyId",
organizationId = "mockId-1",
type = PolicyType.DISABLE_PERSONAL_VAULT_EXPORT,
@@ -11,7 +11,7 @@ import com.bitwarden.policies.PolicyType
import com.x8bit.bitwarden.data.auth.repository.model.PolicyInformation
import com.x8bit.bitwarden.data.auth.repository.model.createMockOrganization
import com.x8bit.bitwarden.data.auth.repository.model.createMockSdkProfileOrganization
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import kotlinx.serialization.json.Json
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNull
@@ -119,7 +119,7 @@ class SyncResponseJsonExtensionsTest {
requireSpecial = null,
enforceOnLogin = true,
)
val policy = createMockPolicyView(
val policy = createMockSdkPolicy(
type = PolicyType.MASTER_PASSWORD,
data = Json.encodeToString(policyInformation),
)
@@ -145,7 +145,7 @@ class SyncResponseJsonExtensionsTest {
capitalize = true,
includeNumber = null,
)
val policy = createMockPolicyView(
val policy = createMockSdkPolicy(
type = PolicyType.PASSWORD_GENERATOR,
data = Json.encodeToString(policyInformation),
)
@@ -163,7 +163,7 @@ class SyncResponseJsonExtensionsTest {
action = PolicyInformation.VaultTimeout.Action.LOCK,
type = PolicyInformation.VaultTimeout.Type.CUSTOM,
)
val policy = createMockPolicyView(
val policy = createMockSdkPolicy(
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = Json.encodeToString(policyInformation),
)
@@ -184,7 +184,7 @@ class SyncResponseJsonExtensionsTest {
deletionHours = 168,
allowedSendTypes = listOf(SendTypeJson.TEXT),
)
val policy = createMockPolicyView(
val policy = createMockSdkPolicy(
type = PolicyType.SEND_CONTROLS,
data = Json.encodeToString(policyInformation),
)
@@ -204,7 +204,7 @@ class SyncResponseJsonExtensionsTest {
buttonText = "buttonText",
showAfterEveryLogin = true,
)
val policy = createMockPolicyView(
val policy = createMockSdkPolicy(
type = PolicyType.ORGANIZATION_USER_NOTIFICATION,
data = Json.encodeToString(policyInformation),
)
@@ -217,7 +217,7 @@ class SyncResponseJsonExtensionsTest {
@Test
fun `policyInformation returns null policy information for null data`() {
val masterPasswordPolicy = createMockPolicyView(
val masterPasswordPolicy = createMockSdkPolicy(
type = PolicyType.MASTER_PASSWORD,
data = null,
)
@@ -31,7 +31,7 @@ import com.x8bit.bitwarden.data.auth.repository.model.VaultUnlockType
import com.x8bit.bitwarden.data.auth.repository.model.createMockOrganization
import com.x8bit.bitwarden.data.auth.util.KdfParamsConstants.DEFAULT_PBKDF2_ITERATIONS
import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.repository.model.VaultUnlockData
import io.mockk.every
import io.mockk.mockk
@@ -1858,7 +1858,7 @@ class UserStateJsonExtensionsTest {
firstTimeState = FirstTimeState(showImportLoginsCard = true),
getUserPolicies = { _, _ ->
listOf(
createMockPolicyView(
createMockSdkPolicy(
id = "policyId",
organizationId = "organizationId",
type = PolicyType.DISABLE_PERSONAL_VAULT_EXPORT,
@@ -1979,7 +1979,7 @@ class UserStateJsonExtensionsTest {
firstTimeState = FirstTimeState(showImportLoginsCard = true),
getUserPolicies = { _, _ ->
listOf(
createMockPolicyView(
createMockSdkPolicy(
id = "policyId",
organizationId = "organizationId",
type = PolicyType.DISABLE_PERSONAL_VAULT_EXPORT,
@@ -22,7 +22,7 @@ import com.x8bit.bitwarden.data.platform.manager.ciphermatching.CipherMatchingMa
import com.x8bit.bitwarden.data.platform.util.identityAutofillAddress
import com.x8bit.bitwarden.data.platform.util.identityAutofillName
import com.x8bit.bitwarden.data.platform.util.subtitle
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.manager.model.GetCipherResult
import com.x8bit.bitwarden.data.vault.repository.VaultRepository
import com.x8bit.bitwarden.data.vault.repository.model.VaultUnlockData
@@ -353,7 +353,7 @@ class AutofillCipherProviderTest {
every {
policyManager.getActivePolicies(PolicyType.RESTRICTED_ITEM_TYPES)
} returns listOf(
createMockPolicyView(organizationId = ORGANIZATION_ID_WITH_CARD_TYPE_RESTRICTIONS),
createMockSdkPolicy(organizationId = ORGANIZATION_ID_WITH_CARD_TYPE_RESTRICTIONS),
)
coEvery {
vaultRepository.getCipher(CARD_CIPHER_ID)
@@ -11,8 +11,8 @@ import android.service.autofill.SaveCallback
import android.service.autofill.SaveInfo
import android.service.autofill.SaveRequest
import com.bitwarden.core.data.manager.dispatcher.FakeDispatcherManager
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.autofill.builder.FillResponseBuilder
import com.x8bit.bitwarden.data.autofill.builder.FilledDataBuilder
import com.x8bit.bitwarden.data.autofill.builder.SaveInfoBuilder
@@ -306,7 +306,7 @@ class AutofillProcessorTest {
every { onSuccess() } just runs
}
val saveRequest: SaveRequest = mockk()
val policies: List<PolicyView> = listOf(mockk())
val policies: List<Policy> = listOf(mockk())
every { settingsRepository.isAutofillSavePromptDisabled } returns false
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
@@ -9,13 +9,13 @@ import com.bitwarden.network.model.SendAccessTypeJson
import com.bitwarden.network.model.SyncResponseJson
import com.bitwarden.network.model.createMockOrganizationNetwork
import com.bitwarden.network.model.createMockPolicy
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
import com.x8bit.bitwarden.data.auth.datasource.disk.model.UserStateJson
import com.x8bit.bitwarden.data.auth.datasource.sdk.AuthSdkSource
import com.x8bit.bitwarden.data.platform.manager.model.EffectiveSendPolicy
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import io.mockk.every
import io.mockk.mockk
import kotlinx.coroutines.flow.MutableStateFlow
@@ -77,13 +77,13 @@ class PolicyManagerTest {
organizationId = organizations.id,
type = PolicyTypeJson.MAXIMUM_VAULT_TIMEOUT,
)
val expectedPolicyOne = createMockPolicyView(
val expectedPolicyOne = createMockSdkPolicy(
enabled = true,
number = 1,
organizationId = organizations.id,
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
)
val expectedPolicyTwo = createMockPolicyView(
val expectedPolicyTwo = createMockSdkPolicy(
enabled = true,
number = 2,
organizationId = organizations.id,
@@ -150,7 +150,7 @@ class PolicyManagerTest {
organizations = any(),
policyType = any(),
)
} returns emptyList<PolicyView>().asSuccess()
} returns emptyList<Policy>().asSuccess()
assertTrue(policyManager.getActivePolicies(type = PolicyType.MASTER_PASSWORD).isEmpty())
}
@@ -183,7 +183,7 @@ class PolicyManagerTest {
organizations = any(),
policyType = any(),
)
} returns emptyList<PolicyView>().asSuccess()
} returns emptyList<Policy>().asSuccess()
assertTrue(policyManager.getActivePolicies(type = PolicyType.MASTER_PASSWORD).isEmpty())
}
@@ -194,7 +194,7 @@ class PolicyManagerTest {
every { activeUserId } returns USER_ID
}
val storedPolicy = createMockPolicy(organizationId = "mockId-3", isEnabled = true)
val expectedPolicy = createMockPolicyView(organizationId = "mockId-3", enabled = true)
val expectedPolicy = createMockSdkPolicy(organizationId = "mockId-3", enabled = true)
every { authDiskSource.userState } returns userState
every {
authDiskSource.getOrganizations(USER_ID)
@@ -244,7 +244,7 @@ class PolicyManagerTest {
every {
authSdkSource.filterPolicies(any(), any(), any())
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-3",
enabled = true,
type = PolicyType.PASSWORD_GENERATOR,
@@ -282,7 +282,7 @@ class PolicyManagerTest {
every {
authSdkSource.filterPolicies(any(), any(), any())
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-3",
enabled = true,
type = PolicyType.RESTRICTED_ITEM_TYPES,
@@ -302,7 +302,7 @@ class PolicyManagerTest {
every { authDiskSource.getOrganizations(USER_ID) } returns null
assertEquals(
emptyList<PolicyView>(),
emptyList<Policy>(),
policyManager.getUserPolicies(
userId = USER_ID,
type = PolicyType.ORGANIZATION_DATA_OWNERSHIP,
@@ -335,7 +335,7 @@ class PolicyManagerTest {
),
)
val expectedListOfPolicies = listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-3",
enabled = true,
type = PolicyType.DISABLE_PERSONAL_VAULT_EXPORT,
@@ -407,7 +407,7 @@ class PolicyManagerTest {
organizations = any(),
policyType = any(),
)
} returns emptyList<PolicyView>().asSuccess()
} returns emptyList<Policy>().asSuccess()
assertNull(policyManager.getPersonalOwnershipPolicyOrganizationId())
}
@@ -441,7 +441,7 @@ class PolicyManagerTest {
every {
authSdkSource.filterPolicies(any(), any(), any())
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = expectedOrganizationId,
enabled = true,
),
@@ -517,19 +517,19 @@ class PolicyManagerTest {
every {
authSdkSource.filterPolicies(any(), any(), any())
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
number = 3,
organizationId = "mockId-3",
enabled = true,
revisionDate = latestRevisionDate,
),
createMockPolicyView(
createMockSdkPolicy(
number = 1,
organizationId = expectedOrganizationId,
enabled = true,
revisionDate = earliestRevisionDate,
),
createMockPolicyView(
createMockSdkPolicy(
number = 2,
organizationId = "mockId-2",
enabled = true,
@@ -592,7 +592,7 @@ class PolicyManagerTest {
every {
authSdkSource.filterPolicies(any(), any(), any())
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
number = 2,
organizationId = expectedOrganizationId,
enabled = true,
@@ -612,7 +612,7 @@ class PolicyManagerTest {
fun `getEffectiveSendPolicy should mirror legacy DisableSend policy when flag is off`() {
setUpSendPolicies(
disableSendPolicies = listOf(
createMockPolicyView(organizationId = "mockId-1", enabled = true),
createMockSdkPolicy(organizationId = "mockId-1", enabled = true),
),
)
@@ -633,7 +633,7 @@ class PolicyManagerTest {
fun `getEffectiveSendPolicy should mirror legacy SendOptions policy when flag is off`() {
setUpSendPolicies(
sendOptionsPolicies = listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-1",
enabled = true,
type = PolicyType.SEND_OPTIONS,
@@ -659,7 +659,7 @@ class PolicyManagerTest {
fun `getEffectiveSendPolicy should ignore an active SendControls policy when flag is off`() {
setUpSendPolicies(
sendControlsPolicies = listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-1",
enabled = true,
type = PolicyType.SEND_CONTROLS,
@@ -667,7 +667,7 @@ class PolicyManagerTest {
),
),
disableSendPolicies = listOf(
createMockPolicyView(organizationId = "mockId-1", enabled = true),
createMockSdkPolicy(organizationId = "mockId-1", enabled = true),
),
)
@@ -690,7 +690,7 @@ class PolicyManagerTest {
mutableSendControlsFlagFlow.value = true
setUpSendPolicies(
sendControlsPolicies = listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-1",
enabled = true,
type = PolicyType.SEND_CONTROLS,
@@ -698,7 +698,7 @@ class PolicyManagerTest {
),
),
disableSendPolicies = listOf(
createMockPolicyView(organizationId = "mockId-1", enabled = true),
createMockSdkPolicy(organizationId = "mockId-1", enabled = true),
),
)
@@ -721,7 +721,7 @@ class PolicyManagerTest {
mutableSendControlsFlagFlow.value = true
setUpSendPolicies(
sendControlsPolicies = listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-1",
enabled = true,
type = PolicyType.SEND_CONTROLS,
@@ -730,8 +730,8 @@ class PolicyManagerTest {
),
disableSendPolicies = listOf(
// mockId-1 has SendControls (exclusion applies), mockId-2 does not.
createMockPolicyView(organizationId = "mockId-1", enabled = true),
createMockPolicyView(organizationId = "mockId-2", enabled = true),
createMockSdkPolicy(organizationId = "mockId-1", enabled = true),
createMockSdkPolicy(organizationId = "mockId-2", enabled = true),
),
)
@@ -754,7 +754,7 @@ class PolicyManagerTest {
mutableSendControlsFlagFlow.value = true
setUpSendPolicies(
sendControlsPolicies = listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-1",
enabled = true,
type = PolicyType.SEND_CONTROLS,
@@ -762,7 +762,7 @@ class PolicyManagerTest {
),
),
sendOptionsPolicies = listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-2",
enabled = true,
type = PolicyType.SEND_OPTIONS,
@@ -790,7 +790,7 @@ class PolicyManagerTest {
mutableSendControlsFlagFlow.value = true
setUpSendPolicies(
sendControlsPolicies = listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-1",
enabled = true,
type = PolicyType.SEND_CONTROLS,
@@ -825,7 +825,7 @@ class PolicyManagerTest {
setUpSendPolicies(
sendControlsPolicies = listOf(
// Listed first, but revised later, so it should lose to the policy below.
createMockPolicyView(
createMockSdkPolicy(
number = 2,
organizationId = "mockId-2",
enabled = true,
@@ -833,7 +833,7 @@ class PolicyManagerTest {
data = """{"allowedDomains":"later.example.com"}""",
revisionDate = Instant.parse("2026-06-01T00:00:00Z"),
),
createMockPolicyView(
createMockSdkPolicy(
number = 1,
organizationId = "mockId-1",
enabled = true,
@@ -886,14 +886,14 @@ class PolicyManagerTest {
organizations = any(),
policyType = PolicyType.SEND_CONTROLS,
)
} returns emptyList<PolicyView>().asSuccess()
} returns emptyList<Policy>().asSuccess()
every {
authSdkSource.filterPolicies(
policies = any(),
organizations = any(),
policyType = PolicyType.SEND_OPTIONS,
)
} returns emptyList<PolicyView>().asSuccess()
} returns emptyList<Policy>().asSuccess()
every {
authSdkSource.filterPolicies(
policies = any(),
@@ -901,8 +901,8 @@ class PolicyManagerTest {
policyType = PolicyType.DISABLE_SEND,
)
} returnsMany listOf(
emptyList<PolicyView>().asSuccess(),
listOf(createMockPolicyView(organizationId = organizations.id, enabled = true))
emptyList<Policy>().asSuccess(),
listOf(createMockSdkPolicy(organizationId = organizations.id, enabled = true))
.asSuccess(),
)
@@ -956,7 +956,7 @@ class PolicyManagerTest {
policyType = PolicyType.SEND_CONTROLS,
)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = organizations.id,
enabled = true,
type = PolicyType.SEND_CONTROLS,
@@ -971,7 +971,7 @@ class PolicyManagerTest {
policyType = PolicyType.DISABLE_SEND,
)
} returns listOf(
createMockPolicyView(organizationId = organizations.id, enabled = true),
createMockSdkPolicy(organizationId = organizations.id, enabled = true),
)
.asSuccess()
every {
@@ -980,7 +980,7 @@ class PolicyManagerTest {
organizations = any(),
policyType = PolicyType.SEND_OPTIONS,
)
} returns emptyList<PolicyView>().asSuccess()
} returns emptyList<Policy>().asSuccess()
mutableUserStateFlow.value = userStateJson
mutableOrganizationsFlow.value = listOf(organizations)
@@ -1013,12 +1013,12 @@ class PolicyManagerTest {
/**
* Sets up the mocks required for [PolicyManagerImpl.getEffectiveSendPolicy] /
* [PolicyManagerImpl.getEffectiveSendPolicyFlow] to return, per policy type, the given lists
* of already-decoded [PolicyView]s.
* of already-decoded [Policy]s.
*/
private fun setUpSendPolicies(
disableSendPolicies: List<PolicyView> = emptyList(),
sendControlsPolicies: List<PolicyView> = emptyList(),
sendOptionsPolicies: List<PolicyView> = emptyList(),
disableSendPolicies: List<Policy> = emptyList(),
sendControlsPolicies: List<Policy> = emptyList(),
sendOptionsPolicies: List<Policy> = emptyList(),
) {
val userState: UserStateJson = mockk {
every { activeUserId } returns USER_ID
@@ -6,8 +6,8 @@ import com.bitwarden.data.datasource.disk.model.EnvironmentUrlDataJson
import com.bitwarden.network.model.KdfTypeJson
import com.bitwarden.network.model.MasterPasswordUnlockDataJson
import com.bitwarden.network.model.UserDecryptionOptionsJson
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.auth.datasource.disk.model.AccountJson
import com.x8bit.bitwarden.data.auth.datasource.disk.model.ForcePasswordResetReason
import com.x8bit.bitwarden.data.auth.datasource.disk.model.UserStateJson
@@ -19,7 +19,7 @@ import com.x8bit.bitwarden.data.auth.repository.model.PasswordStrengthResult
import com.x8bit.bitwarden.data.auth.repository.model.PolicyInformation
import com.x8bit.bitwarden.data.auth.repository.util.toSdkParams
import com.x8bit.bitwarden.data.platform.manager.PolicyManager
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import io.mockk.coEvery
import io.mockk.every
import io.mockk.mockk
@@ -375,7 +375,7 @@ class PasswordPolicyManagerTest {
every {
policyManager.getActivePolicies(type = PolicyType.MASTER_PASSWORD)
} returns policyDataJson.map { data ->
createMockPolicyView(
createMockSdkPolicy(
type = PolicyType.MASTER_PASSWORD,
enabled = true,
data = data,
@@ -385,7 +385,7 @@ class PasswordPolicyManagerTest {
}
/**
* Builds the `data` payload of a master password [PolicyView].
* Builds the `data` payload of a master password [Policy].
*/
@Suppress("LongParameterList")
private fun createPolicyJson(
@@ -4,15 +4,15 @@ import app.cash.turbine.test
import com.bitwarden.core.data.manager.dispatcher.FakeDispatcherManager
import com.bitwarden.data.datasource.disk.model.EnvironmentUrlDataJson
import com.bitwarden.network.model.KdfTypeJson
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.auth.datasource.disk.model.AccountJson
import com.x8bit.bitwarden.data.auth.datasource.disk.model.UserStateJson
import com.x8bit.bitwarden.data.auth.datasource.disk.util.FakeAuthDiskSource
import com.x8bit.bitwarden.data.platform.datasource.disk.util.FakeSettingsDiskSource
import com.x8bit.bitwarden.data.platform.manager.PolicyManager
import com.x8bit.bitwarden.data.platform.manager.policy.model.UserNotificationPolicyData
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import io.mockk.every
import io.mockk.mockk
import io.mockk.verify
@@ -29,8 +29,8 @@ class UserNotificationPolicyManagerTest {
private val fakeAuthDiskSource = FakeAuthDiskSource()
private val fakeSettingsDiskSource = FakeSettingsDiskSource()
private val mutablePoliciesFlow = MutableStateFlow(emptyList<PolicyView>())
private val userPolicies = mutableMapOf<String, List<PolicyView>>()
private val mutablePoliciesFlow = MutableStateFlow(emptyList<Policy>())
private val userPolicies = mutableMapOf<String, List<Policy>>()
private val policyManager: PolicyManager = mockk {
every {
getActivePolicies(type = PolicyType.ORGANIZATION_USER_NOTIFICATION)
@@ -319,7 +319,7 @@ class UserNotificationPolicyManagerTest {
* Sets the active organization user notification [policies], each of which should be created
* via [createPolicy].
*/
private fun setPolicies(vararg policies: PolicyView) {
private fun setPolicies(vararg policies: Policy) {
mutablePoliciesFlow.value = policies.toList()
}
@@ -327,19 +327,19 @@ class UserNotificationPolicyManagerTest {
* Sets the organization user notification [policies] applicable to the given [userId], each of
* which should be created via [createPolicy].
*/
private fun setUserPolicies(userId: String, vararg policies: PolicyView) {
private fun setUserPolicies(userId: String, vararg policies: Policy) {
userPolicies[userId] = policies.toList()
}
}
/**
* Creates an active organization user notification [PolicyView].
* Creates an active organization user notification [Policy].
*/
private fun createPolicy(
number: Int = 1,
data: String? = createPolicyJson(),
revisionDate: Instant? = REVISION_DATE,
): PolicyView = createMockPolicyView(
): Policy = createMockSdkPolicy(
number = number,
type = PolicyType.ORGANIZATION_USER_NOTIFICATION,
enabled = true,
@@ -348,7 +348,7 @@ private fun createPolicy(
)
/**
* Builds the `data` payload of an organization user notification [PolicyView].
* Builds the `data` payload of an organization user notification [Policy].
*/
private fun createPolicyJson(
headerText: String? = "mockHeaderText",
@@ -2,11 +2,11 @@ package com.x8bit.bitwarden.data.platform.manager.util
import app.cash.turbine.test
import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.auth.repository.model.PolicyInformation
import com.x8bit.bitwarden.data.platform.manager.PolicyManager
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import io.mockk.every
import io.mockk.mockk
import kotlinx.coroutines.test.runTest
@@ -14,7 +14,7 @@ import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
class PolicyManagerExtensionsTest {
private val mutablePolicyFlow = bufferedMutableSharedFlow<List<PolicyView>>()
private val mutablePolicyFlow = bufferedMutableSharedFlow<List<Policy>>()
private val policyManager: PolicyManager = mockk {
every { getActivePoliciesFlow(any()) } returns mutablePolicyFlow
}
@@ -87,7 +87,7 @@ class PolicyManagerExtensionsTest {
}
}
private val MASTER_PASSWORD_POLICY = createMockPolicyView(
private val MASTER_PASSWORD_POLICY = createMockSdkPolicy(
organizationId = "organizationId",
id = "master_password_id",
type = PolicyType.MASTER_PASSWORD,
@@ -115,7 +115,7 @@ private val MASTER_PASSWORD_POLICY_INFO = PolicyInformation.MasterPassword(
enforceOnLogin = true,
)
private val PASSWORD_GENERATOR_POLICY = createMockPolicyView(
private val PASSWORD_GENERATOR_POLICY = createMockSdkPolicy(
organizationId = "organizationId",
id = "password_generator_id",
type = PolicyType.PASSWORD_GENERATOR,
@@ -14,8 +14,8 @@ import com.bitwarden.data.manager.flightrecorder.FlightRecorderManager
import com.bitwarden.network.model.KdfTypeJson
import com.bitwarden.network.model.TrustedDeviceUserDecryptionOptionsJson
import com.bitwarden.network.model.UserDecryptionOptionsJson
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.ui.platform.feature.settings.appearance.model.AppLanguage
import com.bitwarden.ui.platform.feature.settings.appearance.model.AppTheme
import com.x8bit.bitwarden.data.auth.datasource.disk.model.AccountJson
@@ -37,7 +37,7 @@ import com.x8bit.bitwarden.data.platform.repository.model.UriMatchType
import com.x8bit.bitwarden.data.platform.repository.model.VaultTimeout
import com.x8bit.bitwarden.data.platform.repository.model.VaultTimeoutAction
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.every
@@ -69,7 +69,7 @@ class SettingsRepositoryTest {
private val fakeAuthDiskSource = FakeAuthDiskSource()
private val fakeSettingsDiskSource = FakeSettingsDiskSource()
private val vaultSdkSource: VaultSdkSource = mockk()
private val mutableActivePolicyFlow = bufferedMutableSharedFlow<List<PolicyView>>()
private val mutableActivePolicyFlow = bufferedMutableSharedFlow<List<Policy>>()
private val policyManager: PolicyManager = mockk {
every {
getActivePoliciesFlow(type = PolicyType.MAXIMUM_VAULT_TIMEOUT)
@@ -1455,7 +1455,7 @@ class SettingsRepositoryTest {
fakeSettingsDiskSource.assertVaultTimeoutAction(userId = USER_ID, expected = null)
fakeSettingsDiskSource.assertVaultTimeoutInMinutes(userId = USER_ID, expected = null)
mutableActivePolicyFlow.emit(listOf(createMockPolicyView()))
mutableActivePolicyFlow.emit(listOf(createMockSdkPolicy()))
fakeSettingsDiskSource.assertVaultTimeoutAction(userId = USER_ID, expected = null)
fakeSettingsDiskSource.assertVaultTimeoutInMinutes(userId = USER_ID, expected = null)
}
@@ -1466,7 +1466,7 @@ class SettingsRepositoryTest {
fakeAuthDiskSource.userState = MOCK_USER_STATE
fakeSettingsDiskSource.assertVaultTimeoutAction(userId = USER_ID, expected = null)
val lockPolicy = createMockPolicyView(
val lockPolicy = createMockSdkPolicy(
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = createMockVaultTimeoutPolicyJsonString(
vaultTimeout = createMockVaultTimeoutPolicy(
@@ -1480,7 +1480,7 @@ class SettingsRepositoryTest {
expected = VaultTimeoutAction.LOCK,
)
val logoutPolicy = createMockPolicyView(
val logoutPolicy = createMockSdkPolicy(
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = createMockVaultTimeoutPolicyJsonString(
vaultTimeout = createMockVaultTimeoutPolicy(
@@ -1506,7 +1506,7 @@ class SettingsRepositoryTest {
vaultTimeoutInMinutes = 100,
)
val nullTypeWithMinutesPolicy = createMockPolicyView(
val nullTypeWithMinutesPolicy = createMockSdkPolicy(
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = createMockVaultTimeoutPolicyJsonString(
vaultTimeout = createMockVaultTimeoutPolicy(minutes = 5),
@@ -1515,7 +1515,7 @@ class SettingsRepositoryTest {
mutableActivePolicyFlow.emit(listOf(nullTypeWithMinutesPolicy))
fakeSettingsDiskSource.assertVaultTimeoutInMinutes(userId = USER_ID, expected = 5)
val customMinutesPolicy = createMockPolicyView(
val customMinutesPolicy = createMockSdkPolicy(
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = createMockVaultTimeoutPolicyJsonString(
vaultTimeout = createMockVaultTimeoutPolicy(
@@ -1528,7 +1528,7 @@ class SettingsRepositoryTest {
// No change since 5 is within the range
fakeSettingsDiskSource.assertVaultTimeoutInMinutes(userId = USER_ID, expected = 5)
val onSystemLockPolicy = createMockPolicyView(
val onSystemLockPolicy = createMockSdkPolicy(
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = createMockVaultTimeoutPolicyJsonString(
vaultTimeout = createMockVaultTimeoutPolicy(
@@ -1541,7 +1541,7 @@ class SettingsRepositoryTest {
// Set to on app restart
fakeSettingsDiskSource.assertVaultTimeoutInMinutes(userId = USER_ID, expected = -1)
val onAppRestartPolicy = createMockPolicyView(
val onAppRestartPolicy = createMockSdkPolicy(
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = createMockVaultTimeoutPolicyJsonString(
vaultTimeout = createMockVaultTimeoutPolicy(
@@ -1554,7 +1554,7 @@ class SettingsRepositoryTest {
// No change, ON_APP_RESTART is treated the same as ON_SYSTEM_RESTART
fakeSettingsDiskSource.assertVaultTimeoutInMinutes(userId = USER_ID, expected = -1)
val immediatePolicy = createMockPolicyView(
val immediatePolicy = createMockSdkPolicy(
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = createMockVaultTimeoutPolicyJsonString(
vaultTimeout = createMockVaultTimeoutPolicy(
@@ -1567,7 +1567,7 @@ class SettingsRepositoryTest {
// Set to Immediate
fakeSettingsDiskSource.assertVaultTimeoutInMinutes(userId = USER_ID, expected = 0)
val neverPolicy = createMockPolicyView(
val neverPolicy = createMockSdkPolicy(
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = createMockVaultTimeoutPolicyJsonString(
vaultTimeout = createMockVaultTimeoutPolicy(
@@ -1524,7 +1524,7 @@ class VaultSdkSourceTest {
val autofillViews = listOf(mockAutofillView)
coEvery {
clientFido2.decryptFido2AutofillCredentials(mockCipherView)
clientFido2.getFido2AutofillCredentials(mockCipherView)
} returns autofillViews
val result = vaultSdkSource.decryptFido2CredentialAutofillViews(
@@ -1544,7 +1544,7 @@ class VaultSdkSourceTest {
runTest {
val mockCipherView = createMockCipherView(number = 1)
coEvery {
clientFido2.decryptFido2AutofillCredentials(mockCipherView)
clientFido2.getFido2AutofillCredentials(mockCipherView)
} throws BitwardenException.Fido2Client(mockk<Fido2ClientException>("mockException"))
val result = vaultSdkSource.decryptFido2CredentialAutofillViews(
@@ -42,7 +42,6 @@ fun createMockCipherListView(
viewPassword: Boolean = true,
permissions: CipherPermissions? = createMockSdkCipherPermissions(),
localData: LocalDataView? = null,
key: String = "mockKey-$number",
subtitle: String = "mockSubtitle-$number",
hasOldAttachments: Boolean = false,
copyableFields: List<CopyableCipherFields> = listOf(
@@ -73,7 +72,6 @@ fun createMockCipherListView(
viewPassword = viewPassword,
permissions = permissions,
localData = localData,
key = key,
subtitle = subtitle,
hasOldAttachments = hasOldAttachments,
copyableFields = copyableFields,
@@ -8,7 +8,7 @@ import com.bitwarden.vault.CipherRepromptType
import com.bitwarden.vault.CipherType
import com.bitwarden.vault.CipherView
import com.bitwarden.vault.DriversLicenseView
import com.bitwarden.vault.Fido2Credential
import com.bitwarden.vault.Fido2CredentialView
import com.bitwarden.vault.FieldType
import com.bitwarden.vault.FieldView
import com.bitwarden.vault.IdentityView
@@ -54,7 +54,7 @@ fun createMockCipherView(
notes: String? = "mockNotes-$number",
password: String? = "mockPassword-$number",
clock: Clock = FIXED_CLOCK,
fido2Credentials: List<Fido2Credential>? = null,
fido2Credentials: List<Fido2CredentialView>? = null,
sshKey: SshKeyView? = createMockSshKeyView(number = number),
login: LoginView? = createMockLoginView(
number = number,
@@ -128,7 +128,7 @@ fun createMockLoginView(
clock: Clock = FIXED_CLOCK,
hasUris: Boolean = true,
uris: List<LoginUriView>? = listOf(createMockUriView(number = number)),
fido2Credentials: List<Fido2Credential>? = createMockSdkFido2CredentialList(number, clock),
fido2Credentials: List<Fido2CredentialView>? = createMockSdkFido2CredentialList(number, clock),
username: String? = "mockUsername-$number",
password: String? = "mockPassword-$number",
): LoginView =
@@ -143,21 +143,21 @@ fun createMockLoginView(
)
/**
* Create a list of mock [Fido2Credential] with a given [number].
* Create a list of mock [Fido2CredentialView] with a given [number].
*/
fun createMockSdkFido2CredentialList(
number: Int,
clock: Clock = FIXED_CLOCK,
): List<Fido2Credential> = listOf(createMockSdkFido2Credential(number = number, clock = clock))
): List<Fido2CredentialView> = listOf(createMockSdkFido2Credential(number = number, clock = clock))
/**
* Create a mock [Fido2Credential] with a given [number].
* Create a mock [Fido2CredentialView] with a given [number].
*/
fun createMockSdkFido2Credential(
number: Int,
rpId: String = "mockRpId-$number",
clock: Clock = FIXED_CLOCK,
): Fido2Credential = Fido2Credential(
): Fido2CredentialView = Fido2CredentialView(
credentialId = "mockCredentialId-$number",
keyType = "mockKeyType-$number",
keyAlgorithm = "mockKeyAlgorithm-$number",
@@ -8,6 +8,7 @@ import com.bitwarden.vault.CipherPermissions
import com.bitwarden.vault.CipherRepromptType
import com.bitwarden.vault.CipherType
import com.bitwarden.vault.DriversLicense
import com.bitwarden.vault.Fido2Credential
import com.bitwarden.vault.Field
import com.bitwarden.vault.FieldType
import com.bitwarden.vault.Identity
@@ -241,9 +242,44 @@ fun createMockSdkLogin(number: Int, clock: Clock): Login =
autofillOnPageLoad = false,
uris = listOf(createMockSdkUri(number = number)),
totp = "mockTotp-$number",
fido2Credentials = createMockSdkFido2CredentialList(number, clock),
fido2Credentials = createMockSdkEncryptedFido2CredentialList(
number = number,
clock = clock,
),
)
/**
* Create a list of mock encrypted [Fido2Credential] with a given [number].
*/
fun createMockSdkEncryptedFido2CredentialList(
number: Int,
clock: Clock,
): List<Fido2Credential> = listOf(
createMockSdkEncryptedFido2Credential(number = number, clock = clock),
)
/**
* Create a mock encrypted [Fido2Credential] with a given [number].
*/
fun createMockSdkEncryptedFido2Credential(
number: Int,
clock: Clock,
): Fido2Credential = Fido2Credential(
credentialId = "mockCredentialId-$number",
keyType = "mockKeyType-$number",
keyAlgorithm = "mockKeyAlgorithm-$number",
keyCurve = "mockKeyCurve-$number",
keyValue = "mockKeyValue-$number",
rpId = "mockRpId-$number",
userHandle = "mockUserHandle-$number",
userName = "mockUserName-$number",
counter = "mockCounter-$number",
rpName = "mockRpName-$number",
userDisplayName = "mockUserDisplayName-$number",
discoverable = "mockDiscoverable-$number",
creationDate = clock.instant(),
)
/**
* Create a mock [LoginUri] with a given [number].
*/
@@ -1,14 +1,14 @@
package com.x8bit.bitwarden.data.vault.datasource.sdk.model
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import java.time.Instant
/**
* Create a mock [PolicyView] with a given [number].
* Create a mock [Policy] with a given [number].
*/
@Suppress("LongParameterList")
fun createMockPolicyView(
fun createMockSdkPolicy(
number: Int = 1,
id: String = "mockId-$number",
organizationId: String = "mockOrganizationId-$number",
@@ -16,8 +16,8 @@ fun createMockPolicyView(
data: String? = null,
enabled: Boolean = false,
revisionDate: Instant? = null,
): PolicyView =
PolicyView(
): Policy =
Policy(
id = id,
organizationId = organizationId,
type = type,
@@ -16,8 +16,8 @@ import com.bitwarden.vault.EncryptionContext
import com.x8bit.bitwarden.data.platform.manager.PolicyManager
import com.x8bit.bitwarden.data.vault.datasource.sdk.VaultSdkSource
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockEncryptionContext
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkCipher
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.manager.model.ImportCxfPayloadResult
import com.x8bit.bitwarden.data.vault.manager.model.SyncVaultDataResult
import io.mockk.awaits
@@ -349,7 +349,7 @@ class CredentialExchangeImportManagerTest {
every {
policyManager.getActivePolicies(PolicyType.RESTRICTED_ITEM_TYPES)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-1",
type = PolicyType.RESTRICTED_ITEM_TYPES,
enabled = true,
@@ -444,7 +444,7 @@ class CredentialExchangeImportManagerTest {
every {
policyManager.getActivePolicies(PolicyType.RESTRICTED_ITEM_TYPES)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-1",
type = PolicyType.RESTRICTED_ITEM_TYPES,
enabled = false,
@@ -495,7 +495,7 @@ class CredentialExchangeImportManagerTest {
every {
policyManager.getActivePolicies(PolicyType.RESTRICTED_ITEM_TYPES)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "mockId-1",
type = PolicyType.RESTRICTED_ITEM_TYPES,
enabled = true,
@@ -29,8 +29,8 @@ import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockCipherView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockCollectionView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockDecryptCipherListResult
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockEncryptionContext
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkCipher
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.manager.model.GetCipherResult
import com.x8bit.bitwarden.data.vault.manager.model.VaultMigrationData
import com.x8bit.bitwarden.data.vault.repository.VaultRepository
@@ -134,7 +134,7 @@ class VaultMigrationManagerTest {
fakeAuthDiskSource.userState = MOCK_USER_STATE
// Setup conditions for migration
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -210,7 +210,7 @@ class VaultMigrationManagerTest {
val userId = "mockId-1"
fakeAuthDiskSource.userState = MOCK_USER_STATE
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -246,7 +246,7 @@ class VaultMigrationManagerTest {
fakeAuthDiskSource.userState = MOCK_USER_STATE
fakeNetworkConnectionManager.fakeIsNetworkConnected = false
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -286,7 +286,7 @@ class VaultMigrationManagerTest {
val userId = "mockId-1"
fakeAuthDiskSource.userState = MOCK_USER_STATE
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -317,7 +317,7 @@ class VaultMigrationManagerTest {
val userId = "mockId-1"
fakeAuthDiskSource.userState = MOCK_USER_STATE
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -351,7 +351,7 @@ class VaultMigrationManagerTest {
val userId = "mockId-1"
fakeAuthDiskSource.userState = MOCK_USER_STATE
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -388,7 +388,7 @@ class VaultMigrationManagerTest {
val userId = "mockId-1"
fakeAuthDiskSource.userState = MOCK_USER_STATE
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -430,7 +430,7 @@ class VaultMigrationManagerTest {
val userId = "mockId-1"
fakeAuthDiskSource.userState = MOCK_USER_STATE
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -469,7 +469,7 @@ class VaultMigrationManagerTest {
// Set sync time as null (never synced)
mutableLastSyncTimeFlow.value = null
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -513,7 +513,7 @@ class VaultMigrationManagerTest {
// where lastSyncTime was cleared without clearing cipher data
mutableLastSyncTimeFlow.value = null
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -566,7 +566,7 @@ class VaultMigrationManagerTest {
fakeAuthDiskSource.userState = MOCK_USER_STATE
fakeNetworkConnectionManager.fakeIsNetworkConnected = false
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -619,7 +619,7 @@ class VaultMigrationManagerTest {
val userId = "mockId-1"
fakeAuthDiskSource.userState = MOCK_USER_STATE
val mockPolicy = createMockPolicyView(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
val mockPolicy = createMockSdkPolicy(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
every {
policyManager.getActivePolicies(PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(mockPolicy)
@@ -489,7 +489,6 @@ class VaultSdkCipherExtensionsTest {
assertEquals("mockOrganizationId-1", result.organizationId)
assertEquals("mockFolderId-1", result.folderId)
assertEquals(listOf("mockCollectionId-1"), result.collectionIds)
assertEquals("mockKey-1", result.key)
assertEquals("mockName-1", result.name)
assertEquals("", result.subtitle)
assertEquals(0.toUInt(), result.attachments)
@@ -522,7 +521,6 @@ class VaultSdkCipherExtensionsTest {
assertEquals("mockOrganizationId-1", result.organizationId)
assertEquals("mockFolderId-1", result.folderId)
assertEquals(listOf("mockCollectionId-1"), result.collectionIds)
assertEquals("mockKey-1", result.key)
assertEquals("mockName-1", result.name)
assertEquals("", result.subtitle)
assertEquals(0.toUInt(), result.attachments)
@@ -3,9 +3,9 @@ package com.x8bit.bitwarden.data.vault.repository.util
import com.bitwarden.network.model.PolicyTypeJson
import com.bitwarden.network.model.SyncResponseJson
import com.bitwarden.network.model.createMockPolicy
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import kotlinx.serialization.json.JsonPrimitive
import kotlinx.serialization.json.buildJsonObject
import org.junit.Test
@@ -14,45 +14,45 @@ import org.junit.jupiter.api.Assertions.assertEquals
class VaultSdkPolicyExtensionsTest {
@Test
fun `toSdkPolicyViews should return empty list when given empty list`() {
fun `toSdkPolicies should return empty list when given empty list`() {
assertEquals(
emptyList<PolicyView>(),
emptyList<SyncResponseJson.Policy>().toSdkPolicyViews(),
emptyList<Policy>(),
emptyList<SyncResponseJson.Policy>().toSdkPolicies(),
)
}
@Test
fun `toSdkPolicyViews should convert all policies in a list`() {
fun `toSdkPolicies should convert all policies in a list`() {
assertEquals(
listOf(
createMockPolicyView(number = 1),
createMockPolicyView(number = 2),
createMockSdkPolicy(number = 1),
createMockSdkPolicy(number = 2),
),
listOf(
createMockPolicy(number = 1),
createMockPolicy(number = 2),
)
.toSdkPolicyViews(),
.toSdkPolicies(),
)
}
@Test
fun `toSdkPolicyViews should serialize JsonObject data to a JSON string`() {
fun `toSdkPolicies should serialize JsonObject data to a JSON string`() {
assertEquals(
listOf(createMockPolicyView(data = """{"key":"value"}""")),
listOf(createMockSdkPolicy(data = """{"key":"value"}""")),
listOf(
createMockPolicy(data = buildJsonObject { put("key", JsonPrimitive("value")) }),
)
.toSdkPolicyViews(),
.toSdkPolicies(),
)
}
@Test
fun `toSdkPolicyViews should map all PolicyTypeJson values to their SDK equivalents`() {
fun `toSdkPolicies should map all PolicyTypeJson values to their SDK equivalents`() {
POLICY_TYPE_MAP.forEach { (inputType, expectedType) ->
assertEquals(
listOf(createMockPolicyView(type = expectedType)),
listOf(createMockPolicy(type = inputType)).toSdkPolicyViews(),
listOf(createMockSdkPolicy(type = expectedType)),
listOf(createMockPolicy(type = inputType)).toSdkPolicies(),
)
}
}
@@ -9,8 +9,8 @@ import com.bitwarden.core.data.manager.model.FlagKey
import com.bitwarden.core.data.repository.model.DataState
import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
import com.bitwarden.data.repository.model.Environment
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.send.SendType
import com.bitwarden.ui.platform.base.BaseViewModelTest
import com.bitwarden.ui.platform.components.snackbar.model.BitwardenSnackbarData
@@ -54,8 +54,8 @@ import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockDriversLice
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockFolderView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockLoginView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPassportView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkFido2CredentialList
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSendView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockUriView
import com.x8bit.bitwarden.data.vault.manager.model.GetCipherResult
@@ -118,7 +118,7 @@ class SearchViewModelTest : BaseViewModelTest() {
every { setText(text = any<String>(), toastDescriptorOverride = any<Text>()) } just runs
}
private val mutableActivePoliciesFlow: MutableStateFlow<List<PolicyView>> =
private val mutableActivePoliciesFlow: MutableStateFlow<List<Policy>> =
MutableStateFlow(emptyList())
private val policyManager: PolicyManager = mockk<PolicyManager> {
every {
@@ -206,7 +206,7 @@ class SearchViewModelTest : BaseViewModelTest() {
every {
policyManager.getActivePolicies(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Org",
id = "testId",
type = PolicyType.ORGANIZATION_DATA_OWNERSHIP,
@@ -2294,7 +2294,7 @@ class SearchViewModelTest : BaseViewModelTest() {
)
mutableActivePoliciesFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Organization",
id = "testId",
type = PolicyType.RESTRICTED_ITEM_TYPES,
@@ -8,8 +8,8 @@ import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
import com.bitwarden.core.util.isBuildVersionAtLeast
import com.bitwarden.data.repository.model.Environment
import com.bitwarden.network.model.OrganizationType
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.ui.platform.base.BaseViewModelTest
import com.bitwarden.ui.platform.resource.BitwardenString
import com.bitwarden.ui.util.asText
@@ -31,7 +31,7 @@ import com.x8bit.bitwarden.data.platform.repository.model.BiometricsKeyResult
import com.x8bit.bitwarden.data.platform.repository.model.VaultTimeout
import com.x8bit.bitwarden.data.platform.repository.model.VaultTimeoutAction
import com.x8bit.bitwarden.data.platform.repository.util.FakeEnvironmentRepository
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.repository.VaultRepository
import com.x8bit.bitwarden.ui.platform.components.toggle.UnlockWithPinState
import com.x8bit.bitwarden.ui.platform.feature.settings.accountsecurity.AccountSecurityAction.AuthenticatorSyncToggle
@@ -93,8 +93,8 @@ class AccountSecurityViewModelTest : BaseViewModelTest() {
every { firstTimeStateFlow } returns mutableFirstTimeStateFlow
every { storeShowUnlockSettingBadge(any()) } just runs
}
private val mutableActivePolicyFlow = bufferedMutableSharedFlow<List<PolicyView>>()
private val mutableRemovePinPolicyFlow = bufferedMutableSharedFlow<List<PolicyView>>()
private val mutableActivePolicyFlow = bufferedMutableSharedFlow<List<Policy>>()
private val mutableRemovePinPolicyFlow = bufferedMutableSharedFlow<List<Policy>>()
private val policyManager: PolicyManager = mockk {
every {
getActivePoliciesFlow(type = PolicyType.MAXIMUM_VAULT_TIMEOUT)
@@ -142,7 +142,7 @@ class AccountSecurityViewModelTest : BaseViewModelTest() {
)
mutableActivePolicyFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
enabled = true,
type = PolicyType.MAXIMUM_VAULT_TIMEOUT,
data = Json.encodeToString(policyInformation),
@@ -170,7 +170,7 @@ class AccountSecurityViewModelTest : BaseViewModelTest() {
mutableRemovePinPolicyFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
enabled = true,
type = PolicyType.REMOVE_UNLOCK_WITH_PIN,
organizationId = "organizationUser",
@@ -194,7 +194,7 @@ class AccountSecurityViewModelTest : BaseViewModelTest() {
mutableRemovePinPolicyFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "organizationAdmin",
enabled = true,
type = PolicyType.REMOVE_UNLOCK_WITH_PIN,
@@ -218,7 +218,7 @@ class AccountSecurityViewModelTest : BaseViewModelTest() {
mutableRemovePinPolicyFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "organizationOwner",
enabled = true,
type = PolicyType.REMOVE_UNLOCK_WITH_PIN,
@@ -242,7 +242,7 @@ class AccountSecurityViewModelTest : BaseViewModelTest() {
mutableRemovePinPolicyFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "organizationCustom",
enabled = true,
type = PolicyType.REMOVE_UNLOCK_WITH_PIN,
@@ -23,7 +23,7 @@ import com.x8bit.bitwarden.data.platform.manager.PolicyManager
import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager
import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState
import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.repository.VaultRepository
import com.x8bit.bitwarden.data.vault.repository.model.ExportVaultDataResult
import com.x8bit.bitwarden.ui.auth.feature.completeregistration.PasswordStrengthState
@@ -87,7 +87,7 @@ class ExportVaultViewModelTest : BaseViewModelTest() {
fun `initial state should be correct`() = runTest {
every {
policyManager.getActivePolicies(type = PolicyType.DISABLE_PERSONAL_VAULT_EXPORT)
} returns listOf(createMockPolicyView())
} returns listOf(createMockSdkPolicy())
val viewModel = createViewModel()
viewModel.stateFlow.test {
@@ -143,7 +143,7 @@ class ExportVaultViewModelTest : BaseViewModelTest() {
} returns ValidatePasswordResult.Success(isValid = true)
every {
policyManager.getActivePolicies(type = PolicyType.RESTRICTED_ITEM_TYPES)
} returns listOf(createMockPolicyView(enabled = true))
} returns listOf(createMockSdkPolicy(enabled = true))
val viewModel = createViewModel()
viewModel.trySendAction(ExportVaultAction.PasswordInputChanged(password))
@@ -3,8 +3,8 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.vault
import app.cash.turbine.test
import com.bitwarden.core.data.manager.BuildInfoManager
import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.ui.platform.base.BaseViewModelTest
import com.bitwarden.ui.platform.components.snackbar.model.BitwardenSnackbarData
import com.bitwarden.ui.platform.manager.snackbar.SnackbarRelayManager
@@ -36,7 +36,7 @@ class VaultSettingsViewModelTest : BaseViewModelTest() {
every { firstTimeStateFlow } returns mutableFirstTimeStateFlow
every { storeShowImportLoginsSettingsBadge(any()) } just runs
}
private val mutablePoliciesFlow = bufferedMutableSharedFlow<List<PolicyView>>()
private val mutablePoliciesFlow = bufferedMutableSharedFlow<List<Policy>>()
private val policyManager = mockk<PolicyManager> {
every { getActivePolicies(any()) } returns emptyList()
every { getActivePoliciesFlow(any()) } returns mutablePoliciesFlow
@@ -7,8 +7,8 @@ import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
import com.bitwarden.data.repository.model.Environment
import com.bitwarden.generators.PassphraseGeneratorRequest
import com.bitwarden.generators.PasswordGeneratorRequest
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.ui.platform.base.BaseViewModelTest
import com.bitwarden.ui.platform.resource.BitwardenString
import com.bitwarden.ui.util.asText
@@ -31,7 +31,7 @@ import com.x8bit.bitwarden.data.tools.generator.repository.model.GeneratorResult
import com.x8bit.bitwarden.data.tools.generator.repository.model.PasscodeGenerationOptions
import com.x8bit.bitwarden.data.tools.generator.repository.model.UsernameGenerationOptions
import com.x8bit.bitwarden.data.tools.generator.repository.util.FakeGeneratorRepository
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.ui.tools.feature.generator.GeneratorState.MainType.Username.UsernameType.ForwardedEmailAlias.ServiceType
import com.x8bit.bitwarden.ui.tools.feature.generator.GeneratorState.MainType.Username.UsernameType.ForwardedEmailAlias.ServiceTypeOption
import com.x8bit.bitwarden.ui.tools.feature.generator.model.GeneratorMode
@@ -106,7 +106,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
)
}
private val mutablePolicyFlow = bufferedMutableSharedFlow<List<PolicyView>>()
private val mutablePolicyFlow = bufferedMutableSharedFlow<List<Policy>>()
private val policyManager: PolicyManager = mockk {
every { getActivePolicies(PolicyType.PASSWORD_GENERATOR) } returns emptyList()
every { getActivePoliciesFlow(PolicyType.PASSWORD_GENERATOR) } returns mutablePolicyFlow
@@ -230,7 +230,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
}
"""
val policies = listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "organizationId",
id = "id",
type = PolicyType.PASSWORD_GENERATOR,
@@ -586,7 +586,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
@Test
fun `Policy should overwrite password options if stricter`() {
val policy = createMockPolicyView(
val policy = createMockSdkPolicy(
type = PolicyType.PASSWORD_GENERATOR,
enabled = true,
data = """
@@ -636,7 +636,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
@Test
fun `Policy should overwrite passphrase options if stricter`() {
val policy = createMockPolicyView(
val policy = createMockSdkPolicy(
type = PolicyType.PASSWORD_GENERATOR,
enabled = true,
data = """
@@ -685,7 +685,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
@Test
fun `Policy should overwrite passwordType if has overridePasswordType`() {
val policy = createMockPolicyView(
val policy = createMockSdkPolicy(
type = PolicyType.PASSWORD_GENERATOR,
enabled = true,
data = """
@@ -713,7 +713,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
@Test
fun `Policy should should prioritize password if multiple have OverridePasswordType`() {
val policies = listOf(
createMockPolicyView(
createMockSdkPolicy(
number = 1,
type = PolicyType.PASSWORD_GENERATOR,
enabled = true,
@@ -723,7 +723,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
}
""",
),
createMockPolicyView(
createMockSdkPolicy(
number = 1,
type = PolicyType.PASSWORD_GENERATOR,
enabled = true,
@@ -70,9 +70,9 @@ import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createManageCollectio
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockCipherListView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockCipherView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockDecryptCipherListResult
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkCipherPermissions
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkFido2CredentialList
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createViewCollectionView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createViewExceptPasswordsCollectionView
import com.x8bit.bitwarden.data.vault.manager.model.GetCipherResult
@@ -337,7 +337,7 @@ class VaultAddEditViewModelTest : BaseViewModelTest() {
every {
policyManager.getActivePolicies(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Org",
id = "testId",
type = PolicyType.ORGANIZATION_DATA_OWNERSHIP,
@@ -5390,7 +5390,7 @@ class VaultAddEditViewModelTest : BaseViewModelTest() {
every {
policyManager.getActivePolicies(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Org",
id = "testId",
type = PolicyType.ORGANIZATION_DATA_OWNERSHIP,
@@ -4,8 +4,8 @@ import app.cash.turbine.test
import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
import com.bitwarden.cxf.model.ImportCredentialsRequestData
import com.bitwarden.data.repository.model.Environment
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.ui.platform.base.BaseViewModelTest
import com.bitwarden.ui.platform.resource.BitwardenString
import com.bitwarden.ui.util.asText
@@ -17,7 +17,7 @@ import com.x8bit.bitwarden.data.platform.manager.PolicyManager
import com.x8bit.bitwarden.data.platform.manager.SpecialCircumstanceManager
import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState
import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.ui.vault.feature.exportitems.model.AccountSelectionListItem
import com.x8bit.bitwarden.ui.vault.feature.exportitems.selectaccount.SelectAccountAction
import com.x8bit.bitwarden.ui.vault.feature.exportitems.selectaccount.SelectAccountEvent
@@ -36,8 +36,8 @@ import org.junit.jupiter.api.Test
class SelectAccountViewModelTest : BaseViewModelTest() {
private val mutableUserUserStateFlow = MutableStateFlow(DEFAULT_USER_STATE)
private val mutableRestrictItemTypesFlow = bufferedMutableSharedFlow<List<PolicyView>>()
private val mutablePersonalOwnershipPolicyFlow = bufferedMutableSharedFlow<List<PolicyView>>()
private val mutableRestrictItemTypesFlow = bufferedMutableSharedFlow<List<Policy>>()
private val mutablePersonalOwnershipPolicyFlow = bufferedMutableSharedFlow<List<Policy>>()
private val authRepository = mockk<AuthRepository> {
every { userStateFlow } returns mutableUserUserStateFlow
@@ -215,7 +215,7 @@ class SelectAccountViewModelTest : BaseViewModelTest() {
SelectAccountAction.Internal.SelectionDataReceive(
userState = DEFAULT_USER_STATE.copy(accounts = listOf(accountInOrg)),
itemRestrictedOrgs = listOf(
createMockPolicyView(
createMockSdkPolicy(
id = organizationId,
enabled = true,
),
@@ -25,7 +25,7 @@ import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockCardListView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockCipherListView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockDecryptCipherListResult
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.repository.VaultRepository
import io.mockk.awaits
import io.mockk.coEvery
@@ -187,7 +187,7 @@ class ReviewExportViewModelTest : BaseViewModelTest() {
every {
policyManager.getActivePolicies(PolicyType.RESTRICTED_ITEM_TYPES)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
type = PolicyType.RESTRICTED_ITEM_TYPES,
enabled = true,
),
@@ -23,7 +23,7 @@ import com.x8bit.bitwarden.data.platform.manager.PolicyManager
import com.x8bit.bitwarden.data.platform.manager.SpecialCircumstanceManager
import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState
import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.repository.VaultRepository
import com.x8bit.bitwarden.data.vault.repository.model.VaultUnlockResult
import com.x8bit.bitwarden.ui.vault.feature.exportitems.model.AccountSelectionListItem
@@ -61,7 +61,7 @@ class VerifyPasswordViewModelTest : BaseViewModelTest() {
}
private val policyManager = mockk<PolicyManager> {
every { getActivePolicies(PolicyType.RESTRICTED_ITEM_TYPES) } returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = DEFAULT_ORGANIZATION_ID,
enabled = false,
),
@@ -137,7 +137,7 @@ class VerifyPasswordViewModelTest : BaseViewModelTest() {
every {
policyManager.getActivePolicies(PolicyType.RESTRICTED_ITEM_TYPES)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = DEFAULT_ORGANIZATION_ID,
enabled = true,
),
@@ -13,7 +13,7 @@ import com.bitwarden.ui.platform.resource.BitwardenString
import com.bitwarden.ui.util.asPluralsText
import com.bitwarden.ui.util.asText
import com.x8bit.bitwarden.data.platform.manager.PolicyManager
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.manager.model.SyncVaultDataResult
import com.x8bit.bitwarden.data.vault.repository.VaultRepository
import com.x8bit.bitwarden.data.vault.repository.model.ImportCredentialsResult
@@ -100,7 +100,7 @@ class ImportItemsViewModelTest : BaseViewModelTest() {
every {
policyManager.getActivePolicies(PolicyType.RESTRICTED_ITEM_TYPES)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "org-id",
id = "policy-id",
type = PolicyType.RESTRICTED_ITEM_TYPES,
@@ -25,8 +25,8 @@ import com.bitwarden.core.data.util.asSuccess
import com.bitwarden.data.repository.model.Environment
import com.bitwarden.data.repository.util.baseIconUrl
import com.bitwarden.data.repository.util.baseWebSendUrl
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.send.SendType
import com.bitwarden.ui.platform.base.BaseViewModelTest
import com.bitwarden.ui.platform.components.account.model.AccountSummary
@@ -96,8 +96,8 @@ import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockDriversLice
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockFolderView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockLoginListView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPassportView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkFido2CredentialList
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSendView
import com.x8bit.bitwarden.data.vault.manager.model.GetCipherResult
import com.x8bit.bitwarden.data.vault.repository.VaultRepository
@@ -219,7 +219,7 @@ class VaultItemListingViewModelTest : BaseViewModelTest() {
authRepository = mockAuthRepository,
dispatcherManager = FakeDispatcherManager(),
)
private val mutableActivePoliciesFlow: MutableStateFlow<List<PolicyView>> =
private val mutableActivePoliciesFlow: MutableStateFlow<List<Policy>> =
MutableStateFlow(emptyList())
private val policyManager: PolicyManager = mockk {
every { getEffectiveSendPolicy() } returns DEFAULT_EFFECTIVE_SEND_POLICY
@@ -397,7 +397,7 @@ class VaultItemListingViewModelTest : BaseViewModelTest() {
)
mutableActivePoliciesFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Organization",
id = "testId",
type = PolicyType.RESTRICTED_ITEM_TYPES,
@@ -1683,7 +1683,7 @@ class VaultItemListingViewModelTest : BaseViewModelTest() {
)
mutableActivePoliciesFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Organization",
id = "testId",
type = PolicyType.RESTRICTED_ITEM_TYPES,
@@ -1723,7 +1723,7 @@ class VaultItemListingViewModelTest : BaseViewModelTest() {
)
mutableActivePoliciesFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Organization",
id = "testId",
type = PolicyType.RESTRICTED_ITEM_TYPES,
@@ -9,8 +9,8 @@ import com.bitwarden.data.datasource.disk.model.FlightRecorderDataSet
import com.bitwarden.data.repository.model.Environment
import com.bitwarden.data.repository.util.baseIconUrl
import com.bitwarden.network.exception.CookieRedirectException
import com.bitwarden.policies.Policy
import com.bitwarden.policies.PolicyType
import com.bitwarden.policies.PolicyView
import com.bitwarden.ui.platform.base.BaseViewModelTest
import com.bitwarden.ui.platform.components.account.model.AccountSummary
import com.bitwarden.ui.platform.components.snackbar.model.BitwardenSnackbarData
@@ -62,8 +62,8 @@ import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockFolderView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockLoginListView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockLoginView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPassportView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockPolicyView
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkCipher
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSdkPolicy
import com.x8bit.bitwarden.data.vault.datasource.sdk.model.createMockSendView
import com.x8bit.bitwarden.data.vault.manager.model.GetCipherResult
import com.x8bit.bitwarden.data.vault.manager.model.SyncVaultDataResult
@@ -133,7 +133,7 @@ class VaultViewModelTest : BaseViewModelTest() {
every { setText(text = any<String>(), toastDescriptorOverride = any<Text>()) } just runs
}
private val mutableActivePoliciesFlow: MutableStateFlow<List<PolicyView>> =
private val mutableActivePoliciesFlow: MutableStateFlow<List<Policy>> =
MutableStateFlow(emptyList())
private val policyManager: PolicyManager = mockk {
every {
@@ -848,7 +848,7 @@ class VaultViewModelTest : BaseViewModelTest() {
every {
policyManager.getActivePolicies(type = PolicyType.ORGANIZATION_DATA_OWNERSHIP)
} returns listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Organization",
id = "testId",
type = PolicyType.ORGANIZATION_DATA_OWNERSHIP,
@@ -939,7 +939,7 @@ class VaultViewModelTest : BaseViewModelTest() {
)
mutableActivePoliciesFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Organization",
id = "testId",
type = PolicyType.RESTRICTED_ITEM_TYPES,
@@ -4331,7 +4331,7 @@ class VaultViewModelTest : BaseViewModelTest() {
val viewModel = createViewModel()
mutableActivePoliciesFlow.emit(
listOf(
createMockPolicyView(
createMockSdkPolicy(
organizationId = "Test Organization",
id = "testId",
type = PolicyType.RESTRICTED_ITEM_TYPES,
+1 -1
View File
@@ -29,7 +29,7 @@ androidxRoom = "2.8.4"
androidxSecurityCrypto = "1.1.0"
androidxSplash = "1.2.0"
androidxWork = "2.11.2"
bitwardenSdk = "3.0.0-8946-8b9fa3e2"
bitwardenSdk = "3.0.0-9018-167d44ec"
crashlytics = "3.0.8"
detekt = "1.23.8"
firebaseBom = "34.18.0"