mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-08 14:35:52 +01:00
Migrating testcases to ScalaTest from Specs2
This commit is contained in:
@@ -43,6 +43,7 @@ libraryDependencies ++= Seq(
|
||||
"org.eclipse.jetty" % "jetty-webapp" % JettyVersion % "provided",
|
||||
"javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided",
|
||||
"junit" % "junit" % "4.12" % "test",
|
||||
"org.scalatra" %% "scalatra-scalatest" % ScalatraVersion % "test",
|
||||
"org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test",
|
||||
"org.specs2" %% "specs2-junit" % "3.6.6" % "test"
|
||||
)
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
package gitbucket.core.util
|
||||
|
||||
import org.specs2.mutable._
|
||||
import org.scalatest.FunSpec
|
||||
|
||||
class DirectorySpec extends FunSpec {
|
||||
|
||||
class DirectorySpec extends Specification {
|
||||
"GitBucketHome" should {
|
||||
"set under target in test scope" in {
|
||||
Directory.GitBucketHome mustEqual new java.io.File("target/gitbucket_home_for_test").getAbsolutePath
|
||||
}
|
||||
"exists" in {
|
||||
new java.io.File(Directory.GitBucketHome).exists
|
||||
describe("GitBucketHome"){
|
||||
it("should set under target in test scope"){
|
||||
assert(Directory.GitBucketHome === new java.io.File("target/gitbucket_home_for_test").getAbsolutePath)
|
||||
}
|
||||
}
|
||||
// test("GitBucketHome should exists"){
|
||||
// new java.io.File(Directory.GitBucketHome).exists
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@@ -1,103 +1,104 @@
|
||||
package gitbucket.core.util
|
||||
|
||||
import org.specs2.mutable._
|
||||
import GitSpecUtil._
|
||||
import org.scalatest.FunSuite
|
||||
|
||||
class JGitUtilSpec extends Specification {
|
||||
class JGitUtilSpec extends FunSuite {
|
||||
|
||||
"getFileList(git: Git, revision: String, path)" should {
|
||||
test("getFileList(git: Git, revision: String, path)"){
|
||||
withTestRepository { git =>
|
||||
def list(branch: String, path: String) =
|
||||
JGitUtil.getFileList(git, branch, path).map(finfo => (finfo.name, finfo.message, finfo.isDirectory))
|
||||
list("master", ".") mustEqual Nil
|
||||
list("master", "dir/subdir") mustEqual Nil
|
||||
list("branch", ".") mustEqual Nil
|
||||
list("branch", "dir/subdir") mustEqual Nil
|
||||
assert(list("master", ".") === Nil)
|
||||
assert(list("master", "dir/subdir") === Nil)
|
||||
assert(list("branch", ".") === Nil)
|
||||
assert(list("branch", "dir/subdir") === Nil)
|
||||
|
||||
createFile(git, "master", "README.md", "body1", message = "commit1")
|
||||
|
||||
list("master", ".") mustEqual List(("README.md", "commit1", false))
|
||||
list("master", "dir/subdir") mustEqual Nil
|
||||
list("branch", ".") mustEqual Nil
|
||||
list("branch", "dir/subdir") mustEqual Nil
|
||||
assert(list("master", ".") === List(("README.md", "commit1", false)))
|
||||
assert(list("master", "dir/subdir") === Nil)
|
||||
assert(list("branch", ".") === Nil)
|
||||
assert(list("branch", "dir/subdir") === Nil)
|
||||
|
||||
createFile(git, "master", "README.md", "body2", message = "commit2")
|
||||
|
||||
list("master", ".") mustEqual List(("README.md", "commit2", false))
|
||||
list("master", "dir/subdir") mustEqual Nil
|
||||
list("branch", ".") mustEqual Nil
|
||||
list("branch", "dir/subdir") mustEqual Nil
|
||||
assert(list("master", ".") === List(("README.md", "commit2", false)))
|
||||
assert(list("master", "dir/subdir") === Nil)
|
||||
assert(list("branch", ".") === Nil)
|
||||
assert(list("branch", "dir/subdir") === Nil)
|
||||
|
||||
createFile(git, "master", "dir/subdir/File3.md", "body3", message = "commit3")
|
||||
|
||||
list("master", ".") mustEqual List(("dir/subdir", "commit3", true), ("README.md", "commit2", false))
|
||||
list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false))
|
||||
list("branch", ".") mustEqual Nil
|
||||
list("branch", "dir/subdir") mustEqual Nil
|
||||
assert(list("master", ".") === List(("dir/subdir", "commit3", true), ("README.md", "commit2", false)))
|
||||
assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false)))
|
||||
assert(list("branch", ".") === Nil)
|
||||
assert(list("branch", "dir/subdir") === Nil)
|
||||
|
||||
createFile(git, "master", "dir/subdir/File4.md", "body4", message = "commit4")
|
||||
|
||||
list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit2", false))
|
||||
list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
|
||||
list("branch", ".") mustEqual Nil
|
||||
list("branch", "dir/subdir") mustEqual Nil
|
||||
assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit2", false)))
|
||||
assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
|
||||
assert(list("branch", ".") === Nil)
|
||||
assert(list("branch", "dir/subdir") === Nil)
|
||||
|
||||
createFile(git, "master", "README5.md", "body5", message = "commit5")
|
||||
|
||||
list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit2", false), ("README5.md", "commit5", false))
|
||||
list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
|
||||
list("branch", ".") mustEqual Nil
|
||||
list("branch", "dir/subdir") mustEqual Nil
|
||||
assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit2", false), ("README5.md", "commit5", false)))
|
||||
assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
|
||||
assert(list("branch", ".") === Nil)
|
||||
assert(list("branch", "dir/subdir") === Nil)
|
||||
|
||||
createFile(git, "master", "README.md", "body6", message = "commit6")
|
||||
|
||||
list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
|
||||
list("branch", ".") mustEqual Nil
|
||||
list("branch", "dir/subdir") mustEqual Nil
|
||||
assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
|
||||
assert(list("branch", ".") === Nil)
|
||||
assert(list("branch", "dir/subdir") === Nil)
|
||||
|
||||
git.branchCreate().setName("branch").setStartPoint("master").call()
|
||||
|
||||
list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
|
||||
list("branch", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("branch", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
|
||||
assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
|
||||
assert(list("branch", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("branch", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
|
||||
|
||||
createFile(git, "branch", "dir/subdir/File3.md", "body7", message = "commit7")
|
||||
|
||||
list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
|
||||
list("branch", ".") mustEqual List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("branch", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false))
|
||||
assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
|
||||
assert(list("branch", ".") === List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("branch", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false)))
|
||||
|
||||
createFile(git, "master", "dir8/File8.md", "body8", message = "commit8")
|
||||
|
||||
list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
|
||||
list("branch", ".") mustEqual List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("branch", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false))
|
||||
assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
|
||||
assert(list("branch", ".") === List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("branch", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false)))
|
||||
|
||||
createFile(git, "branch", "dir/subdir9/File9.md", "body9", message = "commit9")
|
||||
|
||||
list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false))
|
||||
list("branch", ".") mustEqual List(("dir", "commit9", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("branch", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false))
|
||||
assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false)))
|
||||
assert(list("branch", ".") === List(("dir", "commit9", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("branch", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false)))
|
||||
|
||||
mergeAndCommit(git, "master", "branch", message = "merge10")
|
||||
|
||||
list("master", ".") mustEqual List(("dir", "commit9", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))
|
||||
list("master", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false))
|
||||
assert(list("master", ".") === List(("dir", "commit9", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)))
|
||||
assert(list("master", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false)))
|
||||
}
|
||||
}
|
||||
"getFileList subfolder multi-origin (issue #721)" should {
|
||||
|
||||
test("getFileList subfolder multi-origin (issue #721)") {
|
||||
withTestRepository { git =>
|
||||
def list(branch: String, path: String) =
|
||||
JGitUtil.getFileList(git, branch, path).map(finfo => (finfo.name, finfo.message, finfo.isDirectory))
|
||||
createFile(git, "master", "README.md", "body1", message = "commit1")
|
||||
createFile(git, "branch", "test/text2.txt", "body2", message = "commit2")
|
||||
mergeAndCommit(git, "master", "branch", message = "merge3")
|
||||
list("master", "test") mustEqual List(("text2.txt", "commit2", false))
|
||||
assert(list("master", "test") === List(("text2.txt", "commit2", false)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,66 +1,67 @@
|
||||
package gitbucket.core.util
|
||||
|
||||
import org.specs2.mutable._
|
||||
//import org.specs2.mutable._
|
||||
import org.scalatest.FunSpec
|
||||
|
||||
class StringUtilSpec extends Specification {
|
||||
class StringUtilSpec extends FunSpec {
|
||||
|
||||
"urlEncode" should {
|
||||
"encode whitespace to %20" in {
|
||||
describe("urlEncode") {
|
||||
it("should encode whitespace to %20") {
|
||||
val encoded = StringUtil.urlEncode("aa bb")
|
||||
encoded mustEqual "aa%20bb"
|
||||
assert(encoded === "aa%20bb")
|
||||
}
|
||||
}
|
||||
|
||||
"urlDecode" should {
|
||||
"decode encoded string to original string" in {
|
||||
describe("urlDecode") {
|
||||
it("should decode encoded string to original string") {
|
||||
val encoded = StringUtil.urlEncode("あいうえお")
|
||||
StringUtil.urlDecode(encoded) mustEqual "あいうえお"
|
||||
assert(StringUtil.urlDecode(encoded) === "あいうえお")
|
||||
}
|
||||
"decode en%20 to whitespace" in {
|
||||
StringUtil.urlDecode("aa%20bb") mustEqual "aa bb"
|
||||
it("should decode en%20 to whitespace") {
|
||||
assert(StringUtil.urlDecode("aa%20bb") === "aa bb")
|
||||
}
|
||||
}
|
||||
|
||||
"splitWords" should {
|
||||
"split string by whitespaces" in {
|
||||
describe("splitWords") {
|
||||
it("should split string by whitespaces") {
|
||||
val split = StringUtil.splitWords("aa bb\tcc dd \t ee")
|
||||
split mustEqual Array("aa", "bb", "cc", "dd", "ee")
|
||||
assert(split === Array("aa", "bb", "cc", "dd", "ee"))
|
||||
}
|
||||
}
|
||||
|
||||
"escapeHtml" should {
|
||||
"escape &, <, > and \"" in {
|
||||
StringUtil.escapeHtml("<a href=\"/test\">a & b</a>") mustEqual "<a href="/test">a & b</a>"
|
||||
describe("escapeHtml") {
|
||||
it("should escape &, <, > and \"") {
|
||||
assert(StringUtil.escapeHtml("<a href=\"/test\">a & b</a>") === "<a href="/test">a & b</a>")
|
||||
}
|
||||
}
|
||||
|
||||
"md5" should {
|
||||
"generate MD5 hash" in {
|
||||
StringUtil.md5("abc") mustEqual "900150983cd24fb0d6963f7d28e17f72"
|
||||
describe("md5") {
|
||||
it("should generate MD5 hash") {
|
||||
assert(StringUtil.md5("abc") === "900150983cd24fb0d6963f7d28e17f72")
|
||||
}
|
||||
}
|
||||
|
||||
"sha1" should {
|
||||
"generate SHA1 hash" in {
|
||||
StringUtil.sha1("abc") mustEqual "a9993e364706816aba3e25717850c26c9cd0d89d"
|
||||
describe("sha1") {
|
||||
it("should generate SHA1 hash") {
|
||||
assert(StringUtil.sha1("abc") === "a9993e364706816aba3e25717850c26c9cd0d89d")
|
||||
}
|
||||
}
|
||||
|
||||
"extractIssueId" should {
|
||||
"extract '#xxx' and return extracted id" in {
|
||||
StringUtil.extractIssueId("(refs #123)").toSeq mustEqual Seq("123")
|
||||
describe("extractIssueId") {
|
||||
it("should extract '#xxx' and return extracted id") {
|
||||
assert(StringUtil.extractIssueId("(refs #123)").toSeq === Seq("123"))
|
||||
}
|
||||
"returns Nil from message which does not contain #xxx" in {
|
||||
StringUtil.extractIssueId("this is test!").toSeq mustEqual Nil
|
||||
it("should return Nil from message which does not contain #xxx") {
|
||||
assert(StringUtil.extractIssueId("this is test!").toSeq === Nil)
|
||||
}
|
||||
}
|
||||
|
||||
"extractCloseId" should {
|
||||
"extract 'close #xxx' and return extracted id" in {
|
||||
StringUtil.extractCloseId("(close #123)").toSeq mustEqual Seq("123")
|
||||
describe("extractCloseId") {
|
||||
it("should extract 'close #xxx' and return extracted id") {
|
||||
assert(StringUtil.extractCloseId("(close #123)").toSeq === Seq("123"))
|
||||
}
|
||||
"returns Nil from message which does not contain close command" in {
|
||||
StringUtil.extractCloseId("(refs #123)").toSeq mustEqual Nil
|
||||
it("should returns Nil from message which does not contain close command") {
|
||||
assert(StringUtil.extractCloseId("(refs #123)").toSeq === Nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
package gitbucket.core.util
|
||||
|
||||
import org.specs2.mutable._
|
||||
import org.scalatra.i18n.Messages
|
||||
import org.scalatest.FunSpec
|
||||
|
||||
class ValidationsSpec extends Specification with Validations {
|
||||
class ValidationsSpec extends FunSpec with Validations {
|
||||
|
||||
"identifier" should {
|
||||
"validate id string " in {
|
||||
identifier.validate("id", "aa_ZZ-00.01", null) mustEqual None
|
||||
identifier.validate("id", "_aaaa", null) mustEqual Some("id starts with invalid character.")
|
||||
identifier.validate("id", "-aaaa", null) mustEqual Some("id starts with invalid character.")
|
||||
identifier.validate("id", "aa_ZZ#01", null) mustEqual Some("id contains invalid character.")
|
||||
describe("identifier") {
|
||||
it("should validate id string ") {
|
||||
assert(identifier.validate("id", "aa_ZZ-00.01", null) === None)
|
||||
assert(identifier.validate("id", "_aaaa", null) === Some("id starts with invalid character."))
|
||||
assert(identifier.validate("id", "-aaaa", null) === Some("id starts with invalid character."))
|
||||
assert(identifier.validate("id", "aa_ZZ#01", null) === Some("id contains invalid character."))
|
||||
}
|
||||
}
|
||||
|
||||
"color" should {
|
||||
"validate color string " in {
|
||||
describe("color") {
|
||||
it("should validate color string ") {
|
||||
val messages = Messages()
|
||||
color.validate("color", "#88aaff", messages) mustEqual None
|
||||
color.validate("color", "#gghhii", messages) mustEqual Some("color must be '#[0-9a-fA-F]{6}'.")
|
||||
assert(color.validate("color", "#88aaff", messages) === None)
|
||||
assert(color.validate("color", "#gghhii", messages) === Some("color must be '#[0-9a-fA-F]{6}'."))
|
||||
}
|
||||
}
|
||||
|
||||
"date" should {
|
||||
describe("date") {
|
||||
// "validate date string " in {
|
||||
// date().validate("date", "2013-10-05", Map[String, String]()) mustEqual Nil
|
||||
// date().validate("date", "2013-10-5" , Map[String, String]()) mustEqual List(("date", "date must be '\\d{4}-\\d{2}-\\d{2}'."))
|
||||
// }
|
||||
"convert date string " in {
|
||||
it("should convert date string ") {
|
||||
val result = date().convert("2013-10-05", null)
|
||||
new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(result) mustEqual "2013-10-05 00:00:00"
|
||||
assert(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(result) === "2013-10-05 00:00:00")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user