diff options
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.scala | 35 |
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) + } + } + } + +} |