Deprecate using

This commit is contained in:
Naoki Takezoe
2019-08-05 01:38:38 +09:00
parent 33b46869b6
commit ec3961555f
30 changed files with 210 additions and 185 deletions

View File

@@ -1,7 +1,6 @@
package gitbucket.core.service
import gitbucket.core.util.Directory._
import gitbucket.core.util.SyntaxSugars._
import gitbucket.core.util.GitSpecUtil._
import org.eclipse.jgit.api.Git
@@ -10,6 +9,7 @@ import org.eclipse.jgit.revwalk._
import org.scalatest.FunSpec
import java.io.File
import scala.util.Using
class MergeServiceSpec extends FunSpec {
val service = new MergeService with AccountService with ActivityService with IssuesService with LabelsService
@@ -19,7 +19,7 @@ class MergeServiceSpec extends FunSpec {
val issueId = 10
def initRepository(owner: String, name: String): File = {
val dir = createTestRepository(getRepositoryDir(owner, name))
using(Git.open(dir)) { git =>
Using.resource(Git.open(dir)) { git =>
createFile(git, "refs/heads/master", "test.txt", "hoge")
git.branchCreate().setStartPoint(s"refs/heads/master").setName(s"refs/pull/${issueId}/head").call()
}
@@ -39,7 +39,7 @@ class MergeServiceSpec extends FunSpec {
}
it("checkConflict true if not conflicted, and create cache") {
val repo2Dir = initRepository("user1", "repo2")
using(Git.open(repo2Dir)) { git =>
Using.resource(Git.open(repo2Dir)) { git =>
createConfrict(git)
}
assert(service.checkConflictCache("user1", "repo2", branch, issueId) == None)
@@ -56,7 +56,7 @@ class MergeServiceSpec extends FunSpec {
val repo3Dir = initRepository("user1", "repo3")
assert(service.checkConflict("user1", "repo3", branch, issueId).isEmpty)
assert(service.checkConflictCache("user1", "repo3", branch, issueId) == Some(None))
using(Git.open(repo3Dir)) { git =>
Using.resource(Git.open(repo3Dir)) { git =>
createFile(git, s"refs/heads/${branch}", "test.txt", "hoge2")
}
assert(service.checkConflictCache("user1", "repo3", branch, issueId) == None)
@@ -65,7 +65,7 @@ class MergeServiceSpec extends FunSpec {
val repo4Dir = initRepository("user1", "repo4")
assert(service.checkConflict("user1", "repo4", branch, issueId).isEmpty)
assert(service.checkConflictCache("user1", "repo4", branch, issueId) == Some(None))
using(Git.open(repo4Dir)) { git =>
Using.resource(Git.open(repo4Dir)) { git =>
createFile(git, s"refs/pull/${issueId}/head", "test.txt", "hoge4")
}
assert(service.checkConflictCache("user1", "repo4", branch, issueId) == None)
@@ -74,14 +74,14 @@ class MergeServiceSpec extends FunSpec {
val repo5Dir = initRepository("user1", "repo5")
assert(service.checkConflict("user1", "repo5", branch, issueId).isEmpty)
assert(service.checkConflictCache("user1", "repo5", branch, issueId) == Some(None))
using(Git.open(repo5Dir)) { git =>
Using.resource(Git.open(repo5Dir)) { git =>
createFile(git, s"refs/heads/${branch}", "test.txt", "hoge2")
}
assert(service.checkConflictCache("user1", "repo5", branch, issueId) == None)
}
it("conflicted cache invalid if request branch moved") {
val repo6Dir = initRepository("user1", "repo6")
using(Git.open(repo6Dir)) { git =>
Using.resource(Git.open(repo6Dir)) { git =>
createConfrict(git)
}
assert(service.checkConflict("user1", "repo6", branch, issueId).isDefined)
@@ -89,14 +89,14 @@ class MergeServiceSpec extends FunSpec {
case Some(Some(_: String)) => true
case _ => false
})
using(Git.open(repo6Dir)) { git =>
Using.resource(Git.open(repo6Dir)) { git =>
createFile(git, s"refs/pull/${issueId}/head", "test.txt", "hoge4")
}
assert(service.checkConflictCache("user1", "repo6", branch, issueId) == None)
}
it("conflicted cache invalid if origin branch moved") {
val repo7Dir = initRepository("user1", "repo7")
using(Git.open(repo7Dir)) { git =>
Using.resource(Git.open(repo7Dir)) { git =>
createConfrict(git)
}
assert(service.checkConflict("user1", "repo7", branch, issueId).isDefined)
@@ -104,7 +104,7 @@ class MergeServiceSpec extends FunSpec {
case Some(Some(_)) => true
case _ => false
})
using(Git.open(repo7Dir)) { git =>
Using.resource(Git.open(repo7Dir)) { git =>
createFile(git, s"refs/heads/${branch}", "test.txt", "hoge4")
}
assert(service.checkConflictCache("user1", "repo7", branch, issueId) == None)
@@ -113,7 +113,7 @@ class MergeServiceSpec extends FunSpec {
describe("mergePullRequest") {
it("can merge") {
val repo8Dir = initRepository("user1", "repo8")
using(Git.open(repo8Dir)) { git =>
Using.resource(Git.open(repo8Dir)) { git =>
createFile(git, s"refs/pull/${issueId}/head", "test.txt", "hoge2")
val committer = new PersonIdent("dummy2", "dummy2@example.com")
assert(getFile(git, branch, "test.txt").content.get == "hoge")
@@ -121,7 +121,7 @@ class MergeServiceSpec extends FunSpec {
val masterId = git.getRepository.resolve(branch)
service.mergePullRequest(git, branch, issueId, "merged", committer)
val lastCommitId = git.getRepository.resolve(branch)
val commit = using(new RevWalk(git.getRepository))(_.parseCommit(lastCommitId))
val commit = Using.resource(new RevWalk(git.getRepository))(_.parseCommit(lastCommitId))
assert(commit.getCommitterIdent() == committer)
assert(commit.getAuthorIdent() == committer)
assert(commit.getFullMessage() == "merged")

View File

@@ -2,7 +2,6 @@ package gitbucket.core.service
import gitbucket.core.GitBucketCoreModule
import gitbucket.core.util.{DatabaseConfig, Directory, FileUtil, JGitUtil}
import gitbucket.core.util.SyntaxSugars._
import io.github.gitbucket.solidbase.Solidbase
import liquibase.database.core.H2Database
import liquibase.database.jvm.JdbcConnection
@@ -19,6 +18,7 @@ import org.scalatestplus.mockito.MockitoSugar
import org.mockito.Mockito._
import scala.util.Random
import scala.util.Using
trait ServiceSpecBase extends MockitoSugar {
@@ -58,7 +58,7 @@ trait ServiceSpecBase extends MockitoSugar {
FileUtil.withTmpDir(new File(FileUtils.getTempDirectory(), Random.alphanumeric.take(10).mkString)) { dir =>
val (url, user, pass) = (DatabaseConfig.url(Some(dir.toString)), DatabaseConfig.user, DatabaseConfig.password)
org.h2.Driver.load()
using(DriverManager.getConnection(url, user, pass)) { conn =>
Using.resource(DriverManager.getConnection(url, user, pass)) { conn =>
val solidbase = new Solidbase()
val db = new H2Database()
db.setConnection(new JdbcConnection(conn)) // TODO Remove setConnection in the future

View File

@@ -1,7 +1,5 @@
package gitbucket.core.util
import gitbucket.core.util.SyntaxSugars._
import org.apache.commons.io.FileUtils
import org.eclipse.jgit.api.Git
import org.eclipse.jgit.dircache.DirCache
@@ -13,6 +11,7 @@ import org.eclipse.jgit.errors._
import java.nio.file._
import java.io.File
import scala.util.Using
object GitSpecUtil {
@@ -28,7 +27,8 @@ object GitSpecUtil {
}
}
def withTestRepository[U](f: Git => U): U = withTestFolder(folder => using(Git.open(createTestRepository(folder)))(f))
def withTestRepository[U](f: Git => U): U =
withTestFolder(folder => Using.resource(Git.open(createTestRepository(folder)))(f))
def createTestRepository(dir: File): File = {
RepositoryCache.clear()
@@ -81,7 +81,7 @@ object GitSpecUtil {
def getFile(git: Git, branch: String, path: String) = {
val revCommit = JGitUtil.getRevCommitFromId(git, git.getRepository.resolve(branch))
val objectId = using(new TreeWalk(git.getRepository)) { walk =>
val objectId = Using.resource(new TreeWalk(git.getRepository)) { walk =>
walk.addTree(revCommit.getTree)
walk.setRecursive(true)
@scala.annotation.tailrec
@@ -108,7 +108,7 @@ object GitSpecUtil {
if (conflicted) {
throw new RuntimeException("conflict!")
}
val mergeTipCommit = using(new RevWalk(repository))(_.parseCommit(mergeTip))
val mergeTipCommit = Using.resource(new RevWalk(repository))(_.parseCommit(mergeTip))
val committer = mergeTipCommit.getCommitterIdent
// creates merge commit
val mergeCommit = new CommitBuilder()