annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/IdentifyCommandTest.java @ 223:3b5ffc1f5b7f

Add test for identify command
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Wed, 06 Apr 2011 11:01:28 +0400
parents
children 65dc850d16af
rev   line source
223
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
1 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command;
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
2
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
3 import jetbrains.buildServer.vcs.VcsException;
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
4 import org.jetbrains.annotations.NotNull;
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
5 import org.testng.annotations.Test;
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
6
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
7 import java.io.IOException;
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
8
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
9 /**
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
10 * @author dmitry.neverov
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
11 */
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
12 @Test
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
13 public class IdentifyCommandTest extends BaseCommandTestCase {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
14
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
15 public void should_throw_exception_if_cset_is_not_present() throws IOException {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
16 setRepository("mercurial-tests/testData/rep1", true);
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
17 String nonExistingVersion = "1d446e82d355";
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
18 try {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
19 runIdentify(new ChangeSet(nonExistingVersion));
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
20 fail("Should throw exception for non-existing change set");
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
21 } catch (VcsException e) {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
22 assertTrue(true);
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
23 }
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
24 }
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
25
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
26 public void should_not_throw_exception_if_cset_is_present() throws IOException {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
27 setRepository("mercurial-tests/testData/rep1", true);
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
28 String nonExistingVersion = "1d446e82d356";
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
29 try {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
30 runIdentify(new ChangeSet(nonExistingVersion));
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
31 } catch (VcsException e) {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
32 fail("Should not throw an exception if change set is present");
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
33 }
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
34 }
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
35
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
36 private Void runIdentify(final ChangeSet cset) throws IOException, VcsException {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
37 return runCommand(new CommandExecutor<Void>() {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
38 public Void execute(@NotNull final Settings settings) throws VcsException {
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
39 IdentifyCommand identify = new IdentifyCommand(settings);
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
40 identify.setWorkingDir(settings.getLocalRepositoryDir());
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
41 identify.setInLocalRepository(true);
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
42 identify.setChangeSet(cset);
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
43 identify.execute();
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
44 return null;
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
45 }
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
46 });
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
47 }
3b5ffc1f5b7f Add test for identify command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
48 }