1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
20 |
|
|
21 |
|
|
22 |
|
|
23 |
|
|
24 |
|
|
25 |
|
|
26 |
|
|
27 |
|
|
28 |
|
|
29 |
|
|
30 |
|
|
31 |
|
|
32 |
|
|
33 |
|
|
34 |
|
package info.magnolia.rest.service.node.v1; |
35 |
|
|
36 |
|
import static org.hamcrest.CoreMatchers.nullValue; |
37 |
|
import static org.hamcrest.Matchers.is; |
38 |
|
import static org.hamcrest.collection.IsCollectionWithSize.hasSize; |
39 |
|
import static org.junit.Assert.*; |
40 |
|
|
41 |
|
import info.magnolia.jcr.util.NodeTypes; |
42 |
|
import info.magnolia.repository.RepositoryConstants; |
43 |
|
import info.magnolia.rest.service.node.definition.ConfiguredNodeEndpointDefinition; |
44 |
|
import info.magnolia.rest.service.node.definition.NodeEndpointDefinition; |
45 |
|
import info.magnolia.test.MgnlTestCase; |
46 |
|
import info.magnolia.test.mock.MockUtil; |
47 |
|
import info.magnolia.test.mock.jcr.MockSession; |
48 |
|
import info.magnolia.test.mock.jcr.MockValue; |
49 |
|
import info.magnolia.test.mock.jcr.SessionTestUtil; |
50 |
|
|
51 |
|
import java.util.ArrayList; |
52 |
|
import java.util.Arrays; |
53 |
|
import java.util.Collections; |
54 |
|
import java.util.List; |
55 |
|
import java.util.UUID; |
56 |
|
|
57 |
|
import javax.jcr.PropertyType; |
58 |
|
import javax.jcr.RepositoryException; |
59 |
|
import javax.jcr.Value; |
60 |
|
import javax.ws.rs.core.Response; |
61 |
|
|
62 |
|
import org.junit.Before; |
63 |
|
import org.junit.Test; |
64 |
|
|
65 |
|
|
66 |
|
@link |
67 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (184) |
Complexity: 32 |
Complexity Density: 0.21 |
|
68 |
|
public class NodeEndpointTest extends MgnlTestCase { |
69 |
|
|
70 |
|
private NodeEndpoint<NodeEndpointDefinition> endpoint = new NodeEndpoint<NodeEndpointDefinition>(new ConfiguredNodeEndpointDefinition()); |
71 |
|
|
72 |
|
private MockSession session; |
73 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
|
74 |
29 |
@Before... |
75 |
|
public void setUp() throws Exception { |
76 |
29 |
super.setUp(); |
77 |
|
|
78 |
29 |
session = SessionTestUtil.createSession(RepositoryConstants.WEBSITE, |
79 |
|
"/start", |
80 |
|
"/start.property=propertyValue"); |
81 |
|
|
82 |
29 |
session.getNode("/start").setProperty("multiValueProperty", new Value[]{new MockValue("value1"), new MockValue("value2")}); |
83 |
|
|
84 |
29 |
MockUtil.setSessionAndHierarchyManager(session); |
85 |
|
} |
86 |
|
|
87 |
|
|
88 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (8) |
Complexity: 1 |
Complexity Density: 0.12 |
1PASS
|
|
89 |
1 |
@Test... |
90 |
|
public void testGetNode() throws RepositoryException { |
91 |
|
|
92 |
|
|
93 |
1 |
Response response = endpoint.readNode(RepositoryConstants.WEBSITE, "/start", 0, "", false); |
94 |
|
|
95 |
|
|
96 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
97 |
1 |
RepositoryNode result = (RepositoryNode) response.getEntity(); |
98 |
1 |
assertEquals("start", result.getName()); |
99 |
1 |
assertEquals("/start", result.getPath()); |
100 |
1 |
assertEquals(session.getNode("/start").getPrimaryNodeType().getName(), result.getType()); |
101 |
1 |
assertEquals(session.getNode("/start").getIdentifier(), result.getIdentifier()); |
102 |
1 |
assertEquals(2, result.getProperties().size()); |
103 |
|
} |
104 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
1PASS
|
|
105 |
1 |
@Test... |
106 |
|
public void testGetNodeWithDepthZeroReturnsNoEmptyListOfSubNodes() throws RepositoryException { |
107 |
|
|
108 |
1 |
session.getNode("/start").addNode("subNode"); |
109 |
|
|
110 |
|
|
111 |
1 |
Response response = endpoint.readNode(RepositoryConstants.WEBSITE, "/start", 0, "", false); |
112 |
|
|
113 |
|
|
114 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
115 |
1 |
RepositoryNode result = (RepositoryNode) response.getEntity(); |
116 |
1 |
assertThat(result.getNodes(), nullValue()); |
117 |
|
} |
118 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
1PASS
|
|
119 |
1 |
@Test... |
120 |
|
public void testGetNodeWithDepthNonZeroReturnsListOfSubNodes() throws RepositoryException { |
121 |
|
|
122 |
1 |
session.getNode("/start").addNode("subNode"); |
123 |
|
|
124 |
|
|
125 |
1 |
Response response = endpoint.readNode(RepositoryConstants.WEBSITE, "/start", 1, "", false); |
126 |
|
|
127 |
|
|
128 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
129 |
1 |
RepositoryNode result = (RepositoryNode) response.getEntity(); |
130 |
1 |
assertThat(result.getNodes(), hasSize(1)); |
131 |
1 |
assertThat(result.getNodes().get(0).getName(), is("subNode")); |
132 |
|
} |
133 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
1PASS
|
|
134 |
1 |
@Test... |
135 |
|
public void testGetRootNode() throws RepositoryException { |
136 |
|
|
137 |
|
|
138 |
1 |
Response response = endpoint.readNode(RepositoryConstants.WEBSITE, "/", 0, "", false); |
139 |
|
|
140 |
|
|
141 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
142 |
1 |
RepositoryNode result = (RepositoryNode) response.getEntity(); |
143 |
1 |
assertEquals("/", result.getPath()); |
144 |
1 |
assertEquals(session.getNode("/").getPrimaryNodeType().getName(), result.getType()); |
145 |
1 |
assertEquals(session.getNode("/").getIdentifier(), result.getIdentifier()); |
146 |
|
} |
147 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
1PASS
|
|
148 |
1 |
@Test... |
149 |
|
public void testGetRootNodePassingEmptyStringAsPath() throws RepositoryException { |
150 |
|
|
151 |
|
|
152 |
1 |
Response response = endpoint.readNode(RepositoryConstants.WEBSITE, "", 0, "", false); |
153 |
|
|
154 |
|
|
155 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
156 |
1 |
RepositoryNode result = (RepositoryNode) response.getEntity(); |
157 |
1 |
assertEquals("/", result.getPath()); |
158 |
1 |
assertEquals(session.getNode("/").getPrimaryNodeType().getName(), result.getType()); |
159 |
1 |
assertEquals(session.getNode("/").getIdentifier(), result.getIdentifier()); |
160 |
|
} |
161 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
1PASS
|
|
162 |
1 |
@Test... |
163 |
|
public void testGetNodeReturnsNotFoundIfNodeDoesntExist() throws RepositoryException { |
164 |
|
|
165 |
|
|
166 |
1 |
Response response = endpoint.readNode(RepositoryConstants.WEBSITE, "/start/doesntExist", 0, "", false); |
167 |
|
|
168 |
|
|
169 |
1 |
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus()); |
170 |
|
} |
171 |
|
|
172 |
|
|
173 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
1PASS
|
|
174 |
1 |
@Test... |
175 |
|
public void testCreateNode() throws RepositoryException { |
176 |
|
|
177 |
|
|
178 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
179 |
|
|
180 |
|
|
181 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/start", node); |
182 |
|
|
183 |
|
|
184 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
185 |
1 |
assertTrue(session.nodeExists("/start/newNode")); |
186 |
1 |
assertEquals(NodeTypes.Area.NAME, session.getNode("/start/newNode").getPrimaryNodeType().getName()); |
187 |
1 |
assertTrue(session.propertyExists("/start/newNode/first")); |
188 |
|
} |
189 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0.14 |
1PASS
|
|
190 |
1 |
@Test... |
191 |
|
public void testCreateNodeBelowRootNode() throws RepositoryException { |
192 |
|
|
193 |
|
|
194 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
195 |
1 |
node.setPath("/newNode"); |
196 |
|
|
197 |
|
|
198 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/", node); |
199 |
|
|
200 |
|
|
201 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
202 |
1 |
assertTrue(session.nodeExists("/newNode")); |
203 |
1 |
assertEquals(NodeTypes.Area.NAME, session.getNode("/newNode").getPrimaryNodeType().getName()); |
204 |
1 |
assertTrue(session.propertyExists("/newNode/first")); |
205 |
|
} |
206 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
207 |
1 |
@Test... |
208 |
|
public void testCreateNodeReturnsBadRequestWhenNameMissing() throws RepositoryException { |
209 |
|
|
210 |
|
|
211 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
212 |
1 |
node.setName(null); |
213 |
|
|
214 |
|
|
215 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/start", node); |
216 |
|
|
217 |
|
|
218 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
219 |
|
} |
220 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
221 |
1 |
@Test... |
222 |
|
public void testCreateNodeReturnsBadRequestWhenTypeMissing() throws RepositoryException { |
223 |
|
|
224 |
|
|
225 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
226 |
1 |
node.setType(null); |
227 |
|
|
228 |
|
|
229 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/start", node); |
230 |
|
|
231 |
|
|
232 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
233 |
|
} |
234 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
235 |
1 |
@Test... |
236 |
|
public void testCreateNodeAllowsPassingPathInPostBodyIfCorrect() throws RepositoryException { |
237 |
|
|
238 |
|
|
239 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
240 |
1 |
node.setPath("/start/" + node.getName()); |
241 |
|
|
242 |
|
|
243 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/start", node); |
244 |
|
|
245 |
|
|
246 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
247 |
|
} |
248 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
249 |
1 |
@Test... |
250 |
|
public void testCreateNodeReturnsBadRequestWhenPathInPostBodyIsInconsistent() throws RepositoryException { |
251 |
|
|
252 |
|
|
253 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
254 |
1 |
node.setPath("/start/" + node.getName() + "0"); |
255 |
|
|
256 |
|
|
257 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/start", node); |
258 |
|
|
259 |
|
|
260 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
261 |
|
} |
262 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
263 |
1 |
@Test... |
264 |
|
public void testCreateNodeReturnsBadRequestWhenChildrenPresentInPostBody() throws RepositoryException { |
265 |
|
|
266 |
|
|
267 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
268 |
1 |
node.addNode(new RepositoryNode()); |
269 |
|
|
270 |
|
|
271 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/start", node); |
272 |
|
|
273 |
|
|
274 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
275 |
|
} |
276 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (3) |
Complexity: 1 |
Complexity Density: 0.33 |
1PASS
|
|
277 |
1 |
@Test... |
278 |
|
public void testCreateNodeReturnsNotFoundIfParentNodeDoesntExist() throws RepositoryException { |
279 |
|
|
280 |
|
|
281 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
282 |
|
|
283 |
|
|
284 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/start/doesntExist", node); |
285 |
|
|
286 |
|
|
287 |
1 |
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus()); |
288 |
|
} |
289 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
290 |
1 |
@Test... |
291 |
|
public void testCreateNodeReturnsBadRequestIfNodeWithSameNameAlreadyExists() throws RepositoryException { |
292 |
|
|
293 |
|
|
294 |
1 |
session.getNode("/start").addNode("newNode"); |
295 |
|
|
296 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
297 |
|
|
298 |
|
|
299 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/start", node); |
300 |
|
|
301 |
|
|
302 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
303 |
|
} |
304 |
|
|
305 |
|
|
306 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (12) |
Complexity: 1 |
Complexity Density: 0.08 |
1PASS
|
|
307 |
1 |
@Test... |
308 |
|
public void testUpdateAddsProperties() throws RepositoryException { |
309 |
|
|
310 |
|
|
311 |
1 |
RepositoryNode node = new RepositoryNode(); |
312 |
1 |
ArrayList<RepositoryProperty> properties = new ArrayList<RepositoryProperty>(); |
313 |
1 |
RepositoryProperty property = new RepositoryProperty(); |
314 |
1 |
property.setName("first"); |
315 |
1 |
property.setType(PropertyType.TYPENAME_STRING); |
316 |
1 |
property.setValues(Collections.singletonList("firstValue")); |
317 |
1 |
properties.add(property); |
318 |
1 |
node.setProperties(properties); |
319 |
|
|
320 |
|
|
321 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/start", node); |
322 |
|
|
323 |
|
|
324 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
325 |
1 |
assertTrue(session.propertyExists("/start/property")); |
326 |
1 |
assertTrue(session.propertyExists("/start/first")); |
327 |
|
} |
328 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
329 |
1 |
@Test... |
330 |
|
public void testUpdateAllowsPassingPathInRequestBodyIfCorrect() throws RepositoryException { |
331 |
|
|
332 |
|
|
333 |
1 |
RepositoryNode node = new RepositoryNode(); |
334 |
1 |
node.setPath(session.getNode("/start").getPath()); |
335 |
|
|
336 |
|
|
337 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/start", node); |
338 |
|
|
339 |
|
|
340 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
341 |
|
} |
342 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
343 |
1 |
@Test... |
344 |
|
public void testUpdateReturnsBadRequestIfPathDoesntMatch() throws RepositoryException { |
345 |
|
|
346 |
|
|
347 |
1 |
RepositoryNode node = new RepositoryNode(); |
348 |
1 |
node.setPath("/start/incorrect"); |
349 |
|
|
350 |
|
|
351 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/start", node); |
352 |
|
|
353 |
|
|
354 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
355 |
|
} |
356 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
357 |
1 |
@Test... |
358 |
|
public void testUpdateAllowsPassingNameInRequestBodyIfCorrect() throws RepositoryException { |
359 |
|
|
360 |
|
|
361 |
1 |
RepositoryNode node = new RepositoryNode(); |
362 |
1 |
node.setName(session.getNode("/start").getName()); |
363 |
|
|
364 |
|
|
365 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/start", node); |
366 |
|
|
367 |
|
|
368 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
369 |
|
} |
370 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
371 |
1 |
@Test... |
372 |
|
public void testUpdateReturnsBadRequestIfNameDoesntMatch() throws RepositoryException { |
373 |
|
|
374 |
|
|
375 |
1 |
RepositoryNode node = new RepositoryNode(); |
376 |
1 |
node.setName("incorrect"); |
377 |
|
|
378 |
|
|
379 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/start", node); |
380 |
|
|
381 |
|
|
382 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
383 |
|
} |
384 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0.14 |
1PASS
|
|
385 |
1 |
@Test... |
386 |
|
public void testUpdateReturnsBadRequestIfChildrenPresentInRequest() throws RepositoryException { |
387 |
|
|
388 |
|
|
389 |
1 |
RepositoryNode node = new RepositoryNode(); |
390 |
1 |
RepositoryNode child = new RepositoryNode(); |
391 |
1 |
child.setName("child"); |
392 |
1 |
child.setPath("/start/child"); |
393 |
1 |
node.addNode(child); |
394 |
|
|
395 |
|
|
396 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/start", node); |
397 |
|
|
398 |
|
|
399 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
400 |
|
} |
401 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (3) |
Complexity: 1 |
Complexity Density: 0.33 |
1PASS
|
|
402 |
1 |
@Test... |
403 |
|
public void testUpdateReturnsNotFoundIfNodeDoesntExist() throws RepositoryException { |
404 |
|
|
405 |
|
|
406 |
1 |
RepositoryNode node = new RepositoryNode(); |
407 |
|
|
408 |
|
|
409 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/doesntExist", node); |
410 |
|
|
411 |
|
|
412 |
1 |
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus()); |
413 |
|
} |
414 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
415 |
1 |
@Test... |
416 |
|
public void testUpdateAllowsPassingNodeTypeInPostBodyIfCorrect() throws RepositoryException { |
417 |
|
|
418 |
|
|
419 |
1 |
RepositoryNode node = createMinimalNodeForCreation(); |
420 |
1 |
node.setType(session.getNode("/start").getPrimaryNodeType().getName()); |
421 |
|
|
422 |
|
|
423 |
1 |
Response response = endpoint.createNode(RepositoryConstants.WEBSITE, "/start", node); |
424 |
|
|
425 |
|
|
426 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
427 |
|
} |
428 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
429 |
1 |
@Test... |
430 |
|
public void testUpdateReturnsBadRequestIfNodeTypeDoesntMatch() throws RepositoryException { |
431 |
|
|
432 |
|
|
433 |
1 |
RepositoryNode node = new RepositoryNode(); |
434 |
1 |
node.setType(NodeTypes.Area.NAME); |
435 |
|
|
436 |
|
|
437 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/start", node); |
438 |
|
|
439 |
|
|
440 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
441 |
|
} |
442 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
443 |
1 |
@Test... |
444 |
|
public void testUpdateAllowsPassingIdentifierInRequestBodyIfCorrect() throws RepositoryException { |
445 |
|
|
446 |
|
|
447 |
1 |
RepositoryNode node = new RepositoryNode(); |
448 |
1 |
node.setIdentifier(session.getNode("/start").getIdentifier()); |
449 |
|
|
450 |
|
|
451 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/start", node); |
452 |
|
|
453 |
|
|
454 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
455 |
|
} |
456 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0.25 |
1PASS
|
|
457 |
1 |
@Test... |
458 |
|
public void testUpdateReturnsBadRequestIfIdentifierDoesntMatch() throws RepositoryException { |
459 |
|
|
460 |
|
|
461 |
1 |
RepositoryNode node = new RepositoryNode(); |
462 |
1 |
node.setIdentifier(UUID.randomUUID().toString()); |
463 |
|
|
464 |
|
|
465 |
1 |
Response response = endpoint.updateNode(RepositoryConstants.WEBSITE, "/start", node); |
466 |
|
|
467 |
|
|
468 |
1 |
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); |
469 |
|
} |
470 |
|
|
471 |
|
|
472 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
1PASS
|
|
473 |
1 |
@Test... |
474 |
|
public void testDeleteNode() throws RepositoryException { |
475 |
|
|
476 |
|
|
477 |
1 |
Response response = endpoint.deleteNode(RepositoryConstants.WEBSITE, "/start"); |
478 |
|
|
479 |
|
|
480 |
1 |
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); |
481 |
|
} |
482 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
1PASS
|
|
483 |
1 |
@Test... |
484 |
|
public void testDeleteNodeReturnsNotFoundForNonExistingNode() throws RepositoryException { |
485 |
|
|
486 |
|
|
487 |
1 |
Response response = endpoint.deleteNode(RepositoryConstants.WEBSITE, "/start/nodeThatDoesntExist"); |
488 |
|
|
489 |
|
|
490 |
1 |
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus()); |
491 |
|
} |
492 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
1PASS
|
|
493 |
1 |
@Test... |
494 |
|
public void testSplitExcludeNodeTypesString() { |
495 |
1 |
assertSplitExcludeNodeTypesString(Arrays.<String>asList(), ""); |
496 |
1 |
assertSplitExcludeNodeTypesString(Arrays.asList(NodeTypes.Area.NAME), NodeTypes.Area.NAME); |
497 |
1 |
assertSplitExcludeNodeTypesString(Arrays.asList(NodeTypes.Area.NAME), NodeTypes.Area.NAME + ","); |
498 |
1 |
assertSplitExcludeNodeTypesString(Arrays.asList(NodeTypes.Area.NAME, NodeTypes.Page.NAME), NodeTypes.Area.NAME + "," + NodeTypes.Page.NAME); |
499 |
1 |
assertSplitExcludeNodeTypesString(Arrays.asList(NodeTypes.Area.NAME, NodeTypes.Page.NAME), NodeTypes.Area.NAME + " , " + NodeTypes.Page.NAME); |
500 |
1 |
assertSplitExcludeNodeTypesString(new ArrayList<String>(), null); |
501 |
|
} |
502 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
503 |
6 |
private void assertSplitExcludeNodeTypesString(List<String> expected, String excludesString) {... |
504 |
6 |
List<String> excludes = endpoint.splitExcludeNodeTypesString(excludesString); |
505 |
6 |
assertEquals(expected, excludes); |
506 |
|
} |
507 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (9) |
Complexity: 1 |
Complexity Density: 0.11 |
|
508 |
10 |
private RepositoryNode createMinimalNodeForCreation() {... |
509 |
10 |
RepositoryNode node = new RepositoryNode(); |
510 |
10 |
node.setName("newNode"); |
511 |
10 |
node.setType(NodeTypes.Area.NAME); |
512 |
10 |
RepositoryProperty property = new RepositoryProperty(); |
513 |
10 |
property.setName("first"); |
514 |
10 |
property.setType(PropertyType.TYPENAME_STRING); |
515 |
10 |
property.setValues(Collections.singletonList("firstValue")); |
516 |
10 |
node.getProperties().add(property); |
517 |
10 |
return node; |
518 |
|
} |
519 |
|
} |