Mercurial > hg > mercurial
annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/TagsTest.java @ 650:919418bf09a1
Fix tests: testData requires hg 1.7
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Fri, 27 Sep 2013 12:02:28 +0400 |
parents | 0b50d7952a7d |
children | 31a1aca3305c |
rev | line source |
---|---|
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
1 package jetbrains.buildServer.buildTriggers.vcs.mercurial; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
2 |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
3 import jetbrains.buildServer.vcs.RepositoryStateData; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
4 import jetbrains.buildServer.vcs.VcsRoot; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
5 import org.testng.annotations.BeforeMethod; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
6 import org.testng.annotations.Test; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
7 |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
8 import java.io.File; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
9 import java.io.IOException; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
10 |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
11 import static jetbrains.buildServer.buildTriggers.vcs.mercurial.BookmarksTest.RepositoryStateDataMatcher.hasBranch; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
12 import static jetbrains.buildServer.buildTriggers.vcs.mercurial.BookmarksTest.RepositoryStateDataMatcher.hasNoBranch; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
13 import static jetbrains.buildServer.buildTriggers.vcs.mercurial.MercurialSupportBuilder.mercurialSupport; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
14 import static jetbrains.buildServer.buildTriggers.vcs.mercurial.ServerPluginConfigBuilder.serverPluginConfig; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
15 import static jetbrains.buildServer.buildTriggers.vcs.mercurial.VcsRootBuilder.vcsRoot; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
16 import static org.hamcrest.MatcherAssert.assertThat; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
17 import static org.hamcrest.Matchers.not; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
18 |
650
919418bf09a1
Fix tests: testData requires hg 1.7
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
19 @RequiredHgVersion(min = "1.7.0") |
919418bf09a1
Fix tests: testData requires hg 1.7
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
20 @Test(dataProviderClass = HgVersionConstraint.class, dataProvider = "installedHgVersion") |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
21 public class TagsTest extends BaseMercurialTestCase { |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
22 |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
23 private File myRemoteRepository; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
24 private ServerPluginConfigBuilder myConfig; |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
25 |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
26 @BeforeMethod |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
27 public void setUp() throws Exception { |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
28 super.setUp(); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
29 myConfig = serverPluginConfig() |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
30 .cachesDir(myTempFiles.createTempDir()) |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
31 .hgPath(Util.getHgPath()); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
32 |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
33 myRemoteRepository = myTempFiles.createTempDir(); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
34 Util.copyRepository(new File("mercurial-tests/testData/tags"), myRemoteRepository); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
35 } |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
36 |
650
919418bf09a1
Fix tests: testData requires hg 1.7
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
37 public void no_tags_reported_by_default(HgVersion _) throws Exception { |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
38 VcsRoot root = vcsRoot().withUrl(myRemoteRepository.getAbsolutePath()).build(); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
39 RepositoryStateData state = getVcs().getCollectChangesPolicy().getCurrentState(root); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
40 assertThat(state, not(hasBranch("v1").withRevision("fa7ad5b80a88"))); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
41 assertThat(state, not(hasBranch("v4").withRevision("f7fbcc489e40"))); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
42 } |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
43 |
650
919418bf09a1
Fix tests: testData requires hg 1.7
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
44 public void should_report_tag_revisions(HgVersion _) throws Exception { |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
45 VcsRoot root = vcsRoot().withUrl(myRemoteRepository.getAbsolutePath()).withTagsEnabled(true).build(); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
46 RepositoryStateData state = getVcs().getCollectChangesPolicy().getCurrentState(root); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
47 assertThat(state, hasBranch("v1").withRevision("fa7ad5b80a88")); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
48 assertThat(state, hasBranch("v4").withRevision("f7fbcc489e40")); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
49 } |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
50 |
650
919418bf09a1
Fix tests: testData requires hg 1.7
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
51 public void branch_has_higher_precedence_over_tag(HgVersion _) throws Exception { |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
52 VcsRoot root = vcsRoot().withUrl(myRemoteRepository.getAbsolutePath()).withTagsEnabled(true).build(); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
53 RepositoryStateData state = getVcs().getCollectChangesPolicy().getCurrentState(root); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
54 assertThat(state, hasBranch("topic").withRevision("efde33cd0b66")); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
55 } |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
56 |
650
919418bf09a1
Fix tests: testData requires hg 1.7
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
57 public void tags_can_be_turned_off_globally(HgVersion _) throws Exception { |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
58 myConfig.withTagsAsBranches(false); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
59 VcsRoot root = vcsRoot().withUrl(myRemoteRepository.getAbsolutePath()).withTagsEnabled(true).build(); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
60 RepositoryStateData state = getVcs().getCollectChangesPolicy().getCurrentState(root); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
61 assertThat(state, not(hasBranch("v1").withRevision("fa7ad5b80a88"))); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
62 assertThat(state, not(hasBranch("v4").withRevision("f7fbcc489e40"))); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
63 } |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
64 |
650
919418bf09a1
Fix tests: testData requires hg 1.7
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
649
diff
changeset
|
65 public void tags_should_not_include_tip(HgVersion _) throws Exception { |
649
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
66 VcsRoot root = vcsRoot().withUrl(myRemoteRepository.getAbsolutePath()).withTagsEnabled(true).build(); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
67 RepositoryStateData state = getVcs().getCollectChangesPolicy().getCurrentState(root); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
68 assertThat(state, hasNoBranch("tip")); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
69 } |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
70 |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
71 private MercurialVcsSupport getVcs() throws IOException { |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
72 return mercurialSupport().withConfig(myConfig.build()).build(); |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
73 } |
0b50d7952a7d
TW-23468 support tags as branches
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
74 } |