1 package org.apache.maven.scm.provider.hg.repository;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import junit.framework.TestCase;
23
24 public class HgScmProviderRepositoryTest
25 extends TestCase
26 {
27
28
29
30
31
32
33
34
35
36 public void testFileRepo()
37 {
38
39 String url = "/home/username/dev/maven";
40 HgScmProviderRepository repo = new HgScmProviderRepository( url );
41 assertNull( repo.validateURI() );
42
43
44 url = "C:/Documents and Settings/username/dev/maven";
45 repo = new HgScmProviderRepository( url );
46 assertNull( repo.validateURI() );
47
48
49 url = "C:\\Documents and Settings\\username\\dev\\maven";
50 repo = new HgScmProviderRepository( url );
51 assertNull( repo.validateURI() );
52
53
54
55
56
57 }
58
59 public void testSSHRepo()
60 {
61
62
63 String url = "ssh://username:password@myhost.com/~/dev/maven";
64 HgScmProviderRepository repo = new HgScmProviderRepository( url );
65 assertEquals( url, repo.getURI() );
66 assertNull( repo.validateURI() );
67
68
69 url = "ssh://username:password@myhost.com/home/username/dev/maven";
70 repo = new HgScmProviderRepository( url );
71 assertEquals( url, repo.getURI() );
72 assertNull( repo.validateURI() );
73
74
75 String incompleteUrl = "ssh://username@myhost.com/home/username/dev/maven";
76 repo = new HgScmProviderRepository( incompleteUrl );
77 assertEquals( incompleteUrl, repo.getURI() );
78 assertNull( repo.validateURI() );
79 }
80
81 public void testHTTPRepo()
82 {
83
84
85 String url = "http://www.myhost.com/~username/dev/maven";
86 HgScmProviderRepository repo = new HgScmProviderRepository( url );
87 assertEquals( url, repo.getURI() );
88 assertEquals( null, repo.validateURI() );
89
90
91 url = "http://www.myhost.com/dev/maven";
92 repo = new HgScmProviderRepository( url );
93 assertEquals( url, repo.getURI() );
94 assertNull( repo.validateURI() );
95
96
97 repo.setPassword( "Password" );
98 repo.setUser( "User" );
99 repo.setPassphrase( "Passphrase" );
100 assertEquals( "http://User:Password@www.myhost.com/dev/maven", repo.getURI() );
101 assertNull( repo.validateURI() );
102 repo.setPort( 81 );
103 assertEquals( "http://User:Password@www.myhost.com:81/dev/maven", repo.getURI() );
104 assertNull( repo.validateURI() );
105 assertTrue( true );
106 }
107
108 public void testHTTPRepoWithHgInUrl()
109 {
110 String url = "http://hg/hg/maven";
111 HgScmProviderRepository repo = new HgScmProviderRepository( url );
112 assertEquals( url, repo.getURI() );
113 assertEquals( null, repo.validateURI() );
114 }
115
116
117
118
119
120
121 public void testParseHostAndPort()
122 throws Exception
123 {
124 String url = "http://localhost:8000/";
125 HgScmProviderRepository repo = new HgScmProviderRepository( url );
126 assertEquals( repo.getURI(), url );
127
128 url = "http://localhost/";
129 repo = new HgScmProviderRepository( url );
130 assertEquals( repo.getURI(), url );
131
132 url = "http://www.myhost.com:81/dev/maven";
133 repo = new HgScmProviderRepository( url );
134 assertEquals( repo.getURI(), url );
135 }
136
137
138
139
140
141
142 public void testParseBasicAuth()
143 throws Exception
144 {
145 String url = "http://a:b@localhost:8000/";
146 HgScmProviderRepository repo = new HgScmProviderRepository( url );
147 assertEquals( url, repo.getURI() );
148
149 url = "http://aa@localhost/";
150 repo = new HgScmProviderRepository( url );
151 assertEquals( url, repo.getURI() );
152
153 url = "http://SCM:431@www.myhost.com:81/dev/maven";
154 repo = new HgScmProviderRepository( url );
155 assertEquals( url, repo.getURI() );
156 }
157 }