Skip to content

Commit b257b6c

Browse files
committed
RUM-6171: Add FileObserver tests
1 parent d5d41e3 commit b257b6c

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

dd-sdk-android-core/src/test/kotlin/com/datadog/android/core/internal/persistence/file/batch/BatchFileOrchestratorTest.kt

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,6 +1228,89 @@ internal class BatchFileOrchestratorTest {
12281228

12291229
// endregion
12301230

1231+
// region FileObserver
1232+
1233+
@Test
1234+
fun `M add file to knownFiles W fileObserver receives CREATE event`() {
1235+
// Given
1236+
val fileName = System.currentTimeMillis().toString()
1237+
1238+
// When
1239+
testedOrchestrator.fileObserver.onEvent(FileObserver.CREATE, fileName)
1240+
1241+
// Then
1242+
assertThat(testedOrchestrator.getAllFiles()).contains(File(fakeRootDir, fileName))
1243+
}
1244+
1245+
@Test
1246+
fun `M add file to knownFiles W fileObserver receives MOVED_TO event`() {
1247+
// Given
1248+
val fileName = System.currentTimeMillis().toString()
1249+
1250+
// When
1251+
testedOrchestrator.fileObserver.onEvent(FileObserver.MOVED_TO, fileName)
1252+
1253+
// Then
1254+
assertThat(testedOrchestrator.getAllFiles()).contains(File(fakeRootDir, fileName))
1255+
}
1256+
1257+
@Test
1258+
fun `M remove file from knownFiles W fileObserver receives DELETE event`() {
1259+
// Given
1260+
val fileName = System.currentTimeMillis().toString()
1261+
testedOrchestrator.fileObserver.onEvent(FileObserver.CREATE, fileName)
1262+
1263+
// When
1264+
testedOrchestrator.fileObserver.onEvent(FileObserver.DELETE, fileName)
1265+
1266+
// Then
1267+
assertThat(testedOrchestrator.getAllFiles()).doesNotContain(File(fakeRootDir, fileName))
1268+
}
1269+
1270+
@Test
1271+
fun `M remove file from knownFiles W fileObserver receives MOVED_FROM event`() {
1272+
// Given
1273+
val fileName = System.currentTimeMillis().toString()
1274+
testedOrchestrator.fileObserver.onEvent(FileObserver.CREATE, fileName)
1275+
1276+
// When
1277+
testedOrchestrator.fileObserver.onEvent(FileObserver.MOVED_FROM, fileName)
1278+
1279+
// Then
1280+
assertThat(testedOrchestrator.getAllFiles()).doesNotContain(File(fakeRootDir, fileName))
1281+
}
1282+
1283+
@Test
1284+
fun `M ignore event W fileObserver receives null name`() {
1285+
// When
1286+
testedOrchestrator.fileObserver.onEvent(FileObserver.CREATE, null)
1287+
1288+
// Then
1289+
assertThat(testedOrchestrator.getAllFiles()).isEmpty()
1290+
}
1291+
1292+
@Test
1293+
fun `M ignore event W fileObserver receives empty name`() {
1294+
// When
1295+
testedOrchestrator.fileObserver.onEvent(FileObserver.CREATE, "")
1296+
1297+
// Then
1298+
assertThat(testedOrchestrator.getAllFiles()).isEmpty()
1299+
}
1300+
1301+
@Test
1302+
fun `M ignore event W fileObserver receives non-batch filename`(
1303+
@StringForgery nonNumericName: String
1304+
) {
1305+
// When
1306+
testedOrchestrator.fileObserver.onEvent(FileObserver.CREATE, nonNumericName)
1307+
1308+
// Then
1309+
assertThat(testedOrchestrator.getAllFiles()).isEmpty()
1310+
}
1311+
1312+
// endregion
1313+
12311314
companion object {
12321315

12331316
private const val RECENT_DELAY_MS = 250L

0 commit comments

Comments
 (0)