mirror of
https://github.com/bitwarden/android.git
synced 2025-12-10 00:06:22 -06:00
[PM-28467] Add revisionDate to policy JSON model (#6228)
This commit is contained in:
parent
02733f785b
commit
4905358adb
@ -7,8 +7,8 @@ import com.bitwarden.data.datasource.disk.model.EnvironmentUrlDataJson
|
||||
import com.bitwarden.network.model.GetTokenResponseJson
|
||||
import com.bitwarden.network.model.KdfTypeJson
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.createMockOrganization
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
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
|
||||
@ -259,7 +259,7 @@ class UserStateManagerTest {
|
||||
@Test
|
||||
fun `userStateFlow should update isExportable when getUserPolicies returns policies`() =
|
||||
runTest {
|
||||
val policy = SyncResponseJson.Policy(
|
||||
val policy = createMockPolicy(
|
||||
id = "policyId",
|
||||
organizationId = "mockId-1",
|
||||
type = PolicyTypeJson.DISABLE_PERSONAL_VAULT_EXPORT,
|
||||
|
||||
@ -9,6 +9,7 @@ import com.bitwarden.network.model.OrganizationType
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.TrustedDeviceUserDecryptionOptionsJson
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
import com.bitwarden.network.model.UserDecryptionJson
|
||||
import com.bitwarden.network.model.UserDecryptionOptionsJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.disk.model.AccountJson
|
||||
@ -1586,7 +1587,7 @@ class UserStateJsonExtensionsTest {
|
||||
firstTimeState = FirstTimeState(showImportLoginsCard = true),
|
||||
getUserPolicies = { _, _ ->
|
||||
listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
id = "policyId",
|
||||
organizationId = "organizationId",
|
||||
type = PolicyTypeJson.DISABLE_PERSONAL_VAULT_EXPORT,
|
||||
@ -1710,7 +1711,7 @@ class UserStateJsonExtensionsTest {
|
||||
firstTimeState = FirstTimeState(showImportLoginsCard = true),
|
||||
getUserPolicies = { _, _ ->
|
||||
listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
id = "policyId",
|
||||
organizationId = "organizationId",
|
||||
type = PolicyTypeJson.DISABLE_PERSONAL_VAULT_EXPORT,
|
||||
|
||||
@ -4,6 +4,7 @@ import app.cash.turbine.test
|
||||
import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.PolicyInformation
|
||||
import com.x8bit.bitwarden.data.platform.manager.PolicyManager
|
||||
import io.mockk.every
|
||||
@ -81,7 +82,7 @@ class PolicyManagerExtensionsTest {
|
||||
}
|
||||
}
|
||||
|
||||
private val MASTER_PASSWORD_POLICY = SyncResponseJson.Policy(
|
||||
private val MASTER_PASSWORD_POLICY = createMockPolicy(
|
||||
organizationId = "organizationId",
|
||||
id = "master_password_id",
|
||||
type = PolicyTypeJson.MASTER_PASSWORD,
|
||||
@ -109,7 +110,7 @@ private val MASTER_PASSWORD_POLICY_INFO = PolicyInformation.MasterPassword(
|
||||
enforceOnLogin = true,
|
||||
)
|
||||
|
||||
private val PASSWORD_GENERATOR_POLICY = SyncResponseJson.Policy(
|
||||
private val PASSWORD_GENERATOR_POLICY = createMockPolicy(
|
||||
organizationId = "organizationId",
|
||||
id = "password_generator_id",
|
||||
type = PolicyTypeJson.PASSWORD_GENERATOR,
|
||||
|
||||
@ -10,7 +10,7 @@ import com.bitwarden.cxf.model.CredentialExchangeVersion
|
||||
import com.bitwarden.network.model.ImportCiphersJsonRequest
|
||||
import com.bitwarden.network.model.ImportCiphersResponseJson
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
import com.bitwarden.network.service.CiphersService
|
||||
import com.bitwarden.network.util.base64UrlDecodeOrNull
|
||||
import com.bitwarden.vault.Cipher
|
||||
@ -358,7 +358,7 @@ class CredentialExchangeImportManagerTest {
|
||||
every {
|
||||
policyManager.getActivePolicies(PolicyTypeJson.RESTRICT_ITEM_TYPES)
|
||||
} returns listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
id = "mockId-1",
|
||||
organizationId = "mockId-1",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
@ -448,7 +448,7 @@ class CredentialExchangeImportManagerTest {
|
||||
every {
|
||||
policyManager.getActivePolicies(PolicyTypeJson.RESTRICT_ITEM_TYPES)
|
||||
} returns listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
id = "mockId-1",
|
||||
organizationId = "mockId-1",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
@ -497,7 +497,7 @@ class CredentialExchangeImportManagerTest {
|
||||
every {
|
||||
policyManager.getActivePolicies(PolicyTypeJson.RESTRICT_ITEM_TYPES)
|
||||
} returns listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
id = "mockId-1",
|
||||
organizationId = "mockId-1",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
|
||||
@ -10,6 +10,7 @@ import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
|
||||
import com.bitwarden.data.repository.model.Environment
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
import com.bitwarden.send.SendType
|
||||
import com.bitwarden.ui.platform.base.BaseViewModelTest
|
||||
import com.bitwarden.ui.platform.components.snackbar.model.BitwardenSnackbarData
|
||||
@ -189,7 +190,7 @@ class SearchViewModelTest : BaseViewModelTest() {
|
||||
every {
|
||||
policyManager.getActivePolicies(type = PolicyTypeJson.PERSONAL_OWNERSHIP)
|
||||
} returns listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Org",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.PERSONAL_OWNERSHIP,
|
||||
@ -1677,7 +1678,7 @@ class SearchViewModelTest : BaseViewModelTest() {
|
||||
)
|
||||
mutableActivePoliciesFlow.emit(
|
||||
listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Organization",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
|
||||
@ -222,7 +222,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
|
||||
"useLower" to JsonPrimitive(true),
|
||||
)
|
||||
val policies = listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "organizationId",
|
||||
id = "id",
|
||||
type = PolicyTypeJson.PASSWORD_GENERATOR,
|
||||
|
||||
@ -6,7 +6,7 @@ import app.cash.turbine.test
|
||||
import com.bitwarden.core.data.repository.model.DataState
|
||||
import com.bitwarden.data.repository.model.Environment
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
import com.bitwarden.send.SendView
|
||||
import com.bitwarden.ui.platform.base.BaseViewModelTest
|
||||
import com.bitwarden.ui.platform.components.snackbar.model.BitwardenSnackbarData
|
||||
@ -127,7 +127,7 @@ class AddEditSendViewModelTest : BaseViewModelTest() {
|
||||
every {
|
||||
policyManager.getActivePolicies(type = PolicyTypeJson.SEND_OPTIONS)
|
||||
} returns listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
id = "123",
|
||||
type = PolicyTypeJson.SEND_OPTIONS,
|
||||
isEnabled = true,
|
||||
|
||||
@ -15,7 +15,7 @@ import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow
|
||||
import com.bitwarden.data.repository.model.Environment
|
||||
import com.bitwarden.network.model.OrganizationType
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
import com.bitwarden.send.SendView
|
||||
import com.bitwarden.ui.platform.base.BaseViewModelTest
|
||||
import com.bitwarden.ui.platform.components.snackbar.model.BitwardenSnackbarData
|
||||
@ -304,7 +304,7 @@ class VaultAddEditViewModelTest : BaseViewModelTest() {
|
||||
every {
|
||||
policyManager.getActivePolicies(type = PolicyTypeJson.PERSONAL_OWNERSHIP)
|
||||
} returns listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Org",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.PERSONAL_OWNERSHIP,
|
||||
@ -3940,7 +3940,7 @@ class VaultAddEditViewModelTest : BaseViewModelTest() {
|
||||
every {
|
||||
policyManager.getActivePolicies(type = PolicyTypeJson.PERSONAL_OWNERSHIP)
|
||||
} returns listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Org",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.PERSONAL_OWNERSHIP,
|
||||
|
||||
@ -10,7 +10,7 @@ import com.bitwarden.ui.platform.components.snackbar.model.BitwardenSnackbarData
|
||||
import com.bitwarden.ui.platform.resource.BitwardenPlurals
|
||||
import com.bitwarden.ui.platform.resource.BitwardenString
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
import com.bitwarden.ui.util.asPluralsText
|
||||
import com.bitwarden.ui.util.asText
|
||||
import com.x8bit.bitwarden.data.platform.manager.PolicyManager
|
||||
@ -100,7 +100,7 @@ class ImportItemsViewModelTest : BaseViewModelTest() {
|
||||
every {
|
||||
policyManager.getActivePolicies(PolicyTypeJson.RESTRICT_ITEM_TYPES)
|
||||
} returns listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "org-id",
|
||||
id = "policy-id",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
|
||||
@ -26,6 +26,7 @@ import com.bitwarden.data.repository.util.baseIconUrl
|
||||
import com.bitwarden.data.repository.util.baseWebSendUrl
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
import com.bitwarden.send.SendType
|
||||
import com.bitwarden.ui.platform.base.BaseViewModelTest
|
||||
import com.bitwarden.ui.platform.components.account.model.AccountSummary
|
||||
@ -378,7 +379,7 @@ class VaultItemListingViewModelTest : BaseViewModelTest() {
|
||||
)
|
||||
mutableActivePoliciesFlow.emit(
|
||||
listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Organization",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
@ -1406,7 +1407,7 @@ class VaultItemListingViewModelTest : BaseViewModelTest() {
|
||||
)
|
||||
mutableActivePoliciesFlow.emit(
|
||||
listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Organization",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
@ -1444,7 +1445,7 @@ class VaultItemListingViewModelTest : BaseViewModelTest() {
|
||||
)
|
||||
mutableActivePoliciesFlow.emit(
|
||||
listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Organization",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
|
||||
@ -9,6 +9,7 @@ import com.bitwarden.data.repository.util.baseIconUrl
|
||||
import com.bitwarden.network.model.OrganizationType
|
||||
import com.bitwarden.network.model.PolicyTypeJson
|
||||
import com.bitwarden.network.model.SyncResponseJson
|
||||
import com.bitwarden.network.model.createMockPolicy
|
||||
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
|
||||
@ -353,7 +354,7 @@ class VaultViewModelTest : BaseViewModelTest() {
|
||||
every {
|
||||
policyManager.getActivePolicies(type = PolicyTypeJson.PERSONAL_OWNERSHIP)
|
||||
} returns listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Organization",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.PERSONAL_OWNERSHIP,
|
||||
@ -446,7 +447,7 @@ class VaultViewModelTest : BaseViewModelTest() {
|
||||
)
|
||||
mutableActivePoliciesFlow.emit(
|
||||
listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Organization",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
@ -2801,7 +2802,7 @@ class VaultViewModelTest : BaseViewModelTest() {
|
||||
val viewModel = createViewModel()
|
||||
mutableActivePoliciesFlow.emit(
|
||||
listOf(
|
||||
SyncResponseJson.Policy(
|
||||
createMockPolicy(
|
||||
organizationId = "Test Organization",
|
||||
id = "testId",
|
||||
type = PolicyTypeJson.RESTRICT_ITEM_TYPES,
|
||||
|
||||
@ -115,6 +115,7 @@ data class SyncResponseJson(
|
||||
* @property type The type of policy.
|
||||
* @property isEnabled If the policy is enabled or not.
|
||||
* @property data Any extra data about the policy, in the form of a JSON string.
|
||||
* @property revisionDate The revision date of the policy (nullable).
|
||||
*/
|
||||
@Serializable
|
||||
data class Policy(
|
||||
@ -132,6 +133,10 @@ data class SyncResponseJson(
|
||||
|
||||
@SerialName("data")
|
||||
val data: JsonObject?,
|
||||
|
||||
@SerialName("revisionDate")
|
||||
@Contextual
|
||||
val revisionDate: ZonedDateTime?,
|
||||
)
|
||||
|
||||
/**
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.bitwarden.network.model
|
||||
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
import java.time.ZonedDateTime
|
||||
|
||||
/**
|
||||
* Create a mock [SyncResponseJson.Policy] with the given [number], [type], and [data].
|
||||
@ -13,6 +14,7 @@ fun createMockPolicy(
|
||||
type: PolicyTypeJson = PolicyTypeJson.MASTER_PASSWORD,
|
||||
isEnabled: Boolean = false,
|
||||
data: JsonObject? = null,
|
||||
revisionDate: ZonedDateTime? = null,
|
||||
): SyncResponseJson.Policy =
|
||||
SyncResponseJson.Policy(
|
||||
organizationId = organizationId,
|
||||
@ -20,4 +22,5 @@ fun createMockPolicy(
|
||||
type = type,
|
||||
isEnabled = isEnabled,
|
||||
data = data,
|
||||
revisionDate = revisionDate,
|
||||
)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user