@@ -22,6 +22,7 @@ import org.calyxos.backup.storage.getRandomString
22
22
import org.calyxos.backup.storage.mockLog
23
23
import org.calyxos.backup.storage.sameCachedFile
24
24
import org.junit.Assert.assertEquals
25
+ import org.junit.Assert.assertThrows
25
26
import org.junit.Test
26
27
import java.io.IOException
27
28
import java.io.InputStream
@@ -53,7 +54,7 @@ internal class SmallFileBackupTest {
53
54
every { filesCache.getByUri(files[0 ].uri) } returns cachedFile
54
55
every { chunksCache.hasCorruptedChunks(cachedFile.chunks) } returns false
55
56
56
- val result = smallFileBackup.backupFiles(files, availableChunkIds, null )
57
+ val result = smallFileBackup.backupFiles(files, availableChunkIds, { false }, null )
57
58
assertEquals(cachedFile.chunks.toSet(), result.chunkIds)
58
59
assertEquals(1 , result.backupDocumentFiles.size)
59
60
assertEquals(backupFile, result.backupDocumentFiles[0 ])
@@ -102,6 +103,22 @@ internal class SmallFileBackupTest {
102
103
singleFileBackup(files, cachedFile, availableChunkIds, corrupted = true )
103
104
}
104
105
106
+ @Test
107
+ fun `no file gets backed up if we aborted` () {
108
+ val file = getRandomDocFile()
109
+ val files = listOf (file)
110
+ val availableChunkIds = hashSetOf(getRandomString(6 ))
111
+
112
+ addFile(file)
113
+
114
+ val e = assertThrows(IOException ::class .java) {
115
+ runBlocking {
116
+ smallFileBackup.backupFiles(files, availableChunkIds, { true }, null )
117
+ }
118
+ }
119
+ assertEquals(" Metered Network" , e.message)
120
+ }
121
+
105
122
private suspend fun singleFileBackup (
106
123
files : List <DocFile >,
107
124
cachedFile : CachedFile ? ,
@@ -119,7 +136,7 @@ internal class SmallFileBackupTest {
119
136
coEvery { zipChunker.finalizeAndReset(missingChunks) } returns zipChunk
120
137
every { filesCache.upsert(sameCachedFile(newCachedFile)) } just Runs
121
138
122
- val result = smallFileBackup.backupFiles(files, availableChunkIds, null )
139
+ val result = smallFileBackup.backupFiles(files, availableChunkIds, { false }, null )
123
140
assertEquals(newCachedFile.chunks.toSet(), result.chunkIds)
124
141
assertEquals(1 , result.backupDocumentFiles.size)
125
142
assertEquals(backupFile, result.backupDocumentFiles[0 ])
@@ -143,7 +160,7 @@ internal class SmallFileBackupTest {
143
160
coEvery { zipChunker.finalizeAndReset(emptyList()) } returns zipChunk
144
161
every { filesCache.upsert(sameCachedFile(cachedFile2)) } just Runs
145
162
146
- val result = smallFileBackup.backupFiles(files, availableChunkIds, null )
163
+ val result = smallFileBackup.backupFiles(files, availableChunkIds, { false }, null )
147
164
assertEquals(cachedFile2.chunks.toSet(), result.chunkIds)
148
165
assertEquals(1 , result.backupDocumentFiles.size)
149
166
assertEquals(backupFile, result.backupDocumentFiles[0 ])
@@ -171,7 +188,7 @@ internal class SmallFileBackupTest {
171
188
// zipChunker.finalizeAndReset defined above for both files
172
189
every { filesCache.upsert(sameCachedFile(cachedFile2)) } just Runs
173
190
174
- val result = smallFileBackup.backupFiles(files, hashSetOf(), null )
191
+ val result = smallFileBackup.backupFiles(files, hashSetOf(), { false }, null )
175
192
assertEquals(listOf (zipChunk1.id, zipChunk2.id).toSet(), result.chunkIds)
176
193
assertEquals(
177
194
listOf (backupFile1, backupFile2).sortedBy { it.name },
@@ -199,7 +216,7 @@ internal class SmallFileBackupTest {
199
216
every { filesCache.upsert(sameCachedFile(cachedFile1)) } just Runs
200
217
every { filesCache.upsert(sameCachedFile(cachedFile2)) } just Runs
201
218
202
- val result = smallFileBackup.backupFiles(files, hashSetOf(), null )
219
+ val result = smallFileBackup.backupFiles(files, hashSetOf(), { false }, null )
203
220
assertEquals(listOf (zipChunk.id).toSet(), result.chunkIds)
204
221
assertEquals(
205
222
listOf (backupFile1, backupFile2).sortedBy { it.name },
@@ -219,7 +236,7 @@ internal class SmallFileBackupTest {
219
236
addFile(file2)
220
237
coEvery { zipChunker.finalizeAndReset(emptyList()) } throws IOException ()
221
238
222
- val result = smallFileBackup.backupFiles(files, hashSetOf(), null )
239
+ val result = smallFileBackup.backupFiles(files, hashSetOf(), { false }, null )
223
240
assertEquals(emptySet<String >(), result.chunkIds)
224
241
assertEquals(0 , result.backupDocumentFiles.size)
225
242
assertEquals(0 , result.backupMediaFiles.size)
0 commit comments