Source code: org/repoweb/model/util/ALUTest.java
1 /*
2 * REPOWEB, repository manager.
3 *
4 * Terms of license - http://opensource.org/licenses/apachepl.php
5 */
6 package org.repoweb.model.util;
7 import java.util.Iterator;
8 import javax.servlet.http.HttpServletRequest;
9 import junit.framework.TestCase;
10 import org.easymock.MockControl;
11 import org.repoweb.model.Artifact;
12 import org.repoweb.model.ArtifactList;
13 import org.repoweb.model.ArtifactListFilter;
14 import org.repoweb.model.Group;
15 /**
16 * DOCUMENT ME!
17 *
18 * @version $Revision: 1.1.1.1 $
19 */
20 public class ALUTest extends TestCase {
21 private MockControl controlList;
22 private ArtifactList mockList;
23 private MockControl controlFilter;
24 private ArtifactListFilter mockFilter;
25 private MockControl controlIter;
26 private Iterator mockIter;
27 private MockControl controlRequest;
28 private HttpServletRequest mockRequest;
29 private MockControl controlArtifact;
30 private Artifact mockArtifact;
31
32 public void test_groups() throws Exception {
33 mockList.newPropertyFilter("groupId");
34 controlList.setReturnValue(mockFilter, 1);
35
36 mockFilter.applyFilter();
37 controlFilter.setReturnValue(mockIter, 1);
38
39 replayMock();
40
41 Iterator iter = ALU.groups(mockList);
42
43 verifyMock();
44 assertEquals(mockIter, iter);
45 }
46
47
48 public void test_versionByGroup() throws Exception {
49 mockList.newPropertyFilter("version");
50 controlList.setReturnValue(mockFilter, 1);
51
52 mockFilter.setGroupId("grpId");
53 mockFilter.setReverse(true);
54 controlFilter.setVoidCallable();
55
56 mockFilter.applyFilter();
57 controlFilter.setReturnValue(mockIter, 1);
58
59 replayMock();
60
61 Iterator iter = ALU.versionByGroup("grpId", mockList);
62
63 verifyMock();
64 assertEquals(mockIter, iter);
65 }
66
67
68 public void test_typeByGroup() throws Exception {
69 mockList.newPropertyFilter("type");
70 controlList.setReturnValue(mockFilter, 1);
71
72 mockFilter.setGroupId("grpId");
73 controlFilter.setVoidCallable();
74
75 mockFilter.applyFilter();
76 controlFilter.setReturnValue(mockIter, 1);
77
78 replayMock();
79
80 Iterator iter = ALU.typeByGroup("grpId", mockList);
81
82 verifyMock();
83 assertEquals(mockIter, iter);
84 }
85
86
87 public void test_artifactByGroupAndVersion() throws Exception {
88 mockList.newArtifactFilter();
89 controlList.setReturnValue(mockFilter, 1);
90
91 mockFilter.setGroupId("grpId");
92 mockFilter.setVersion("versId");
93 controlFilter.setVoidCallable();
94
95 mockFilter.applyFilter();
96 controlFilter.setReturnValue(mockIter, 1);
97
98 replayMock();
99
100 Iterator iter = ALU.artifactByGroupAndVersion("grpId", "versId", mockList);
101
102 verifyMock();
103 assertEquals(mockIter, iter);
104 }
105
106
107 public void test_artifactIdByGroupAndType() throws Exception {
108 mockList.newPropertyFilter("artifactId");
109 controlList.setReturnValue(mockFilter, 1);
110
111 mockFilter.setGroupId("grpId");
112 mockFilter.setType("jar");
113 controlFilter.setVoidCallable();
114
115 mockFilter.applyFilter();
116 controlFilter.setReturnValue(mockIter, 1);
117
118 replayMock();
119
120 Iterator iter = ALU.artifactIdByGroupAndType("grpId", "jar", mockList);
121
122 verifyMock();
123 assertEquals(mockIter, iter);
124 }
125
126
127 public void test_artifactFor() throws Exception {
128 mockList.newArtifactFilter();
129 controlList.setReturnValue(mockFilter, 1);
130
131 mockFilter.setGroupId("grpId");
132 mockFilter.setArtifactId("arti");
133 mockFilter.setType("jar");
134 mockFilter.setReverse(true);
135 controlFilter.setVoidCallable();
136
137 mockFilter.applyFilter();
138 controlFilter.setReturnValue(mockIter, 1);
139
140 replayMock();
141
142 Iterator iter = ALU.artifactFor("grpId", "jar", "arti", mockList);
143
144 verifyMock();
145 assertEquals(mockIter, iter);
146 }
147
148
149 public void test_groupURI_artifact() throws Exception {
150 MockControl controlGroup = MockControl.createControl(Group.class);
151 Group mockGroup = (Group)controlGroup.getMock();
152
153 mockRequest.getContextPath();
154 controlRequest.setReturnValue("http://localhost/repoweb");
155
156 mockGroup.getGroupId();
157 controlGroup.setReturnValue("jfcunit");
158
159 controlRequest.replay();
160 controlGroup.replay();
161
162 assertEquals("http://localhost/repoweb/do/maven/jfcunit",
163 ALU.groupURL(mockRequest, mockGroup));
164
165 controlRequest.verify();
166 controlGroup.verify();
167 }
168
169
170 public void test_groupURI_string() throws Exception {
171 mockRequest.getContextPath();
172 controlRequest.setReturnValue("http://localhost/repoweb");
173
174 controlRequest.replay();
175
176 assertEquals("http://localhost/repoweb/do/maven/junit",
177 ALU.groupURL(mockRequest, "junit"));
178
179 controlRequest.verify();
180 }
181
182
183 public void test_groupTypeURI() throws Exception {
184 mockRequest.getContextPath();
185 controlRequest.setReturnValue("http://localhost/repoweb", 2);
186
187 controlRequest.replay();
188
189 assertEquals("http://localhost/repoweb/do/maven/jfcunit/jars",
190 ALU.groupTypeURL(mockRequest, "jfcunit", "jar"));
191
192 assertEquals("http://localhost/repoweb/do/maven/jfcunit/jars",
193 ALU.groupTypeURL(mockRequest, "jfcunit", "jars"));
194
195 controlRequest.verify();
196 }
197
198
199 public void test_artifactURI() throws Exception {
200 mockRequest.getContextPath();
201 controlRequest.setReturnValue("http://localhost/repoweb");
202
203 mockArtifact.getGroupId();
204 controlArtifact.setReturnValue("junit");
205
206 mockArtifact.getType();
207 controlArtifact.setReturnValue("jar");
208
209 mockArtifact.getFileName();
210 controlArtifact.setReturnValue("file.jar");
211
212 controlRequest.replay();
213 controlArtifact.replay();
214
215 assertEquals("http://localhost/repoweb/do/maven/junit/jars/file.jar",
216 ALU.artifactURL(mockRequest, mockArtifact));
217
218 controlRequest.verify();
219 controlArtifact.verify();
220 }
221
222
223 protected void setUp() throws Exception {
224 super.setUp();
225
226 controlList = MockControl.createControl(ArtifactList.class);
227 mockList = (ArtifactList)controlList.getMock();
228
229 controlFilter = MockControl.createControl(ArtifactListFilter.class);
230 mockFilter = (ArtifactListFilter)controlFilter.getMock();
231
232 controlIter = MockControl.createControl(Iterator.class);
233 mockIter = (Iterator)controlIter.getMock();
234
235 controlRequest = MockControl.createControl(HttpServletRequest.class);
236 mockRequest = (HttpServletRequest)controlRequest.getMock();
237
238 controlArtifact = MockControl.createControl(Artifact.class);
239 mockArtifact = (Artifact)controlArtifact.getMock();
240 }
241
242
243 private void replayMock() {
244 controlList.replay();
245 controlFilter.replay();
246 controlIter.replay();
247 }
248
249
250 private void verifyMock() {
251 controlList.verify();
252 controlFilter.verify();
253 controlIter.verify();
254 }
255 }