1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
20 |
|
package org.xwiki.test.rest.framework; |
21 |
|
|
22 |
|
import java.io.InputStream; |
23 |
|
import java.io.StringWriter; |
24 |
|
import java.net.URI; |
25 |
|
import java.util.ArrayList; |
26 |
|
import java.util.List; |
27 |
|
import java.util.Random; |
28 |
|
|
29 |
|
import javax.xml.bind.JAXBContext; |
30 |
|
import javax.xml.bind.Marshaller; |
31 |
|
import javax.xml.bind.Unmarshaller; |
32 |
|
|
33 |
|
import org.apache.commons.httpclient.HttpClient; |
34 |
|
import org.apache.commons.httpclient.HttpMethod; |
35 |
|
import org.apache.commons.httpclient.HttpStatus; |
36 |
|
import org.apache.commons.httpclient.NameValuePair; |
37 |
|
import org.apache.commons.httpclient.UsernamePasswordCredentials; |
38 |
|
import org.apache.commons.httpclient.auth.AuthScope; |
39 |
|
import org.apache.commons.httpclient.methods.DeleteMethod; |
40 |
|
import org.apache.commons.httpclient.methods.GetMethod; |
41 |
|
import org.apache.commons.httpclient.methods.InputStreamRequestEntity; |
42 |
|
import org.apache.commons.httpclient.methods.PostMethod; |
43 |
|
import org.apache.commons.httpclient.methods.PutMethod; |
44 |
|
import org.apache.commons.httpclient.methods.RequestEntity; |
45 |
|
import org.apache.commons.httpclient.methods.StringRequestEntity; |
46 |
|
import org.junit.Assert; |
47 |
|
import org.junit.Before; |
48 |
|
import org.junit.Rule; |
49 |
|
import org.junit.rules.TestName; |
50 |
|
import org.restlet.data.MediaType; |
51 |
|
import org.xwiki.component.annotation.ComponentAnnotationLoader; |
52 |
|
import org.xwiki.component.annotation.ComponentDeclaration; |
53 |
|
import org.xwiki.component.embed.EmbeddableComponentManager; |
54 |
|
import org.xwiki.component.manager.ComponentManager; |
55 |
|
import org.xwiki.model.internal.DefaultModelConfiguration; |
56 |
|
import org.xwiki.model.internal.reference.DefaultEntityReferenceProvider; |
57 |
|
import org.xwiki.model.internal.reference.DefaultStringEntityReferenceResolver; |
58 |
|
import org.xwiki.model.internal.reference.DefaultStringEntityReferenceSerializer; |
59 |
|
import org.xwiki.model.internal.reference.DefaultSymbolScheme; |
60 |
|
import org.xwiki.model.internal.reference.RelativeStringEntityReferenceResolver; |
61 |
|
import org.xwiki.model.reference.DocumentReference; |
62 |
|
import org.xwiki.repository.test.SolrTestUtils; |
63 |
|
import org.xwiki.rest.internal.Utils; |
64 |
|
import org.xwiki.rest.model.jaxb.Attachment; |
65 |
|
import org.xwiki.rest.model.jaxb.Attachments; |
66 |
|
import org.xwiki.rest.model.jaxb.Link; |
67 |
|
import org.xwiki.rest.model.jaxb.LinkCollection; |
68 |
|
import org.xwiki.rest.model.jaxb.ObjectFactory; |
69 |
|
import org.xwiki.rest.model.jaxb.Objects; |
70 |
|
import org.xwiki.rest.model.jaxb.Page; |
71 |
|
import org.xwiki.rest.model.jaxb.PageSummary; |
72 |
|
import org.xwiki.rest.model.jaxb.Pages; |
73 |
|
import org.xwiki.rest.model.jaxb.Wikis; |
74 |
|
import org.xwiki.rest.resources.pages.PageResource; |
75 |
|
import org.xwiki.rest.resources.wikis.WikisResource; |
76 |
|
import org.xwiki.test.ui.AbstractTest; |
77 |
|
import org.xwiki.test.ui.TestUtils; |
78 |
|
|
|
|
| 83.9% |
Uncovered Elements: 39 (242) |
Complexity: 42 |
Complexity Density: 0.22 |
|
79 |
|
public abstract class AbstractHttpTest |
80 |
|
{ |
81 |
|
|
82 |
|
|
83 |
|
|
84 |
|
@Rule |
85 |
|
public final TestName testName = new TestName(); |
86 |
|
|
87 |
|
protected Random random; |
88 |
|
|
89 |
|
protected Marshaller marshaller; |
90 |
|
|
91 |
|
protected Unmarshaller unmarshaller; |
92 |
|
|
93 |
|
protected ObjectFactory objectFactory; |
94 |
|
|
95 |
|
|
96 |
|
protected TestUtils testUtils = new TestUtils(); |
97 |
|
|
98 |
|
protected SolrTestUtils solrUtils; |
99 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 2 |
Complexity Density: 1 |
|
100 |
1 |
static {... |
101 |
1 |
try { |
102 |
1 |
initializeSystem(); |
103 |
|
} catch (Exception e) { |
104 |
|
|
105 |
|
} |
106 |
|
} |
107 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (13) |
Complexity: 1 |
Complexity Density: 0.08 |
|
108 |
70 |
@Before... |
109 |
|
public void setUp() throws Exception |
110 |
|
{ |
111 |
70 |
random = new Random(); |
112 |
|
|
113 |
70 |
JAXBContext context = JAXBContext.newInstance("org.xwiki.rest.model.jaxb"); |
114 |
70 |
marshaller = context.createMarshaller(); |
115 |
70 |
unmarshaller = context.createUnmarshaller(); |
116 |
70 |
objectFactory = new ObjectFactory(); |
117 |
|
|
118 |
|
|
119 |
70 |
Page page = this.testUtils.rest().page(new DocumentReference("xwiki", "XWiki", "XWikiPreferences")); |
120 |
70 |
org.xwiki.rest.model.jaxb.Object rightObject = this.testUtils.rest().object("XWiki.XWikiGlobalRights"); |
121 |
70 |
rightObject.withProperties(this.testUtils.rest().property("users", "XWiki.XWikiGuest"), |
122 |
|
this.testUtils.rest().property("levels", "edit"), this.testUtils.rest().property("allow", "0")); |
123 |
70 |
Objects objects = new Objects(); |
124 |
70 |
objects.withObjectSummaries(rightObject); |
125 |
70 |
page.setObjects(objects); |
126 |
70 |
this.testUtils.rest().save(page); |
127 |
|
|
128 |
|
|
129 |
70 |
this.solrUtils = new SolrTestUtils(this.testUtils); |
130 |
|
} |
131 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (11) |
Complexity: 1 |
Complexity Density: 0.09 |
|
132 |
1 |
public static void initializeSystem() throws Exception... |
133 |
|
{ |
134 |
1 |
ComponentManager componentManager = new EmbeddableComponentManager(); |
135 |
|
|
136 |
|
|
137 |
|
|
138 |
1 |
ComponentAnnotationLoader loader = new ComponentAnnotationLoader(); |
139 |
1 |
List<ComponentDeclaration> componentDeclarations = new ArrayList<>(); |
140 |
1 |
componentDeclarations.add(new ComponentDeclaration(DefaultStringEntityReferenceResolver.class.getName())); |
141 |
1 |
componentDeclarations.add(new ComponentDeclaration(DefaultStringEntityReferenceSerializer.class.getName())); |
142 |
1 |
componentDeclarations.add(new ComponentDeclaration(RelativeStringEntityReferenceResolver.class.getName())); |
143 |
1 |
componentDeclarations.add(new ComponentDeclaration(DefaultEntityReferenceProvider.class.getName())); |
144 |
1 |
componentDeclarations.add(new ComponentDeclaration(DefaultModelConfiguration.class.getName())); |
145 |
1 |
componentDeclarations.add(new ComponentDeclaration(DefaultSymbolScheme.class.getName())); |
146 |
1 |
loader.initialize(componentManager, AbstractTest.class.getClassLoader(), componentDeclarations); |
147 |
|
|
148 |
1 |
TestUtils.initializeComponent(componentManager); |
149 |
|
} |
150 |
|
|
|
|
| 80% |
Uncovered Elements: 2 (10) |
Complexity: 3 |
Complexity Density: 0.5 |
|
151 |
92 |
protected Link getFirstLinkByRelation(LinkCollection linkCollection, String relation)... |
152 |
|
{ |
153 |
92 |
if (linkCollection.getLinks() == null) { |
154 |
0 |
return null; |
155 |
|
} |
156 |
|
|
157 |
92 |
for (Link link : linkCollection.getLinks()) { |
158 |
247 |
if (link.getRel().equals(relation)) { |
159 |
76 |
return link; |
160 |
|
} |
161 |
|
} |
162 |
|
|
163 |
16 |
return null; |
164 |
|
} |
165 |
|
|
|
|
| 0% |
Uncovered Elements: 11 (11) |
Complexity: 3 |
Complexity Density: 0.43 |
|
166 |
0 |
protected List<Link> getLinksByRelation(LinkCollection linkCollection, String relation)... |
167 |
|
{ |
168 |
0 |
List<Link> result = new ArrayList<Link>(); |
169 |
|
|
170 |
0 |
if (linkCollection.getLinks() == null) { |
171 |
0 |
return result; |
172 |
|
} |
173 |
|
|
174 |
0 |
for (Link link : linkCollection.getLinks()) { |
175 |
0 |
if (link.getRel().equals(relation)) { |
176 |
0 |
result.add(link); |
177 |
|
} |
178 |
|
} |
179 |
|
|
180 |
0 |
return result; |
181 |
|
} |
182 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
183 |
182 |
protected String getBaseURL()... |
184 |
|
{ |
185 |
182 |
return this.testUtils.rest().getBaseURL(); |
186 |
|
} |
187 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
188 |
232 |
protected String getFullUri(Class<?> resourceClass)... |
189 |
|
{ |
190 |
232 |
return this.testUtils.rest().createUri(resourceClass, null).toString(); |
191 |
|
} |
192 |
|
|
193 |
|
public abstract void testRepresentation() throws Exception; |
194 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
195 |
823 |
protected GetMethod executeGet(String uri) throws Exception... |
196 |
|
{ |
197 |
823 |
HttpClient httpClient = new HttpClient(); |
198 |
|
|
199 |
823 |
GetMethod getMethod = new GetMethod(uri); |
200 |
823 |
getMethod.addRequestHeader("Accept", MediaType.APPLICATION_XML.toString()); |
201 |
823 |
httpClient.executeMethod(getMethod); |
202 |
|
|
203 |
823 |
return getMethod; |
204 |
|
} |
205 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0.14 |
|
206 |
3 |
protected GetMethod executeGet(String uri, String userName, String password) throws Exception... |
207 |
|
{ |
208 |
3 |
HttpClient httpClient = new HttpClient(); |
209 |
3 |
httpClient.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password)); |
210 |
3 |
httpClient.getParams().setAuthenticationPreemptive(true); |
211 |
|
|
212 |
3 |
GetMethod getMethod = new GetMethod(uri); |
213 |
3 |
getMethod.addRequestHeader("Accept", MediaType.APPLICATION_XML.toString()); |
214 |
3 |
httpClient.executeMethod(getMethod); |
215 |
|
|
216 |
3 |
return getMethod; |
217 |
|
} |
218 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (9) |
Complexity: 1 |
Complexity Density: 0.11 |
|
219 |
1 |
protected PostMethod executePostXml(String uri, Object object) throws Exception... |
220 |
|
{ |
221 |
1 |
HttpClient httpClient = new HttpClient(); |
222 |
|
|
223 |
1 |
PostMethod postMethod = new PostMethod(uri); |
224 |
1 |
postMethod.addRequestHeader("Accept", MediaType.APPLICATION_XML.toString()); |
225 |
|
|
226 |
1 |
StringWriter writer = new StringWriter(); |
227 |
1 |
marshaller.marshal(object, writer); |
228 |
|
|
229 |
1 |
RequestEntity entity = |
230 |
|
new StringRequestEntity(writer.toString(), MediaType.APPLICATION_XML.toString(), "UTF-8"); |
231 |
1 |
postMethod.setRequestEntity(entity); |
232 |
|
|
233 |
1 |
httpClient.executeMethod(postMethod); |
234 |
|
|
235 |
1 |
return postMethod; |
236 |
|
} |
237 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (11) |
Complexity: 1 |
Complexity Density: 0.09 |
|
238 |
18 |
protected PostMethod executePostXml(String uri, Object object, String userName, String password) throws Exception... |
239 |
|
{ |
240 |
18 |
HttpClient httpClient = new HttpClient(); |
241 |
18 |
httpClient.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password)); |
242 |
18 |
httpClient.getParams().setAuthenticationPreemptive(true); |
243 |
|
|
244 |
18 |
PostMethod postMethod = new PostMethod(uri); |
245 |
18 |
postMethod.addRequestHeader("Accept", MediaType.APPLICATION_XML.toString()); |
246 |
|
|
247 |
18 |
StringWriter writer = new StringWriter(); |
248 |
18 |
marshaller.marshal(object, writer); |
249 |
|
|
250 |
18 |
RequestEntity entity = |
251 |
|
new StringRequestEntity(writer.toString(), MediaType.APPLICATION_XML.toString(), "UTF-8"); |
252 |
18 |
postMethod.setRequestEntity(entity); |
253 |
|
|
254 |
18 |
httpClient.executeMethod(postMethod); |
255 |
|
|
256 |
18 |
return postMethod; |
257 |
|
} |
258 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (9) |
Complexity: 1 |
Complexity Density: 0.11 |
|
259 |
1 |
protected PostMethod executePost(String uri, InputStream is, String userName, String password) throws Exception... |
260 |
|
{ |
261 |
1 |
HttpClient httpClient = new HttpClient(); |
262 |
1 |
httpClient.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password)); |
263 |
1 |
httpClient.getParams().setAuthenticationPreemptive(true); |
264 |
|
|
265 |
1 |
PostMethod postMethod = new PostMethod(uri); |
266 |
1 |
postMethod.addRequestHeader("Accept", MediaType.APPLICATION_XML.toString()); |
267 |
|
|
268 |
1 |
RequestEntity entity = new InputStreamRequestEntity(is); |
269 |
1 |
postMethod.setRequestEntity(entity); |
270 |
|
|
271 |
1 |
httpClient.executeMethod(postMethod); |
272 |
|
|
273 |
1 |
return postMethod; |
274 |
|
} |
275 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (9) |
Complexity: 1 |
Complexity Density: 0.11 |
|
276 |
1 |
protected PostMethod executePost(String uri, String string, String mediaType, String userName, String password)... |
277 |
|
throws Exception |
278 |
|
{ |
279 |
1 |
HttpClient httpClient = new HttpClient(); |
280 |
1 |
httpClient.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password)); |
281 |
1 |
httpClient.getParams().setAuthenticationPreemptive(true); |
282 |
|
|
283 |
1 |
PostMethod postMethod = new PostMethod(uri); |
284 |
1 |
postMethod.addRequestHeader("Accept", MediaType.APPLICATION_XML.toString()); |
285 |
|
|
286 |
1 |
RequestEntity entity = new StringRequestEntity(string, mediaType, "UTF-8"); |
287 |
1 |
postMethod.setRequestEntity(entity); |
288 |
|
|
289 |
1 |
httpClient.executeMethod(postMethod); |
290 |
|
|
291 |
1 |
return postMethod; |
292 |
|
} |
293 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (9) |
Complexity: 1 |
Complexity Density: 0.11 |
|
294 |
6 |
protected PostMethod executePostForm(String uri, NameValuePair[] nameValuePairs, String userName, String password)... |
295 |
|
throws Exception |
296 |
|
{ |
297 |
6 |
HttpClient httpClient = new HttpClient(); |
298 |
6 |
httpClient.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password)); |
299 |
6 |
httpClient.getParams().setAuthenticationPreemptive(true); |
300 |
|
|
301 |
6 |
PostMethod postMethod = new PostMethod(uri); |
302 |
6 |
postMethod.addRequestHeader("Accept", MediaType.APPLICATION_XML.toString()); |
303 |
6 |
postMethod.addRequestHeader("Content-type", MediaType.APPLICATION_WWW_FORM.toString()); |
304 |
|
|
305 |
6 |
postMethod.setRequestBody(nameValuePairs); |
306 |
|
|
307 |
6 |
httpClient.executeMethod(postMethod); |
308 |
|
|
309 |
6 |
return postMethod; |
310 |
|
} |
311 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (9) |
Complexity: 1 |
Complexity Density: 0.11 |
|
312 |
2 |
protected PutMethod executePutXml(String uri, Object object) throws Exception... |
313 |
|
{ |
314 |
2 |
HttpClient httpClient = new HttpClient(); |
315 |
|
|
316 |
2 |
PutMethod putMethod = new PutMethod(uri); |
317 |
2 |
putMethod.addRequestHeader("Accept", MediaType.APPLICATION_XML.toString()); |
318 |
|
|
319 |
2 |
StringWriter writer = new StringWriter(); |
320 |
2 |
marshaller.marshal(object, writer); |
321 |
|
|
322 |
2 |
RequestEntity entity = |
323 |
|
new StringRequestEntity(writer.toString(), MediaType.APPLICATION_XML.toString(), "UTF-8"); |
324 |
2 |
putMethod.setRequestEntity(entity); |
325 |
|
|
326 |
2 |
httpClient.executeMethod(putMethod); |
327 |
|
|
328 |
2 |
return putMethod; |
329 |
|
} |
330 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (11) |
Complexity: 1 |
Complexity Density: 0.09 |
|
331 |
20 |
protected PutMethod executePutXml(String uri, Object object, String userName, String password) throws Exception... |
332 |
|
{ |
333 |
20 |
HttpClient httpClient = new HttpClient(); |
334 |
20 |
httpClient.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password)); |
335 |
20 |
httpClient.getParams().setAuthenticationPreemptive(true); |
336 |
|
|
337 |
20 |
PutMethod putMethod = new PutMethod(uri); |
338 |
20 |
putMethod.addRequestHeader("Accept", MediaType.APPLICATION_XML.toString()); |
339 |
|
|
340 |
20 |
StringWriter writer = new StringWriter(); |
341 |
20 |
marshaller.marshal(object, writer); |
342 |
|
|
343 |
20 |
RequestEntity entity = |
344 |
|
new StringRequestEntity(writer.toString(), MediaType.APPLICATION_XML.toString(), "UTF-8"); |
345 |
20 |
putMethod.setRequestEntity(entity); |
346 |
|
|
347 |
20 |
httpClient.executeMethod(putMethod); |
348 |
|
|
349 |
20 |
return putMethod; |
350 |
|
} |
351 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
|
352 |
2 |
protected PutMethod executePut(String uri, String string, String mediaType) throws Exception... |
353 |
|
{ |
354 |
2 |
HttpClient httpClient = new HttpClient(); |
355 |
|
|
356 |
2 |
PutMethod putMethod = new PutMethod(uri); |
357 |
2 |
RequestEntity entity = new StringRequestEntity(string, mediaType, "UTF-8"); |
358 |
2 |
putMethod.setRequestEntity(entity); |
359 |
|
|
360 |
2 |
httpClient.executeMethod(putMethod); |
361 |
|
|
362 |
2 |
return putMethod; |
363 |
|
} |
364 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (8) |
Complexity: 1 |
Complexity Density: 0.12 |
|
365 |
21 |
protected PutMethod executePut(String uri, String string, String mediaType, String userName, String password)... |
366 |
|
throws Exception |
367 |
|
{ |
368 |
21 |
HttpClient httpClient = new HttpClient(); |
369 |
21 |
httpClient.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password)); |
370 |
21 |
httpClient.getParams().setAuthenticationPreemptive(true); |
371 |
|
|
372 |
21 |
PutMethod putMethod = new PutMethod(uri); |
373 |
21 |
RequestEntity entity = new StringRequestEntity(string, mediaType, "UTF-8"); |
374 |
21 |
putMethod.setRequestEntity(entity); |
375 |
|
|
376 |
21 |
httpClient.executeMethod(putMethod); |
377 |
|
|
378 |
21 |
return putMethod; |
379 |
|
} |
380 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
381 |
3 |
protected DeleteMethod executeDelete(String uri) throws Exception... |
382 |
|
{ |
383 |
3 |
HttpClient httpClient = new HttpClient(); |
384 |
3 |
DeleteMethod deleteMethod = new DeleteMethod(uri); |
385 |
3 |
httpClient.executeMethod(deleteMethod); |
386 |
|
|
387 |
3 |
return deleteMethod; |
388 |
|
} |
389 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
|
390 |
4 |
protected DeleteMethod executeDelete(String uri, String userName, String password) throws Exception... |
391 |
|
{ |
392 |
4 |
HttpClient httpClient = new HttpClient(); |
393 |
4 |
httpClient.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password)); |
394 |
4 |
httpClient.getParams().setAuthenticationPreemptive(true); |
395 |
|
|
396 |
4 |
DeleteMethod deleteMethod = new DeleteMethod(uri); |
397 |
4 |
httpClient.executeMethod(deleteMethod); |
398 |
|
|
399 |
4 |
return deleteMethod; |
400 |
|
} |
401 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
402 |
221 |
protected String getWiki() throws Exception... |
403 |
|
{ |
404 |
221 |
GetMethod getMethod = executeGet(getFullUri(WikisResource.class)); |
405 |
221 |
Assert.assertEquals(getHttpMethodInfo(getMethod), HttpStatus.SC_OK, getMethod.getStatusCode()); |
406 |
|
|
407 |
221 |
Wikis wikis = (Wikis) unmarshaller.unmarshal(getMethod.getResponseBodyAsStream()); |
408 |
221 |
Assert.assertTrue(wikis.getWikis().size() > 0); |
409 |
|
|
410 |
221 |
return wikis.getWikis().get(0).getName(); |
411 |
|
} |
412 |
|
|
|
|
| 0% |
Uncovered Elements: 3 (3) |
Complexity: 1 |
Complexity Density: 0.33 |
|
413 |
0 |
protected String getContentFromURI(String uri) throws Exception... |
414 |
|
{ |
415 |
0 |
GetMethod getMethod = executeGet(uri); |
416 |
0 |
Assert.assertEquals(getHttpMethodInfo(getMethod), HttpStatus.SC_OK, getMethod.getStatusCode()); |
417 |
|
|
418 |
0 |
return getMethod.getResponseBodyAsString(); |
419 |
|
} |
420 |
|
|
|
|
| 77.8% |
Uncovered Elements: 2 (9) |
Complexity: 3 |
Complexity Density: 0.6 |
|
421 |
291 |
protected void checkLinks(LinkCollection linkCollection) throws Exception... |
422 |
|
{ |
423 |
291 |
if (linkCollection.getLinks() != null) { |
424 |
291 |
for (Link link : linkCollection.getLinks()) { |
425 |
394 |
GetMethod getMethod = executeGet(link.getHref()); |
426 |
394 |
if (getMethod.getStatusCode() != HttpStatus.SC_UNAUTHORIZED) { |
427 |
394 |
Assert.assertEquals(getHttpMethodInfo(getMethod), HttpStatus.SC_OK, getMethod.getStatusCode()); |
428 |
|
} |
429 |
|
} |
430 |
|
} |
431 |
|
} |
432 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
433 |
182 |
protected String buildURI(Class<?> resource, Object... pathParameters) throws Exception... |
434 |
|
{ |
435 |
182 |
return Utils.createURI(new URI(getBaseURL()), resource, pathParameters).toString(); |
436 |
|
} |
437 |
|
|
|
|
| 0% |
Uncovered Elements: 3 (3) |
Complexity: 1 |
Complexity Density: 0.33 |
|
438 |
0 |
private Page getPage(String wikiName, List<String> spaceName, String pageName) throws Exception... |
439 |
|
{ |
440 |
0 |
String uri = buildURI(PageResource.class, wikiName, spaceName, pageName).toString(); |
441 |
|
|
442 |
0 |
GetMethod getMethod = executeGet(uri); |
443 |
|
|
444 |
0 |
return (Page) unmarshaller.unmarshal(getMethod.getResponseBodyAsStream()); |
445 |
|
} |
446 |
|
|
|
|
| 0% |
Uncovered Elements: 2 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
447 |
0 |
protected String getPageContent(String wikiName, List<String> spaceName, String pageName) throws Exception... |
448 |
|
{ |
449 |
0 |
Page page = getPage(wikiName, spaceName, pageName); |
450 |
|
|
451 |
0 |
return page.getContent(); |
452 |
|
} |
453 |
|
|
|
|
| 0% |
Uncovered Elements: 5 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
454 |
0 |
protected int setPageContent(String wikiName, List<String> spaceName, String pageName, String content)... |
455 |
|
throws Exception |
456 |
|
{ |
457 |
0 |
String uri = buildURI(PageResource.class, wikiName, spaceName, pageName).toString(); |
458 |
|
|
459 |
0 |
PutMethod putMethod = executePut(uri, content, javax.ws.rs.core.MediaType.TEXT_PLAIN, |
460 |
|
TestUtils.SUPER_ADMIN_CREDENTIALS.getUserName(), TestUtils.SUPER_ADMIN_CREDENTIALS.getPassword()); |
461 |
|
|
462 |
0 |
int code = putMethod.getStatusCode(); |
463 |
0 |
Assert.assertTrue(String.format("Failed to set page content, %s", getHttpMethodInfo(putMethod)), |
464 |
|
code == HttpStatus.SC_ACCEPTED || code == HttpStatus.SC_CREATED); |
465 |
|
|
466 |
0 |
return code; |
467 |
|
} |
468 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
469 |
887 |
protected String getHttpMethodInfo(HttpMethod method) throws Exception... |
470 |
|
{ |
471 |
887 |
return String.format("\nName: %s\nURI: %s\nStatus code: %d\nStatus text: %s", method.getName(), method.getURI(), |
472 |
|
method.getStatusCode(), method.getStatusText()); |
473 |
|
} |
474 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
475 |
4 |
protected String getAttachmentsInfo(Attachments attachments)... |
476 |
|
{ |
477 |
4 |
StringBuffer sb = new StringBuffer(); |
478 |
4 |
sb.append(String.format("Attachments: %d\n", attachments.getAttachments().size())); |
479 |
4 |
for (Attachment attachment : attachments.getAttachments()) { |
480 |
4 |
sb.append(String.format("* %s\n", attachment.getName())); |
481 |
|
} |
482 |
|
|
483 |
4 |
return sb.toString(); |
484 |
|
} |
485 |
|
|
|
|
| 0% |
Uncovered Elements: 5 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
486 |
0 |
protected String getPagesInfo(Pages pages)... |
487 |
|
{ |
488 |
0 |
StringBuffer sb = new StringBuffer(); |
489 |
0 |
sb.append(String.format("Pages: %d\n", pages.getPageSummaries().size())); |
490 |
0 |
for (PageSummary pageSummary : pages.getPageSummaries()) { |
491 |
0 |
sb.append(String.format("* %s\n", pageSummary.getFullName())); |
492 |
|
} |
493 |
|
|
494 |
0 |
return sb.toString(); |
495 |
|
} |
496 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
497 |
5 |
protected void createPage(List<String> spaces, String pageName, String content) throws Exception... |
498 |
|
{ |
499 |
5 |
String uri = buildURI(PageResource.class, getWiki(), spaces, pageName); |
500 |
|
|
501 |
5 |
Page page = this.objectFactory.createPage(); |
502 |
5 |
page.setContent(content); |
503 |
|
|
504 |
5 |
PutMethod putMethod = executePutXml(uri, page, TestUtils.SUPER_ADMIN_CREDENTIALS.getUserName(), |
505 |
|
TestUtils.SUPER_ADMIN_CREDENTIALS.getPassword()); |
506 |
5 |
Assert.assertEquals(getHttpMethodInfo(putMethod), HttpStatus.SC_CREATED, putMethod.getStatusCode()); |
507 |
|
} |
508 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (10) |
Complexity: 2 |
Complexity Density: 0.25 |
|
509 |
17 |
protected boolean createPageIfDoesntExist(List<String> spaces, String pageName, String content) throws Exception... |
510 |
|
{ |
511 |
17 |
String uri = buildURI(PageResource.class, getWiki(), spaces, pageName); |
512 |
|
|
513 |
17 |
GetMethod getMethod = executeGet(uri); |
514 |
|
|
515 |
17 |
if (getMethod.getStatusCode() == HttpStatus.SC_NOT_FOUND) { |
516 |
5 |
createPage(spaces, pageName, content); |
517 |
|
|
518 |
5 |
getMethod = executeGet(uri); |
519 |
5 |
Assert.assertEquals(getHttpMethodInfo(getMethod), HttpStatus.SC_OK, getMethod.getStatusCode()); |
520 |
|
|
521 |
5 |
return true; |
522 |
|
} |
523 |
|
|
524 |
12 |
return false; |
525 |
|
} |
526 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
527 |
78 |
protected String getTestMethodName()... |
528 |
|
{ |
529 |
78 |
return this.testName.getMethodName(); |
530 |
|
} |
531 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
532 |
83 |
protected String getTestClassName()... |
533 |
|
{ |
534 |
83 |
return getClass().getSimpleName(); |
535 |
|
} |
536 |
|
} |