1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.scm.provider.hg;
20
21 import org.apache.commons.lang3.StringUtils;
22 import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
23 import org.codehaus.plexus.util.cli.Commandline;
24 import org.junit.Test;
25
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.assertNull;
28
29 public class HgUtilsTest {
30
31 @Test
32 public void testNullWorkingDirectory() throws Exception {
33 Commandline cmd = HgUtils.buildCmd(null, new String[] {});
34 assertNull(cmd.getWorkingDirectory());
35 }
36
37 @Test
38 public void testCryptPassword() throws Exception {
39 Commandline cmdHttps = HgUtils.buildCmd(
40 null, new String[] {HgCommandConstants.PUSH_CMD, null, "https://username:password@example.com/foobar"});
41 Commandline cmd = new Commandline(HgUtils.maskPassword(cmdHttps));
42
43 String[] shellArgs = cmd.getShell().getShellArgs();
44
45 if (shellArgs != null && shellArgs.length > 0) {
46
47
48 assertEquals(
49 "https://username:*****@example.com/foobar",
50 StringUtils.split(cmd.getArguments()[shellArgs.length])[2]);
51 } else {
52 assertEquals("https://username:*****@example.com/foobar", cmd.getArguments()[3]);
53 }
54 }
55 }