Skip to content

Commit

Permalink
Fix KVRestore spies to use new functions
Browse files Browse the repository at this point in the history
  • Loading branch information
stevesoltys committed Sep 25, 2024
1 parent 7c1785e commit 2d51cb7
Showing 1 changed file with 28 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import com.stevesoltys.seedvault.e2e.screen.impl.RestoreScreen
import com.stevesoltys.seedvault.transport.restore.FullRestore
import com.stevesoltys.seedvault.transport.restore.KVRestore
import com.stevesoltys.seedvault.transport.restore.OutputFactory
import io.mockk.Call
import io.mockk.MockKAnswerScope
import io.mockk.clearMocks
import io.mockk.coEvery
import io.mockk.every
Expand Down Expand Up @@ -161,14 +163,24 @@ internal interface LargeRestoreTestBase : LargeTestBase {

clearMocks(spyKVRestore)

coEvery {
spyKVRestore.initializeState(any(), any(), any(), any())
} answers {
val initializeStateBlock: MockKAnswerScope<Unit, Unit>.(Call) -> Unit = {
packageName = arg<PackageInfo>(3).packageName
restoreResult.kv[packageName!!] = mutableMapOf()
callOriginal()
}

coEvery {
spyKVRestore.initializeState(any(), any(), any(), any())
} answers initializeStateBlock

coEvery {
spyKVRestore.initializeStateV1(any(), any(), any(), any())
} answers initializeStateBlock

coEvery {
spyKVRestore.initializeStateV0(any(), any())
} answers initializeStateBlock

every {
spyOutputFactory.getBackupDataOutput(any())
} answers {
Expand All @@ -186,9 +198,7 @@ internal interface LargeRestoreTestBase : LargeTestBase {

clearMocks(spyFullRestore)

coEvery {
spyFullRestore.initializeState(any(), any(), any())
} answers {
val initializeStateBlock: MockKAnswerScope<Unit, Unit>.(Call) -> Unit = {
packageName?.let {
restoreResult.full[it] = dataIntercept.toByteArray().sha256()
}
Expand All @@ -199,6 +209,18 @@ internal interface LargeRestoreTestBase : LargeTestBase {
callOriginal()
}

coEvery {
spyFullRestore.initializeState(any(), any(), any())
} answers initializeStateBlock

coEvery {
spyFullRestore.initializeStateV1(any(), any(), any())
} answers initializeStateBlock

coEvery {
spyFullRestore.initializeStateV0(any(), any())
} answers initializeStateBlock

every {
spyOutputFactory.getOutputStream(any())
} answers {
Expand Down

0 comments on commit 2d51cb7

Please sign in to comment.