Modify testcases to force to pass

This commit is contained in:
Naoki Takezoe
2019-01-03 01:11:06 +09:00
parent 2745a3bfaa
commit 5b5ddb251b
4 changed files with 67 additions and 14 deletions

View File

@@ -33,7 +33,7 @@ class IssuesServiceSpec extends FunSuite with ServiceSpecBase {
assert(getCommitStatues(1) == None)
val (is2, pr2) = generateNewPullRequest("user1/repo1/master", "user1/repo1/feature1")
val (is2, pr2) = generateNewPullRequest("user1/repo1/master", "user1/repo1/feature1", loginUser = "root")
assert(pr2.issueId == 2)
// if there are no statuses, state is none
@@ -79,7 +79,7 @@ class IssuesServiceSpec extends FunSuite with ServiceSpecBase {
assert(getCommitStatues(2) == Some(CommitStatusInfo(2, 1, None, None, None, None)))
// get only statuses in query issues
val (is3, pr3) = generateNewPullRequest("user1/repo1/master", "user1/repo1/feature3")
val (is3, pr3) = generateNewPullRequest("user1/repo1/master", "user1/repo1/feature3", loginUser = "root")
val cs4 = dummyService.createCommitStatus(
"user1",
"repo1",

View File

@@ -31,13 +31,13 @@ class PullRequestServiceSpec
generateNewUserWithDBRepository("user1", "repo1")
generateNewUserWithDBRepository("user1", "repo2")
generateNewUserWithDBRepository("user2", "repo1")
generateNewPullRequest("user1/repo1/master", "user1/repo1/head2") // not target branch
generateNewPullRequest("user1/repo1/head1", "user1/repo1/master") // not target branch ( swap from, to )
generateNewPullRequest("user1/repo1/master", "user2/repo1/head1") // other user
generateNewPullRequest("user1/repo1/master", "user1/repo2/head1") // other repository
val r1 = swap(generateNewPullRequest("user1/repo1/master2", "user1/repo1/head1"))
val r2 = swap(generateNewPullRequest("user1/repo1/master", "user1/repo1/head1"))
val r3 = swap(generateNewPullRequest("user1/repo1/master4", "user1/repo1/head1"))
generateNewPullRequest("user1/repo1/master", "user1/repo1/head2", loginUser = "root") // not target branch
generateNewPullRequest("user1/repo1/head1", "user1/repo1/master", loginUser = "root") // not target branch ( swap from, to )
generateNewPullRequest("user1/repo1/master", "user2/repo1/head1", loginUser = "root") // other user
generateNewPullRequest("user1/repo1/master", "user1/repo2/head1", loginUser = "root") // other repository
val r1 = swap(generateNewPullRequest("user1/repo1/master2", "user1/repo1/head1", loginUser = "root"))
val r2 = swap(generateNewPullRequest("user1/repo1/master", "user1/repo1/head1", loginUser = "root"))
val r3 = swap(generateNewPullRequest("user1/repo1/master4", "user1/repo1/head1", loginUser = "root"))
assert(getPullRequestFromBranch("user1", "repo1", "head1", "master") == Some(r2))
updateClosed("user1", "repo1", r2._1.issueId, true)
assert(Seq(r1, r2).contains(getPullRequestFromBranch("user1", "repo1", "head1", "master").get))

View File

@@ -1,7 +1,7 @@
package gitbucket.core.service
import gitbucket.core.GitBucketCoreModule
import gitbucket.core.util.{DatabaseConfig, FileUtil}
import gitbucket.core.util.{DatabaseConfig, Directory, FileUtil, JGitUtil}
import gitbucket.core.util.SyntaxSugars._
import io.github.gitbucket.solidbase.Solidbase
import liquibase.database.core.H2Database
@@ -15,10 +15,48 @@ import java.sql.DriverManager
import java.io.File
import gitbucket.core.controller.Context
import gitbucket.core.service.SystemSettingsService.{Ssh, SystemSettings}
import javax.servlet.http.{HttpServletRequest, HttpSession}
import org.scalatest.mockito.MockitoSugar
import org.mockito.Mockito._
import scala.util.Random
trait ServiceSpecBase {
trait ServiceSpecBase extends MockitoSugar {
val request = mock[HttpServletRequest]
val session = mock[HttpSession]
when(request.getRequestURL).thenReturn(new StringBuffer("http://localhost:8080/path.html"))
when(request.getRequestURI).thenReturn("/path.html")
when(request.getContextPath).thenReturn("")
when(request.getSession).thenReturn(session)
private def createSystemSettings() =
SystemSettings(
baseUrl = None,
information = None,
allowAccountRegistration = false,
allowAnonymousAccess = true,
isCreateRepoOptionPublic = true,
gravatar = false,
notification = false,
activityLogLimit = None,
ssh = Ssh(
enabled = false,
sshHost = None,
sshPort = None
),
useSMTP = false,
smtp = None,
ldapAuthentication = false,
ldap = None,
oidcAuthentication = false,
oidc = None,
skinName = "skin-blue",
showMailAddress = false,
pluginNetworkInstall = false,
pluginProxy = None
)
def withTestDB[A](action: (Session) => A): A = {
FileUtil.withTmpDir(new File(FileUtils.getTempDirectory(), Random.alphanumeric.take(10).mkString)) { dir =>
@@ -46,10 +84,24 @@ trait ServiceSpecBase {
lazy val dummyService = new RepositoryService with AccountService with ActivityService with IssuesService
with MergeService with PullRequestService with CommitsService with CommitStatusService with LabelsService
with MilestonesService with PrioritiesService with WebHookService with WebHookPullRequestService
with WebHookPullRequestReviewCommentService {}
with WebHookPullRequestReviewCommentService {
override def fetchAsPullRequest(
userName: String,
repositoryName: String,
requestUserName: String,
requestRepositoryName: String,
requestBranch: String,
issueId: Int
): Unit = {}
}
def generateNewUserWithDBRepository(userName: String, repositoryName: String)(implicit s: Session): Account = {
val ac = AccountService.getAccountByUserName(userName).getOrElse(generateNewAccount(userName))
val dir = Directory.getRepositoryDir(userName, repositoryName)
if (dir.exists()) {
FileUtils.deleteQuietly(dir)
}
JGitUtil.initRepository(dir)
dummyService.insertRepository(repositoryName, userName, None, false)
ac
}
@@ -70,9 +122,10 @@ trait ServiceSpecBase {
)
}
def generateNewPullRequest(base: String, request: String, loginUser: String = null)(
def generateNewPullRequest(base: String, request: String, loginUser: String)(
implicit s: Session
): (Issue, PullRequest) = {
implicit val context = Context(createSystemSettings(), None, this.request)
val Array(baseUserName, baseRepositoryName, baesBranch) = base.split("/")
val Array(requestUserName, requestRepositoryName, requestBranch) = request.split("/")
val issueId = generateNewIssue(baseUserName, baseRepositoryName, Option(loginUser).getOrElse(requestUserName))

View File

@@ -19,7 +19,7 @@ class WebHookServiceSpec extends FunSuite with ServiceSpecBase {
val (issue3, pullreq3) = generateNewPullRequest("user3/repo3/master3", "user2/repo2/master2", loginUser = "root")
val (issue32, pullreq32) =
generateNewPullRequest("user3/repo3/master32", "user2/repo2/master2", loginUser = "root")
generateNewPullRequest("user2/repo2/master2", "user1/repo1/master2")
generateNewPullRequest("user2/repo2/master2", "user1/repo1/master2", loginUser = "root")
service.addWebHook("user1", "repo1", "webhook1-1", Set(WebHook.PullRequest), WebHookContentType.FORM, Some("key"))
service.addWebHook("user1", "repo1", "webhook1-2", Set(WebHook.PullRequest), WebHookContentType.FORM, Some("key"))
service.addWebHook("user2", "repo2", "webhook2-1", Set(WebHook.PullRequest), WebHookContentType.FORM, Some("key"))