diff options
Diffstat (limited to 'gerrit-server/src/test/java/com/google/gerrit/server/change/IncludedInResolverTest.java')
-rw-r--r-- | gerrit-server/src/test/java/com/google/gerrit/server/change/IncludedInResolverTest.java | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/change/IncludedInResolverTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/change/IncludedInResolverTest.java deleted file mode 100644 index e91c3b411a..0000000000 --- a/gerrit-server/src/test/java/com/google/gerrit/server/change/IncludedInResolverTest.java +++ /dev/null @@ -1,207 +0,0 @@ -// Copyright (C) 2013 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.gerrit.server.change; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import org.eclipse.jgit.api.Git; -import org.eclipse.jgit.api.MergeCommand.FastForwardMode; -import org.eclipse.jgit.junit.RepositoryTestCase; -import org.eclipse.jgit.lib.ObjectId; -import org.eclipse.jgit.lib.Ref; -import org.eclipse.jgit.revwalk.RevCommit; -import org.eclipse.jgit.revwalk.RevTag; -import org.eclipse.jgit.revwalk.RevWalk; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public class IncludedInResolverTest extends RepositoryTestCase { - - // Branch names - private static final String BRANCH_MASTER = "master"; - private static final String BRANCH_1_0 = "rel-1.0"; - private static final String BRANCH_1_3 = "rel-1.3"; - private static final String BRANCH_2_0 = "rel-2.0"; - private static final String BRANCH_2_5 = "rel-2.5"; - - // Tag names - private static final String TAG_1_0 = "1.0"; - private static final String TAG_1_0_1 = "1.0.1"; - private static final String TAG_1_3 = "1.3"; - private static final String TAG_2_0_1 = "2.0.1"; - private static final String TAG_2_0 = "2.0"; - private static final String TAG_2_5 = "2.5"; - private static final String TAG_2_5_ANNOTATED = "2.5-annotated"; - private static final String TAG_2_5_ANNOTATED_TWICE = "2.5-annotated_twice"; - - // Commits - private RevCommit commit_initial; - private RevCommit commit_v1_3; - private RevCommit commit_v2_5; - - private List<String> expTags = new ArrayList<>(); - private List<String> expBranches = new ArrayList<>(); - - private RevWalk revWalk; - - @Override - @Before - public void setUp() throws Exception { - super.setUp(); - - /*- The following graph will be created. - - o tag 2.5, 2.5_annotated, 2.5_annotated_twice - |\ - | o tag 2.0.1 - | o tag 2.0 - o | tag 1.3 - |/ - o c3 - - | o tag 1.0.1 - |/ - o tag 1.0 - o c2 - o c1 - - */ - - // TODO(dborowitz): Use try/finally when this doesn't double-close the repo. - @SuppressWarnings("resource") - Git git = new Git(db); - revWalk = new RevWalk(db); - // Version 1.0 - commit_initial = git.commit().setMessage("c1").call(); - git.commit().setMessage("c2").call(); - RevCommit commit_v1_0 = git.commit().setMessage("version 1.0").call(); - git.tag().setName(TAG_1_0).setObjectId(commit_v1_0).call(); - RevCommit c3 = git.commit().setMessage("c3").call(); - // Version 1.01 - createAndCheckoutBranch(commit_v1_0, BRANCH_1_0); - RevCommit commit_v1_0_1 = git.commit().setMessage("verREFS_HEADS_RELsion 1.0.1").call(); - git.tag().setName(TAG_1_0_1).setObjectId(commit_v1_0_1).call(); - // Version 1.3 - createAndCheckoutBranch(c3, BRANCH_1_3); - commit_v1_3 = git.commit().setMessage("version 1.3").call(); - git.tag().setName(TAG_1_3).setObjectId(commit_v1_3).call(); - // Version 2.0 - createAndCheckoutBranch(c3, BRANCH_2_0); - RevCommit commit_v2_0 = git.commit().setMessage("version 2.0").call(); - git.tag().setName(TAG_2_0).setObjectId(commit_v2_0).call(); - RevCommit commit_v2_0_1 = git.commit().setMessage("version 2.0.1").call(); - git.tag().setName(TAG_2_0_1).setObjectId(commit_v2_0_1).call(); - - // Version 2.5 - createAndCheckoutBranch(commit_v1_3, BRANCH_2_5); - git.merge() - .include(commit_v2_0_1) - .setCommit(false) - .setFastForward(FastForwardMode.NO_FF) - .call(); - commit_v2_5 = git.commit().setMessage("version 2.5").call(); - git.tag().setName(TAG_2_5).setObjectId(commit_v2_5).setAnnotated(false).call(); - Ref ref_tag_2_5_annotated = - git.tag().setName(TAG_2_5_ANNOTATED).setObjectId(commit_v2_5).setAnnotated(true).call(); - RevTag tag_2_5_annotated = revWalk.parseTag(ref_tag_2_5_annotated.getObjectId()); - git.tag() - .setName(TAG_2_5_ANNOTATED_TWICE) - .setObjectId(tag_2_5_annotated) - .setAnnotated(true) - .call(); - } - - @Override - @After - public void tearDown() throws Exception { - revWalk.close(); - super.tearDown(); - } - - @Test - public void resolveLatestCommit() throws Exception { - // Check tip commit - IncludedInResolver.Result detail = resolve(commit_v2_5); - - // Check that only tags and branches which refer the tip are returned - expTags.add(TAG_2_5); - expTags.add(TAG_2_5_ANNOTATED); - expTags.add(TAG_2_5_ANNOTATED_TWICE); - assertEquals(expTags, detail.getTags()); - expBranches.add(BRANCH_2_5); - assertEquals(expBranches, detail.getBranches()); - } - - @Test - public void resolveFirstCommit() throws Exception { - // Check first commit - IncludedInResolver.Result detail = resolve(commit_initial); - - // Check whether all tags and branches are returned - expTags.add(TAG_1_0); - expTags.add(TAG_1_0_1); - expTags.add(TAG_1_3); - expTags.add(TAG_2_0); - expTags.add(TAG_2_0_1); - expTags.add(TAG_2_5); - expTags.add(TAG_2_5_ANNOTATED); - expTags.add(TAG_2_5_ANNOTATED_TWICE); - assertEquals(expTags, detail.getTags()); - - expBranches.add(BRANCH_MASTER); - expBranches.add(BRANCH_1_0); - expBranches.add(BRANCH_1_3); - expBranches.add(BRANCH_2_0); - expBranches.add(BRANCH_2_5); - assertEquals(expBranches, detail.getBranches()); - } - - @Test - public void resolveBetwixtCommit() throws Exception { - // Check a commit somewhere in the middle - IncludedInResolver.Result detail = resolve(commit_v1_3); - - // Check whether all succeeding tags and branches are returned - expTags.add(TAG_1_3); - expTags.add(TAG_2_5); - expTags.add(TAG_2_5_ANNOTATED); - expTags.add(TAG_2_5_ANNOTATED_TWICE); - assertEquals(expTags, detail.getTags()); - - expBranches.add(BRANCH_1_3); - expBranches.add(BRANCH_2_5); - assertEquals(expBranches, detail.getBranches()); - } - - private IncludedInResolver.Result resolve(RevCommit commit) throws Exception { - return IncludedInResolver.resolve(db, revWalk, commit); - } - - private void assertEquals(List<String> list1, List<String> list2) { - Collections.sort(list1); - Collections.sort(list2); - Assert.assertEquals(list1, list2); - } - - private void createAndCheckoutBranch(ObjectId objectId, String branchName) throws IOException { - String fullBranchName = "refs/heads/" + branchName; - super.createBranch(objectId, fullBranchName); - super.checkoutBranch(fullBranchName); - } -} |