AdoptVaultSafetyTest.kt

1.2 KB · raw

1package com.peachpasswords.ui.pairing23import org.junit.Assert.assertEquals4import org.junit.Assert.assertThrows5import org.junit.Test67class AdoptVaultSafetyTest {8    @Test fun populated_vault_starts_at_pairing_without_a_repair_disclosure() {9        assertEquals(AdoptVaultUiState.Pair, initialAdoptVaultState(hasVault = true))10    }1112    @Test fun empty_install_still_collects_a_local_password_first() {13        assertEquals(AdoptVaultUiState.Password, initialAdoptVaultState(hasVault = false))14    }1516    @Test fun same_vault_identity_may_repair_without_mutation() {17        val id = "ab".repeat(32)1819        assertEquals(id, requireSameVaultForPopulatedRePair(id, id))20    }2122    @Test fun different_populated_vaults_are_never_merged_by_pairing() {23        val error = assertThrows(IllegalStateException::class.java) {24            requireSameVaultForPopulatedRePair("ab".repeat(32), "cd".repeat(32))25        }2627        assertEquals("JOIN_POPULATED_VAULT_BLOCKED", error.message)28    }2930    @Test fun locked_populated_vault_cannot_be_repaired() {31        val error = assertThrows(IllegalStateException::class.java) {32            requireSameVaultForPopulatedRePair(null, "cd".repeat(32))33        }3435        assertEquals("vault_locked", error.message)36    }37}