diff options
| author | Joel Klinghed <the_jk@spawned.biz> | 2024-10-14 21:41:06 +0200 |
|---|---|---|
| committer | Joel Klinghed <the_jk@spawned.biz> | 2024-10-14 22:45:57 +0200 |
| commit | ea9621389bfa62cb4e63688249c52ac0e41ff282 (patch) | |
| tree | 4932900d0c058aa7e187fc02b214a024f801db18 /libs/test-utils | |
| parent | 2be5a5171de2ecd51973862c243aecc0be4a0876 (diff) | |
Add tests for create dir/file/link that already exists
Fix implementations to work as expected
(that createDirectory/File/Link fails if an entry with that name
already exists).
Diffstat (limited to 'libs/test-utils')
| -rw-r--r-- | libs/test-utils/src/main/java/org/the_jk/cleversync/TreeAbstractTest.kt | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/libs/test-utils/src/main/java/org/the_jk/cleversync/TreeAbstractTest.kt b/libs/test-utils/src/main/java/org/the_jk/cleversync/TreeAbstractTest.kt index 2555195..84f4ed6 100644 --- a/libs/test-utils/src/main/java/org/the_jk/cleversync/TreeAbstractTest.kt +++ b/libs/test-utils/src/main/java/org/the_jk/cleversync/TreeAbstractTest.kt @@ -8,6 +8,7 @@ import org.the_jk.cleversync.io.Directory import org.the_jk.cleversync.io.Link import org.the_jk.cleversync.io.ModifiableLink import org.the_jk.cleversync.io.ModifiableTree +import java.io.IOException abstract class TreeAbstractTest { protected lateinit var tree: ModifiableTree @@ -45,6 +46,26 @@ abstract class TreeAbstractTest { assertThat(content.links).isEmpty() } + @Test + open fun createDirectoryAlreadyExists() { + tree.createDirectory("foo") + tree.createFile("bar").write().use { it.write(0) } + if (supportSymlinks()) { + tree.createLink("fum", "does-not-exist") + } + Assert.assertThrows(IOException::class.java) { + tree.createDirectory("foo") + } + Assert.assertThrows(IOException::class.java) { + tree.createDirectory("bar") + } + if (supportSymlinks()) { + Assert.assertThrows(IOException::class.java) { + tree.createDirectory("fum") + } + } + } + @Test(timeout = 10000) open fun observeCreateDirectory() { val content = tree.liveList() @@ -80,6 +101,26 @@ abstract class TreeAbstractTest { } @Test + open fun createFileAlreadyExists() { + tree.createDirectory("foo") + tree.createFile("bar").write().use { it.write(0) } + if (supportSymlinks()) { + tree.createLink("fum", "does-not-exist") + } + Assert.assertThrows(IOException::class.java) { + tree.createFile("foo") + } + Assert.assertThrows(IOException::class.java) { + tree.createFile("bar") + } + if (supportSymlinks()) { + Assert.assertThrows(IOException::class.java) { + tree.createFile("fum") + } + } + } + + @Test open fun overwriteFile() { val foo = tree.createFile("foo") foo.write().use { os -> @@ -159,6 +200,24 @@ abstract class TreeAbstractTest { } @Test + open fun createLinkAlreadyExists() { + Assume.assumeTrue(supportSymlinks()) + + tree.createDirectory("foo") + tree.createFile("bar").write().use { it.write(0) } + tree.createLink("fum", "does-not-exist") + Assert.assertThrows(IOException::class.java) { + tree.createLink("foo", "test") + } + Assert.assertThrows(IOException::class.java) { + tree.createLink("bar", "test") + } + Assert.assertThrows(IOException::class.java) { + tree.createLink("fum", "test") + } + } + + @Test open fun createLinkSubdir() { Assume.assumeTrue(supportSymlinks()) |
