Mercurial > hg > mercurial
annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CloneCommandTest.java @ 893:1558f8257474
gather progress only if command reports it
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Fri, 07 Nov 2014 16:05:09 +0100 |
parents | 31a1aca3305c |
children | 7bf4d943d5bb |
rev | line source |
---|---|
732
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
1 /* |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
2 * Copyright 2000-2014 JetBrains s.r.o. |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
3 * |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
4 * Licensed under the Apache License, Version 2.0 (the "License"); |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
5 * you may not use this file except in compliance with the License. |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
6 * You may obtain a copy of the License at |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
7 * |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
8 * http://www.apache.org/licenses/LICENSE-2.0 |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
9 * |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
10 * Unless required by applicable law or agreed to in writing, software |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
11 * distributed under the License is distributed on an "AS IS" BASIS, |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
13 * See the License for the specific language governing permissions and |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
14 * limitations under the License. |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
15 */ |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
493
diff
changeset
|
16 |
207
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
17 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
18 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
19 import jetbrains.buildServer.BaseTestCase; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
20 import jetbrains.buildServer.TempFiles; |
280
8c1fd2e565ae
Implement mercurial detection on the agents
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
207
diff
changeset
|
21 import jetbrains.buildServer.buildTriggers.vcs.mercurial.*; |
207
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
22 import jetbrains.buildServer.vcs.VcsException; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
23 import jetbrains.buildServer.vcs.impl.VcsRootImpl; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
24 import org.testng.annotations.AfterMethod; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
25 import org.testng.annotations.BeforeMethod; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
26 import org.testng.annotations.Test; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
27 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
28 import java.io.File; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
29 import java.io.IOException; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
30 |
443
d0f80762461a
Test refactoring: get rid of LocalRepositoryUtil
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
429
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:
429
diff
changeset
|
32 |
207
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
33 /** |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
34 * @author dmitry.neverov |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
35 */ |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
36 @Test |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
37 public class CloneCommandTest extends BaseTestCase { |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
38 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
39 protected TempFiles myTempFiles; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
40 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
41 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
42 @Override |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
43 @BeforeMethod |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
44 public void setUp() throws Exception { |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
45 myTempFiles = new TempFiles(); |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
46 } |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
47 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
48 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
49 @AfterMethod |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
50 public void tearDown() throws Exception { |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
51 myTempFiles.cleanup(); |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
52 } |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
53 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
54 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
55 public void clone_should_be_made_to_its_destination_dir() throws IOException, VcsException { |
443
d0f80762461a
Test refactoring: get rid of LocalRepositoryUtil
Dmitry Neverov <dmitry.neverov@gmail.com>
parents:
429
diff
changeset
|
56 File repository = copyRepository(myTempFiles, new File("mercurial-tests/testData/rep1").getAbsolutePath()); |
207
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
57 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
58 VcsRootImpl root = new VcsRootImpl(1, "rootForTest"); |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
59 root.addProperty(Constants.REPOSITORY_PROP, repository.getAbsolutePath()); |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
60 root.addProperty(Constants.HG_COMMAND_PATH_PROP, Util.getHgPath()); |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
61 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
62 File workingDir = myTempFiles.createTempDir(); |
309
33305b2022c2
Take caches and plugin data dirs from PluginConfig
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
63 ServerPluginConfig config = new ServerPluginConfigBuilder().cachesDir(myTempFiles.createTempDir()).build(); |
429
04eab204ba39
Remove HgVcsRoot's dependency on HgPathProvider
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
426
diff
changeset
|
64 ServerHgPathProvider hgPathProvider = new ServerHgPathProvider(config); |
04eab204ba39
Remove HgVcsRoot's dependency on HgPathProvider
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
426
diff
changeset
|
65 HgVcsRoot hgRoot = new HgVcsRoot(root); |
426
c91c4f1ebd53
Settings -> HgVcsRoot
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
399
diff
changeset
|
66 hgRoot.setCustomWorkingDir(workingDir); |
207
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
67 |
493
236d0866a45f
Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
68 new CloneCommand(new TestCommandSettingsFactory().create(), hgPathProvider.getHgPath(hgRoot), workingDir, hgRoot.getAuthSettings()).fromRepository(hgRoot.getRepository()).call(); |
207
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
69 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
70 String[] files = new String[] {".hg", "dir1", "dir with space", "file.txt"}; |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
71 for (String f : files) { |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
72 assertTrue(new File(workingDir, f).exists()); |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
73 } |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
74 } |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
75 |
3819be43aa8d
Test we clone to the destination dir
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
76 } |