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
109
110
111
112
113 public void testParseHostAndPort()
114 throws Exception
115 {
116 String url = "http://localhost:8000/";
117 HgScmProviderRepository repo = new HgScmProviderRepository( url );
118 assertEquals( repo.getURI(), url );
119
120 url = "http://localhost/";
121 repo = new HgScmProviderRepository( url );
122 assertEquals( repo.getURI(), url );
123
124 url = "http://www.myhost.com:81/dev/maven";
125 repo = new HgScmProviderRepository( url );
126 assertEquals( repo.getURI(), url );
127 }
128
129
130
131
132
133
134 public void testParseBasicAuth()
135 throws Exception
136 {
137 String url = "http://a:b@localhost:8000/";
138 HgScmProviderRepository repo = new HgScmProviderRepository( url );
139 assertEquals( url, repo.getURI() );
140
141 url = "http://aa@localhost/";
142 repo = new HgScmProviderRepository( url );
143 assertEquals( url, repo.getURI() );
144
145 url = "http://SCM:431@www.myhost.com:81/dev/maven";
146 repo = new HgScmProviderRepository( url );
147 assertEquals( url, repo.getURI() );
148 }
149 }