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