summaryrefslogtreecommitdiff
path: root/libs/sftp/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'libs/sftp/src/test')
-rw-r--r--libs/sftp/src/test/java/org/the_jk/cleversync/sftp/SingleMergeLocalSftpTest.kt76
-rw-r--r--libs/sftp/src/test/java/org/the_jk/cleversync/sftp/SingleMergeSftpLocalTest.kt77
2 files changed, 153 insertions, 0 deletions
diff --git a/libs/sftp/src/test/java/org/the_jk/cleversync/sftp/SingleMergeLocalSftpTest.kt b/libs/sftp/src/test/java/org/the_jk/cleversync/sftp/SingleMergeLocalSftpTest.kt
new file mode 100644
index 0000000..0e61fa6
--- /dev/null
+++ b/libs/sftp/src/test/java/org/the_jk/cleversync/sftp/SingleMergeLocalSftpTest.kt
@@ -0,0 +1,76 @@
+package org.the_jk.cleversync.sftp
+
+import androidx.test.core.app.ApplicationProvider
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.AfterClass
+import org.junit.BeforeClass
+import org.junit.Rule
+import org.junit.rules.TemporaryFolder
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+import org.robolectric.annotation.Config
+import org.the_jk.cleversync.io.BaseSingleMergeTest
+import org.the_jk.cleversync.io.ModifiableTree
+import org.the_jk.cleversync.io.sftp.SftpCredentials
+import org.the_jk.cleversync.io.sftp.SftpHostsStorage
+import org.the_jk.cleversync.local.LocalTreeFactory
+
+@Config(manifest=Config.NONE)
+@RunWith(RobolectricTestRunner::class)
+class SingleMergeLocalSftpTest : BaseSingleMergeTest() {
+ @Rule
+ @JvmField
+ val temp = TemporaryFolder()
+
+ private lateinit var hostsStorage: SftpHostsStorage
+ private lateinit var sftp: ModifiableTree
+
+ @After
+ fun tearDownTest() {
+ sftp.close()
+
+ for (file in helper.shareDir.listFiles()!!) {
+ if (file.isDirectory) {
+ file.deleteRecursively()
+ } else {
+ file.delete()
+ }
+ }
+ }
+
+ override fun source(): ModifiableTree {
+ return LocalTreeFactory.modifiableTree(temp.root.toPath())
+ }
+
+ override fun sourceSupportsSymlinks() = true
+
+ override fun target(): ModifiableTree {
+ assertThat(helper.shareDir.listFiles()).isEmpty()
+
+ val credentials = SftpCredentials.SftpPasswordCredentials("user", "notverysecret")
+
+ hostsStorage = SftpHostsStorage(ApplicationProvider.getApplicationContext())
+
+ sftp = SftpTreeFactory.modifiableTree(helper.uri, credentials, hostsStorage).getOrThrow()
+ return sftp
+ }
+
+ override fun targetSupportsSymlinks() = true
+
+ companion object {
+ private val helper = SftpTestHelper()
+
+ @BeforeClass
+ @JvmStatic
+ fun setUpClass() {
+ helper.setUp()
+ }
+
+ @AfterClass
+ @JvmStatic
+ fun tearDownClass() {
+ helper.tearDown()
+ }
+ }
+}
diff --git a/libs/sftp/src/test/java/org/the_jk/cleversync/sftp/SingleMergeSftpLocalTest.kt b/libs/sftp/src/test/java/org/the_jk/cleversync/sftp/SingleMergeSftpLocalTest.kt
new file mode 100644
index 0000000..eeb473c
--- /dev/null
+++ b/libs/sftp/src/test/java/org/the_jk/cleversync/sftp/SingleMergeSftpLocalTest.kt
@@ -0,0 +1,77 @@
+package org.the_jk.cleversync.sftp
+
+import androidx.test.core.app.ApplicationProvider
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.AfterClass
+import org.junit.BeforeClass
+import org.junit.Rule
+import org.junit.rules.TemporaryFolder
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+import org.robolectric.annotation.Config
+import org.the_jk.cleversync.io.BaseSingleMergeTest
+import org.the_jk.cleversync.io.ModifiableTree
+import org.the_jk.cleversync.io.sftp.SftpCredentials
+import org.the_jk.cleversync.io.sftp.SftpHostsStorage
+import org.the_jk.cleversync.local.LocalTreeFactory
+import kotlin.time.Duration.Companion.milliseconds
+
+@Config(manifest=Config.NONE)
+@RunWith(RobolectricTestRunner::class)
+class SingleMergeSftpLocalTest : BaseSingleMergeTest() {
+ @Rule
+ @JvmField
+ val temp = TemporaryFolder()
+
+ private lateinit var hostsStorage: SftpHostsStorage
+ private lateinit var sftp: ModifiableTree
+
+ @After
+ fun tearDownTest() {
+ sftp.close()
+
+ for (file in helper.shareDir.listFiles()!!) {
+ if (file.isDirectory) {
+ file.deleteRecursively()
+ } else {
+ file.delete()
+ }
+ }
+ }
+
+ override fun source(): ModifiableTree {
+ assertThat(helper.shareDir.listFiles()).isEmpty()
+
+ val credentials = SftpCredentials.SftpPasswordCredentials("user", "notverysecret")
+
+ hostsStorage = SftpHostsStorage(ApplicationProvider.getApplicationContext())
+
+ sftp = SftpTreeFactory.modifiableTree(helper.uri, credentials, hostsStorage).getOrThrow()
+ return sftp
+ }
+
+ override fun sourceSupportsSymlinks() = true
+
+ override fun target(): ModifiableTree {
+ return LocalTreeFactory.modifiableTree(temp.root.toPath())
+ }
+
+ override fun targetSupportsSymlinks() = true
+
+ companion object {
+ private val helper = SftpTestHelper()
+
+ @BeforeClass
+ @JvmStatic
+ fun setUpClass() {
+ helper.setUp()
+ }
+
+ @AfterClass
+ @JvmStatic
+ fun tearDownClass() {
+ helper.tearDown()
+ }
+ }
+}