1 package org.apache.maven.wagon.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 import org.apache.maven.wagon.WagonConstants;
25
26
27
28
29
30 public class RepositoryTest
31 extends TestCase
32 {
33 public RepositoryTest( final String name )
34 {
35 super( name );
36 }
37
38 public void setUp()
39 throws Exception
40 {
41 super.setUp();
42 }
43
44 public void tearDown()
45 throws Exception
46 {
47 super.tearDown();
48 }
49
50 public void testRepositoryProperties()
51 throws Exception
52 {
53 Repository repository = new Repository();
54
55 repository.setBasedir( "directory" );
56
57 assertEquals( "directory", repository.getBasedir() );
58
59 repository.setName( "name" );
60
61 assertEquals( "name", repository.getName() );
62
63 repository.setPort( 0 );
64
65 assertEquals( 0, repository.getPort() );
66
67 assertEquals( "localhost", repository.getHost() );
68
69 repository.setUrl( "http://www.ibiblio.org" );
70
71 assertEquals( "http://www.ibiblio.org", repository.getUrl() );
72
73 assertEquals( "http", repository.getProtocol() );
74
75 assertEquals( "www.ibiblio.org", repository.getHost() );
76
77 assertEquals( "/", repository.getBasedir() );
78
79 assertEquals( WagonConstants.UNKNOWN_PORT, repository.getPort() );
80
81 repository.setUrl( "https://www.ibiblio.org:100/maven" );
82
83 assertEquals( "https://www.ibiblio.org:100/maven", repository.getUrl() );
84
85 assertEquals( "https", repository.getProtocol() );
86
87 assertEquals( "www.ibiblio.org", repository.getHost() );
88
89 assertEquals( "/maven", repository.getBasedir() );
90
91 assertEquals( 100, repository.getPort() );
92
93 assertEquals( "www.ibiblio.org", repository.getHost() );
94
95 repository.setBasedir( "basedir" );
96
97 assertEquals( "basedir", repository.getBasedir() );
98
99 repository.setUrl( "http://brett:porter@www.ibiblio.org" );
100
101 assertEquals( "http://www.ibiblio.org", repository.getUrl() );
102
103 repository.setUrl( "http://brett@www.ibiblio.org" );
104
105 assertEquals( "http://www.ibiblio.org", repository.getUrl() );
106
107 }
108
109 public void testIPv6()
110 {
111 assertRepository( "http://user:password@[fff:::1]:7891/oo/rest/users", "http://[fff:::1]:7891/oo/rest/users",
112 "/oo/rest/users", "user", "password", "fff:::1", 7891 );
113 assertRepository( "http://[fff:::1]:7891/oo/rest/users", "http://[fff:::1]:7891/oo/rest/users",
114 "/oo/rest/users", null, null, "fff:::1", 7891 );
115 assertRepository( "http://user:password@[fff:::1]/oo/rest/users", "http://[fff:::1]/oo/rest/users",
116 "/oo/rest/users", "user", "password", "fff:::1", -1 );
117 assertRepository( "http://user:password@[fff:::1]:7891", "http://[fff:::1]:7891", "/", "user", "password",
118 "fff:::1", 7891 );
119
120 assertRepository( "http://user:password@[fff:000::222:1111]:7891/oo/rest/users",
121 "http://[fff:000::222:1111]:7891/oo/rest/users", "/oo/rest/users", "user", "password",
122 "fff:000::222:1111", 7891 );
123 assertRepository( "http://[fff:000::222:1111]:7891/oo/rest/users",
124 "http://[fff:000::222:1111]:7891/oo/rest/users", "/oo/rest/users", null, null,
125 "fff:000::222:1111", 7891 );
126 assertRepository( "http://user:password@[fff:000::222:1111]/oo/rest/users",
127 "http://[fff:000::222:1111]/oo/rest/users", "/oo/rest/users", "user", "password",
128 "fff:000::222:1111", -1 );
129 assertRepository( "http://user:password@[fff:000::222:1111]:7891", "http://[fff:000::222:1111]:7891", "/",
130 "user", "password", "fff:000::222:1111", 7891 );
131
132 assertRepository( "http://user:password@16.60.56.58:7891/oo/rest/users",
133 "http://16.60.56.58:7891/oo/rest/users", "/oo/rest/users", "user", "password", "16.60.56.58",
134 7891 );
135 assertRepository( "http://16.60.56.58:7891/oo/rest/users", "http://16.60.56.58:7891/oo/rest/users",
136 "/oo/rest/users", null, null, "16.60.56.58", 7891 );
137 assertRepository( "http://user:password@16.60.56.58/oo/rest/users", "http://16.60.56.58/oo/rest/users",
138 "/oo/rest/users", "user", "password", "16.60.56.58", -1 );
139 assertRepository( "http://user:password@16.60.56.58:7891", "http://16.60.56.58:7891", "/", "user", "password",
140 "16.60.56.58", 7891 );
141
142 assertRepository( "http://user:password@16.60.56.58:7891/oo/rest/users",
143 "http://16.60.56.58:7891/oo/rest/users", "/oo/rest/users", "user", "password", "16.60.56.58",
144 7891 );
145 assertRepository( "http://16.60.56.58:7891/oo/rest/users", "http://16.60.56.58:7891/oo/rest/users",
146 "/oo/rest/users", null, null, "16.60.56.58", 7891 );
147 assertRepository( "http://user:password@16.60.56.58/oo/rest/users", "http://16.60.56.58/oo/rest/users",
148 "/oo/rest/users", "user", "password", "16.60.56.58", -1 );
149 assertRepository( "http://user:password@16.60.56.58:7891", "http://16.60.56.58:7891", "/", "user", "password",
150 "16.60.56.58", 7891 );
151 }
152
153 private void assertRepository( String url, String repoUrl, String baseDir, String user, String password,
154 String host, int port )
155 {
156 Repository repo = new Repository( String.valueOf( System.currentTimeMillis() ), url );
157 assertEquals( repoUrl, repo.getUrl() );
158 assertEquals( baseDir, repo.getBasedir() );
159 assertEquals( host, repo.getHost() );
160 assertEquals( user, repo.getUsername() );
161 assertEquals( password, repo.getPassword() );
162 assertEquals( port, repo.getPort() );
163 }
164 }