Fix next backup interval test.

This commit is contained in:
Greyson Parrelli
2025-11-03 09:50:21 -05:00
committed by Michelle Tang
parent bf0307f4b0
commit 9944fbb487
2 changed files with 8 additions and 4 deletions

View File

@@ -10,7 +10,9 @@ import androidx.annotation.VisibleForTesting
import org.thoughtcrime.securesms.jobs.BackupMessagesJob
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.util.toMillis
import org.thoughtcrime.securesms.util.toOffset
import java.time.LocalDateTime
import java.time.ZoneId
import java.util.Random
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.minutes
@@ -62,11 +64,11 @@ class MessageBackupListener : PersistentAlarmManagerListener() {
}
@VisibleForTesting
fun setNextBackupTimeToIntervalFromNow(now: LocalDateTime = LocalDateTime.now(), maxJitterSeconds: Int = BACKUP_JITTER_WINDOW_SECONDS, randomSource: Random = Random()): Long {
fun setNextBackupTimeToIntervalFromNow(zoneId: ZoneId = ZoneId.systemDefault(), now: LocalDateTime = LocalDateTime.now(zoneId), maxJitterSeconds: Int = BACKUP_JITTER_WINDOW_SECONDS, randomSource: Random = Random()): Long {
val hour = SignalStore.settings.signalBackupHour
val minute = SignalStore.settings.signalBackupMinute
val next = getNextDailyBackupTimeFromNowWithJitter(now, hour, minute, maxJitterSeconds, randomSource)
val nextTime = next.toMillis()
val nextTime = next.toMillis(zoneId.toOffset())
SignalStore.backup.nextBackupTime = nextTime
return nextTime
}

View File

@@ -27,6 +27,7 @@ import org.thoughtcrime.securesms.testutil.MockSignalStoreRule
import org.thoughtcrime.securesms.util.toLocalDateTime
import java.time.Duration
import java.time.LocalDateTime
import java.time.ZoneId
import java.util.concurrent.TimeUnit
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.hours
@@ -78,8 +79,9 @@ class MessageBackupListenerTest {
val nextDateTime = MessageBackupListener.setNextBackupTimeToIntervalFromNow(
now = now,
maxJitterSeconds = jitterWindow.inWholeSeconds.toInt(),
randomSource = mockRandom
).toLocalDateTime()
randomSource = mockRandom,
zoneId = ZoneId.of("UTC")
).toLocalDateTime(ZoneId.of("UTC"))
assertThat(nextDateTime.dayOfMonth).isEqualTo(28)
assertThat(nextDateTime.hour).isEqualTo(1)