package com.peachpasswords.sync import org.junit.Assert.assertThrows import org.junit.Test class LockedSyncSpoolModelTest { @Test fun cumulative_inbox_counts_are_bounded_when_state_is_rebuilt() { val entries = (0..SyncLimits.MAX_ENTRY_COUNT).associate { index -> "entry-$index" to LockedSyncCachedEntry(1, "AA==") } val tombstones = (0..SyncLimits.MAX_TOMBSTONE_COUNT).associate { index -> "tombstone-$index" to 1L } assertThrows(IllegalArgumentException::class.java) { state(inboxEntries = entries) } assertThrows(IllegalArgumentException::class.java) { state(inboxTombstones = tombstones) } } private fun state( inboxEntries: Map = emptyMap(), inboxTombstones: Map = emptyMap(), ) = LockedSyncSpool( vaultId = "a".repeat(64), deviceId = "device", deviceName = "Android", localVersion = 1, longTermPublicKeyHex = "b".repeat(64), signingPublicKeyHex = "d".repeat(64), entries = emptyMap(), tombstones = emptyMap(), inboxEntries = inboxEntries, inboxTombstones = inboxTombstones, ) }