@@ -21,6 +21,7 @@ import com.stevesoltys.seedvault.header.VERSION
21
21
import com.stevesoltys.seedvault.metadata.BackupType
22
22
import com.stevesoltys.seedvault.metadata.MetadataReader
23
23
import com.stevesoltys.seedvault.metadata.PackageMetadata
24
+ import com.stevesoltys.seedvault.proto.Snapshot
24
25
import com.stevesoltys.seedvault.proto.copy
25
26
import com.stevesoltys.seedvault.repo.SnapshotManager
26
27
import com.stevesoltys.seedvault.transport.TransportTest
@@ -35,6 +36,7 @@ import io.mockk.verify
35
36
import kotlinx.coroutines.runBlocking
36
37
import org.calyxos.seedvault.core.backends.AppBackupFileType
37
38
import org.calyxos.seedvault.core.backends.Backend
39
+ import org.calyxos.seedvault.core.backends.FileBackupFileType
38
40
import org.calyxos.seedvault.core.backends.FileInfo
39
41
import org.calyxos.seedvault.core.backends.LegacyAppBackupFile
40
42
import org.calyxos.seedvault.core.backends.saf.SafProperties
@@ -96,16 +98,22 @@ internal class RestoreCoordinatorTest : TransportTest() {
96
98
fun `getAvailableRestoreSets() builds set from plugin response` () = runBlocking {
97
99
val handle1 = LegacyAppBackupFile .Metadata (token)
98
100
val handle2 = LegacyAppBackupFile .Metadata (token + 1 )
101
+ val handle3 = AppBackupFileType .Snapshot (" foo" , " bar" )
102
+ // last handle should get ignored
103
+ val handle4 = FileBackupFileType .Snapshot (" foodi" , token + 2 )
99
104
100
- coEvery { backend.getAvailableBackupFileHandles() } returns listOf (handle1, handle2)
105
+ coEvery {
106
+ backend.getAvailableBackupFileHandles()
107
+ } returns listOf (handle1, handle2, handle3, handle4)
101
108
coEvery { backend.load(handle1) } returns inputStream
102
109
coEvery { backend.load(handle2) } returns inputStream
110
+ coEvery { snapshotManager.loadSnapshot(handle3) } returns mockk<Snapshot >(relaxed = true )
103
111
every { metadataReader.readMetadata(inputStream, token) } returns metadata
104
112
every { metadataReader.readMetadata(inputStream, token + 1 ) } returns metadata
105
113
every { inputStream.close() } just Runs
106
114
107
115
val sets = restore.getAvailableRestoreSets() ? : fail()
108
- assertEquals(2 , sets.size)
116
+ assertEquals(3 , sets.size) // file backup snapshot handle4 is ignored
109
117
assertEquals(metadata.deviceName, sets[0 ].device)
110
118
assertEquals(metadata.deviceName, sets[0 ].name)
111
119
assertEquals(metadata.token, sets[0 ].token)
@@ -114,7 +122,7 @@ internal class RestoreCoordinatorTest : TransportTest() {
114
122
every { metadataReader.readMetadata(inputStream, token + 1 ) } returns d2dMetadata
115
123
116
124
val d2dSets = restore.getAvailableRestoreSets() ? : fail()
117
- assertEquals(2 , d2dSets.size)
125
+ assertEquals(3 , d2dSets.size)
118
126
assertEquals(D2D_DEVICE_NAME , d2dSets[0 ].device)
119
127
assertEquals(metadata.deviceName, d2dSets[0 ].name)
120
128
assertEquals(metadata.token, d2dSets[0 ].token)
0 commit comments