summaryrefslogtreecommitdiff
path: root/crashbox-server/src/test/scala/io/crashbox/ci/SourceSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'crashbox-server/src/test/scala/io/crashbox/ci/SourceSpec.scala')
-rw-r--r--crashbox-server/src/test/scala/io/crashbox/ci/SourceSpec.scala35
1 files changed, 35 insertions, 0 deletions
diff --git a/crashbox-server/src/test/scala/io/crashbox/ci/SourceSpec.scala b/crashbox-server/src/test/scala/io/crashbox/ci/SourceSpec.scala
new file mode 100644
index 0000000..9bef01d
--- /dev/null
+++ b/crashbox-server/src/test/scala/io/crashbox/ci/SourceSpec.scala
@@ -0,0 +1,35 @@
+package io.crashbox.ci
+
+import java.io.File
+import java.nio.file.Files
+import java.net.URL
+import org.eclipse.jgit.api.Git
+import scala.concurrent.duration._
+import scala.concurrent.Await
+import org.scalatest._
+
+class SourceSpec extends FlatSpec with Matchers with Source with Core {
+
+ val Timeout = 10.seconds
+
+ def makeRepo(dir: File): Unit = {
+ Git.init().setDirectory(dir).call()
+ val file1 = new File(dir, "file1")
+ file1.createNewFile()
+ val file2 = new File(dir, "file2")
+ file2.createNewFile()
+ Git.open(dir).add().addFilepattern(".").call()
+ Git.open(dir).commit().setMessage("initial commit").call()
+ }
+
+ "GitFetchers" should "be able to clone a local repository" in {
+ TestUtil.withTempDir{ remote =>
+ makeRepo(remote)
+ TestUtil.withTempDir { local =>
+ val cloned = Await.result(fetchSource(remote.toURI().toURL(), local), Timeout)
+ assert(cloned.listFiles().length == 3)
+ }
+ }
+ }
+
+}