Mercurial > hg > mercurial
annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/BaseMercurialPatchTestCase.java @ 978:38e96101a6ef Indore-2017.2.x
TW-50054 disable custom clone path by default
author | Dmitry Neverov <dmitry.neverov@gmail.com> |
---|---|
date | Wed, 24 Jan 2018 11:34:45 +0100 |
parents | 38adef4f1b8f |
children | 1168c4c64d49 |
rev | line source |
---|---|
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
1 /* |
977 | 2 * Copyright 2000-2018 JetBrains s.r.o. |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
3 * |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
4 * Licensed under the Apache License, Version 2.0 (the "License"); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
5 * you may not use this file except in compliance with the License. |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
6 * You may obtain a copy of the License at |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
7 * |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
8 * http://www.apache.org/licenses/LICENSE-2.0 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
9 * |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
10 * Unless required by applicable law or agreed to in writing, software |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
11 * distributed under the License is distributed on an "AS IS" BASIS, |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
13 * See the License for the specific language governing permissions and |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
14 * limitations under the License. |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
15 */ |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
16 package jetbrains.buildServer.buildTriggers.vcs.mercurial; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
17 |
978
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
18 import jetbrains.buildServer.serverSide.BasePropertiesModel; |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
19 import jetbrains.buildServer.serverSide.TeamCityProperties; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
20 import jetbrains.buildServer.vcs.impl.VcsRootImpl; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
21 import jetbrains.buildServer.vcs.patches.PatchTestCase; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
22 import org.jetbrains.annotations.NotNull; |
978
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
23 import org.testng.annotations.AfterMethod; |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
24 import org.testng.annotations.BeforeMethod; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
25 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
26 import java.io.File; |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
27 import java.io.IOException; |
978
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
28 import java.util.HashSet; |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
29 import java.util.Set; |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
30 |
443
d0f80762461a
Test refactoring: get rid of LocalRepositoryUtil
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
356
diff
changeset
|
31 import static jetbrains.buildServer.buildTriggers.vcs.mercurial.Util.copyRepository; |
d0f80762461a
Test refactoring: get rid of LocalRepositoryUtil
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
356
diff
changeset
|
32 |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
33 /** |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
34 * @author Pavel.Sher |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
35 * Date: 31.07.2008 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
36 */ |
636
27933884b738
Better test name + reuse temp files
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
443
diff
changeset
|
37 public abstract class BaseMercurialPatchTestCase extends PatchTestCase { |
978
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
38 private Set<String> myPropertiesToClean; |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
39 |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
40 @BeforeMethod |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
41 protected void setUp() throws Exception { |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
42 super.setUp(); |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
43 new TeamCityProperties() {{ setModel(new BasePropertiesModel() {});}}; |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
44 myPropertiesToClean = new HashSet<>(); |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
45 } |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
46 |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
47 @AfterMethod |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
48 public void tearDown() { |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
49 cleanInternalProperties(); |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
50 myTempFiles.cleanup(); |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
51 } |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
52 |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
53 protected VcsRootImpl createVcsRoot(@NotNull String repPath) throws IOException { |
443
d0f80762461a
Test refactoring: get rid of LocalRepositoryUtil
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
356
diff
changeset
|
54 File repository = copyRepository(myTempFiles, repPath); |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
310
diff
changeset
|
55 return new VcsRootBuilder().withUrl(repository.getAbsolutePath()).build(); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
56 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
57 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
58 protected VcsRootImpl createVcsRoot(@NotNull String repPath, @NotNull String branchName) throws IOException { |
443
d0f80762461a
Test refactoring: get rid of LocalRepositoryUtil
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
356
diff
changeset
|
59 File repository = copyRepository(myTempFiles, repPath); |
356
53b430731041
TW-19984 ensure map file cleaned as well
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
310
diff
changeset
|
60 return new VcsRootBuilder().withUrl(repository.getAbsolutePath()).withBranch(branchName).build(); |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
61 } |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
62 |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
63 protected String simpleRepo() { |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
64 return new File("mercurial-tests/testData/rep1").getAbsolutePath(); |
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
65 } |
978
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
66 |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
67 protected void setInternalProperty(@NotNull String propKey, @NotNull String value) { |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
68 System.setProperty(propKey, value); |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
69 myPropertiesToClean.add(propKey); |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
70 } |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
71 |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
72 private void cleanInternalProperties() { |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
73 for (String prop : myPropertiesToClean) { |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
74 System.getProperties().remove(prop); |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
75 } |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
76 myPropertiesToClean.clear(); |
38e96101a6ef
TW-50054 disable custom clone path by default
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
977
diff
changeset
|
77 } |
266
643fa1236f4e
Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
160
diff
changeset
|
78 } |