annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/BaseMercurialPatchTestCase.java @ 1068:2d8aab94494f Lakhnau-2020.2.x release-86063

TW-70693
author victory.bedrosova
date Thu, 18 Mar 2021 18:30:34 +0100
parents 1168c4c64d49
children
rev   line source
266
643fa1236f4e Fix file encoding
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 160
diff changeset
1 /*
977
38adef4f1b8f Update copyright
pavel.sher
parents: 732
diff changeset
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 }