Fix integration tests for iotdm project
[integration/test.git] / csit / suites / iotdm / basic / 091_ResourceHierarchyDelete.robot
1 *** Settings ***
2 Documentation     Tests deleting resources from multiple places in resource tree
3 Suite Teardown    Kill The Tree    ${ODL_SYSTEM_IP}    InCSE1    admin    admin
4 Library           ../../../libraries/criotdm.py
5 Library           Collections
6
7 *** Variables ***
8 ${httphost}       ${ODL_SYSTEM_IP}
9 ${httpuser}       admin
10 ${httppass}       admin
11 ${rt_ae}          2
12 ${rt_container}    3
13 ${rt_contentInstance}    4
14
15 *** Test Cases ***
16 Set Suite Variable
17     [Documentation]    set a suite variable ${iserver}
18     #==================================================
19     #    Delete Test
20     #==================================================
21     ${iserver} =    Connect To Iotdm    ${httphost}    ${httpuser}    ${httppass}    http
22     Set Suite Variable    ${iserver}
23
24 4.11 Delete AE without child resource
25     [Documentation]    Create AE then delete it
26     ${attr} =    Set Variable    "api":"jb","apn":"jb2","or":"http://hey/you","rr":true
27     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}
28     ${ae} =    Location    ${r}
29     Response Is Correct    ${r}
30     #------------- Delete -----------------------------
31     ${deleteRes} =    Delete Resource    ${iserver}    ${ae}
32     ${status_code} =    Status Code    ${deleteRes}
33     Should Be Equal As Integers    ${status_code}    200
34     # Delete AE that does not exist/has been deleted should return error
35     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${ae}
36     Should Start with    ${error}    Cannot delete this resource [404]
37
38 4.12 Delete Container without child resource
39     [Documentation]    create container then delete it
40     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
41     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}
42     ${container} =    Location    ${r}
43     Response Is Correct    ${r}
44     #------------- Delete -----------------------------
45     ${deleteRes} =    Delete Resource    ${iserver}    ${container}
46     ${status_code} =    Status Code    ${deleteRes}
47     Should Be Equal As Integers    ${status_code}    200
48     # Delete container that does not exist/has been deleted should return error
49     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${container}
50     Should Start with    ${error}    Cannot delete this resource [404]
51
52 4.13 Delete contentInstance under InCSE1/AE/container/
53     [Documentation]    Delete contentInstance under InCSE1/AE/container/
54     ${attr} =    Set Variable    "api":"jb","apn":"jb2","or":"http://hey/you","rr":true,"rn":"AE1"
55     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}
56     ${ae} =    Location    ${r}
57     Response Is Correct    ${r}
58     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con1"
59     ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}
60     ${container} =    Location    ${r}
61     Response Is Correct    ${r}
62     ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
63     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}
64     ${conIn} =    Location    ${r}
65     Response Is Correct    ${r}
66     #------------- Delete -----------------------------
67     ${deleteRes} =    Delete Resource    ${iserver}    ${conIn}
68     ${status_code} =    Status Code    ${deleteRes}
69     Should Be Equal As Integers    ${status_code}    200
70     # Delete container that does not exist/has been deleted should return error
71     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${conIn}
72     Should Start with    ${error}    Cannot delete this resource [404]
73
74 4.14 Delete contentInstance under InCSE1/Container/
75     [Documentation]    Delete contentInstance under InCSE1/Container/
76     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con2"
77     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}
78     ${container} =    Location    ${r}
79     Response Is Correct    ${r}
80     ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
81     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}
82     ${conIn} =    Location    ${r}
83     Response Is Correct    ${r}
84     #------------- Delete -----------------------------
85     ${deleteRes} =    Delete Resource    ${iserver}    ${conIn}
86     ${status_code} =    Status Code    ${deleteRes}
87     Should Be Equal As Integers    ${status_code}    200
88     # Delete container that does not exist/has been deleted should return error
89     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${conIn}
90     Should Start with    ${error}    Cannot delete this resource [404]
91
92 4.15 Delete contentIsntance under InCSE1/Container/container/
93     [Documentation]    Delete contentIsntance under InCSE1/Container/container/
94     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con3"
95     ${r} =    Create Resource    ${iserver}    InCSE1/Con2    ${rt_container}    ${attr}
96     ${container} =    Location    ${r}
97     Response Is Correct    ${r}
98     ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
99     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}
100     ${conIn} =    Location    ${r}
101     Response Is Correct    ${r}
102     #------------- Delete -----------------------------
103     ${deleteRes} =    Delete Resource    ${iserver}    ${conIn}
104     ${status_code} =    Status Code    ${deleteRes}
105     Should Be Equal As Integers    ${status_code}    200
106     # Delete container that does not exist/has been deleted should return error
107     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${conIn}
108     Should Start with    ${error}    Cannot delete this resource [404]
109     # ============== AE with child container ==================
110
111 4.21 Delete AE with 1 child Container
112     [Documentation]    Delete the AE nmaed AE1 which contains Con1 in the above test
113     ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
114     Response Is Correct    ${r}
115     # Delete container that does not exist/has been deleted should return error
116     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
117     Should Start with    ${error}    Cannot delete this resource [404]
118     #----------- Make sure cannot retrieve them -----------
119     Cannot Retrieve Error    InCSE1/AE1
120     Cannot Retrieve Error    InCSE1/AE1/Con1
121
122 4.22 Delete AE with 3 child Container
123     [Documentation]    Delete AE with 3 child Container
124     ${attr} =    Set Variable    "api":"jb","apn":"jb2","or":"http://hey/you","rr":true,"rn":"AE1"
125     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}
126     ${ae} =    Location    ${r}
127     Response Is Correct    ${r}
128     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con2"
129     ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}
130     ${container} =    Location    ${r}
131     Response Is Correct    ${r}
132     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con3"
133     ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}
134     ${container} =    Location    ${r}
135     Response Is Correct    ${r}
136     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con4"
137     ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}
138     ${container} =    Location    ${r}
139     Response Is Correct    ${r}
140     # ----------- Delete the parent AE --------------
141     ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
142     ${status_code} =    Status Code    ${r}
143     Should Be Equal As Integers    ${status_code}    200
144     ${text} =    Text    ${r}
145     LOG    ${text}
146     ${json} =    Json    ${r}
147     LOG    ${json}
148     # Delete the resource that does not exist/has been deleted should return error
149     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
150     Should Start with    ${error}    Cannot delete this resource [404]
151     #----------- Make sure cannot retrieve them -----------
152     Cannot Retrieve Error    InCSE1/AE1
153     Cannot Retrieve Error    InCSE1/AE1/Con2
154     Cannot Retrieve Error    InCSE1/AE1/Con3
155     Cannot Retrieve Error    InCSE1/AE1/Con4
156
157 4.23 Delete AE with 1 child Container/1 contentInstance
158     [Documentation]    Delete AE with 1 child Container/1 contentInstance
159     ${attr} =    Set Variable    "api":"jb","apn":"jb2","or":"http://hey/you","rr":true,"rn":"AE1"
160     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}
161     ${ae} =    Location    ${r}
162     Response Is Correct    ${r}
163     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con2"
164     ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}
165     ${container} =    Location    ${r}
166     Response Is Correct    ${r}
167     ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101","rn":"conIn1"
168     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}
169     ${name} =    Location    ${r}
170     Response Is Correct    ${r}
171     # ----------- Delete the parent AE --------------
172     ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
173     Response Is Correct    ${r}
174     # Delete the resource that does not exist/has been deleted should return error
175     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
176     Should Start with    ${error}    Cannot delete this resource [404]
177     #----------- Make sure cannot retrieve all of them -----------
178     Cannot Retrieve Error    InCSE1/AE1
179     Cannot Retrieve Error    InCSE1/AE1/Con2
180     Cannot Retrieve Error    InCSE1/AE1/Con2/conIn1
181
182 4.24 Delete AE with 1 child Container/3 contentInsntace
183     [Documentation]    Delete AE with 1 child Container/3 contentInsntace
184     ${attr} =    Set Variable    "api":"jb","apn":"jb2","or":"http://hey/you","rr":true,"rn":"AE1"
185     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}
186     ${ae} =    Location    ${r}
187     Response Is Correct    ${r}
188     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con2"
189     ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}
190     ${container} =    Location    ${r}
191     Response Is Correct    ${r}
192     ${attr1} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101","rn":"conIn1"
193     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr1}
194     Response Is Correct    ${r}
195     ${attr2} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101","rn":"conIn2"
196     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr2}
197     Response Is Correct    ${r}
198     ${attr3} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101","rn":"conIn3"
199     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr3}
200     Response Is Correct    ${r}
201     # ----------- Delete the parent AE --------------
202     ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
203     Response Is Correct    ${r}
204     # Delete the resource that does not exist/has been deleted should return error
205     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
206     Should Start with    ${error}    Cannot delete this resource [404]
207     #----------- Make sure cannot retrieve all of them -----------
208     Cannot Retrieve Error    InCSE1/AE1
209     Cannot Retrieve Error    InCSE1/AE1/Con2
210     Cannot Retrieve Error    InCSE1/AE1/Con2/conIn1
211     Cannot Retrieve Error    InCSE1/AE1/Con2/conIn2
212     Cannot Retrieve Error    InCSE1/AE1/Con2/conIn3
213
214 4.25 Delete AE with 3 child Container/9 contentInstance
215     [Documentation]    Delete AE with 3 child Container/9 contentInstance
216     ${attr} =    Set Variable    "api":"jb","apn":"jb2","or":"http://hey/you","rr":true,"rn":"AE1"
217     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}
218     ${ae} =    Location    ${r}
219     Response Is Correct    ${r}
220     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con1"
221     ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}
222     ${container1} =    Location    ${r}
223     Response Is Correct    ${r}
224     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con2"
225     ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}
226     ${container2} =    Location    ${r}
227     Response Is Correct    ${r}
228     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con3"
229     ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}
230     ${container3} =    Location    ${r}
231     Response Is Correct    ${r}
232     ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
233     : FOR    ${conName}    IN    conIn1    conIn2    conIn3
234     \    ${r} =    Create Resource    ${iserver}    ${container1}    ${rt_contentInstance}    ${attr},"rn":${conName}
235     \    Response Is Correct    ${r}
236     : FOR    ${conName}    IN    conIn1    conIn2    conIn3
237     \    ${r} =    Create Resource    ${iserver}    ${container2}    ${rt_contentInstance}    ${attr},"rn":${conName}
238     \    Response Is Correct    ${r}
239     : FOR    ${conName}    IN    conIn1    conIn2    conIn3
240     \    ${r} =    Create Resource    ${iserver}    ${container3}    ${rt_contentInstance}    ${attr},"rn":${conName}
241     \    Response Is Correct    ${r}
242     # ----------- Delete the parent AE --------------
243     ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
244     Response Is Correct    ${r}
245     # Delete the resource that does not exist/has been deleted should return error
246     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
247     Should Start with    ${error}    Cannot delete this resource [404]
248     #----------- Make sure cannot retrieve them -----------
249     Cannot Retrieve Error    InCSE1/AE1
250     Cannot Retrieve Error    InCSE1/AE1/Con1
251     Cannot Retrieve Error    InCSE1/AE1/Con2
252     Cannot Retrieve Error    InCSE1/AE1/Con3
253     Cannot Retrieve Error    InCSE1/AE1/Con1/conIn1
254     Cannot Retrieve Error    InCSE1/AE1/Con1/conIn2
255     Cannot Retrieve Error    InCSE1/AE1/Con1/conIn3
256     Cannot Retrieve Error    InCSE1/AE1/Con2/conIn1
257     Cannot Retrieve Error    InCSE1/AE1/Con2/conIn2
258     Cannot Retrieve Error    InCSE1/AE1/Con2/conIn3
259     Cannot Retrieve Error    InCSE1/AE1/Con3/conIn1
260     Cannot Retrieve Error    InCSE1/AE1/Con3/conIn2
261     Cannot Retrieve Error    InCSE1/AE1/Con3/conIn3
262     # ================ Container with child container ==================
263
264 4.31 Delete Container with 1 child Container
265     [Documentation]    Delete the Container nmaed Con2 which contains Con3 in the above test
266     ${r} =    Delete Resource    ${iserver}    InCSE1/Con2
267     Response Is Correct    ${r}
268     # Delete container that does not exist/has been deleted should return error
269     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Con2
270     Should Start with    ${error}    Cannot delete this resource [404]
271     #----------- Make sure cannot retrieve them -----------
272     Cannot Retrieve Error    InCSE1/Con2
273     Cannot Retrieve Error    InCSE1/Con2/Con3
274
275 4.32 Delete Container with 3 child Container
276     [Documentation]    Delete Container with 3 child Container
277     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
278     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr},"rn":"ConTop1"
279     ${container} =    Location    ${r}
280     Response Is Correct    ${r}
281     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_container}    ${attr},"rn":"Con1"
282     ${container1} =    Location    ${r}
283     Response Is Correct    ${r}
284     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_container}    ${attr},"rn":"Con2"
285     ${container2} =    Location    ${r}
286     Response Is Correct    ${r}
287     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_container}    ${attr},"rn":"Con3"
288     ${container3} =    Location    ${r}
289     Response Is Correct    ${r}
290     # ----------- Delete the parent Container --------------
291     ${r} =    Delete Resource    ${iserver}    InCSE1/ConTop1
292     Response Is Correct    ${r}
293     # Delete the resource that does not exist/has been deleted should return error
294     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Contop1
295     Should Start with    ${error}    Cannot delete this resource [404]
296     #----------- Make sure cannot retrieve them -----------
297     Cannot Retrieve Error    InCSE1/Contop1
298     Cannot Retrieve Error    InCSE1/Contop1/Con1
299     Cannot Retrieve Error    InCSE1/Contop1/Con2
300     Cannot Retrieve Error    InCSE1/Contop1/Con3
301
302 4.33 Delete Container with 1 child Container/1 contentInstance
303     [Documentation]    Delete Container with 1 child Container/1 contentInstance
304     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con1"
305     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}
306     ${con} =    Location    ${r}
307     Response Is Correct    ${r}
308     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con2"
309     ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr}
310     ${container} =    Location    ${r}
311     Response Is Correct    ${r}
312     ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101","rn":"conIn1"
313     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}
314     ${name} =    Location    ${r}
315     Response Is Correct    ${r}
316     # ----------- Delete the parent Container --------------
317     ${r} =    Delete Resource    ${iserver}    InCSE1/Con1
318     Response Is Correct    ${r}
319     # Delete the resource that does not exist/has been deleted should return error
320     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Con1
321     Should Start with    ${error}    Cannot delete this resource [404]
322     #----------- Make sure cannot retrieve all of them -----------
323     Cannot Retrieve Error    InCSE1/Con1
324     Cannot Retrieve Error    InCSE1/Con1/Con2
325     Cannot Retrieve Error    InCSE1/Con1/Con2/conIn1
326
327 4.34 Delete Container with 1 child Container/3 contentInsntace
328     [Documentation]    Delete Container with 1 child Container/3 contentInsntace
329     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con1"
330     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}
331     ${con} =    Location    ${r}
332     Response Is Correct    ${r}
333     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you","rn":"Con2"
334     ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr}
335     ${container} =    Location    ${r}
336     Response Is Correct    ${r}
337     ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
338     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr},"rn":"conIn1"
339     Response Is Correct    ${r}
340     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr},"rn":"conIn2"
341     Response Is Correct    ${r}
342     ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr},"rn":"conIn3"
343     Response Is Correct    ${r}
344     # ----------- Delete the parent Container --------------
345     ${r} =    Delete Resource    ${iserver}    InCSE1/Con1
346     Response Is Correct    ${r}
347     # Delete the resource that does not exist/has been deleted should return error
348     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Con1
349     Should Start with    ${error}    Cannot delete this resource [404]
350     #----------- Make sure cannot retrieve all of them -----------
351     Cannot Retrieve Error    InCSE1/Con1
352     Cannot Retrieve Error    InCSE1/Con1/Con1/conIn2
353     Cannot Retrieve Error    InCSE1/Con1/Con2/conIn1
354     Cannot Retrieve Error    InCSE1/Con1/Con2/conIn2
355     Cannot Retrieve Error    InCSE1/Con1/Con2/conIn3
356
357 4.35 Delete Container with 3 child Container/9 contentInstance
358     [Documentation]    Delete Container with 3 child Container/9 contentInstance
359     ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
360     ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr},"rn":"Con1"
361     ${con} =    Location    ${r}
362     Response Is Correct    ${r}
363     ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr},"rn":"Con2"
364     ${container1} =    Location    ${r}
365     Response Is Correct    ${r}
366     ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr},"rn":"Con3"
367     ${container2} =    Location    ${r}
368     Response Is Correct    ${r}
369     ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr},"rn":"Con4"
370     ${container3} =    Location    ${r}
371     Response Is Correct    ${r}
372     ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
373     : FOR    ${conName}    IN    conIn1    conIn2    conIn3
374     \    ${r} =    Create Resource    ${iserver}    ${container1}    ${rt_contentInstance}    ${attr},"rn":${conName}
375     \    Response Is Correct    ${r}
376     : FOR    ${conName}    IN    conIn1    conIn2    conIn3
377     \    ${r} =    Create Resource    ${iserver}    ${container2}    ${rt_contentInstance}    ${attr},"rn":${conName}
378     \    Response Is Correct    ${r}
379     : FOR    ${conName}    IN    conIn1    conIn2    conIn3
380     \    ${r} =    Create Resource    ${iserver}    ${container3}    ${rt_contentInstance}    ${attr},"rn":${conName}
381     \    Response Is Correct    ${r}
382     # ----------- Delete the parent Container --------------
383     ${r} =    Delete Resource    ${iserver}    InCSE1/Con1
384     Response Is Correct    ${r}
385     # Delete the resource that does not exist/has been deleted should return error
386     ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Con1
387     Should Start with    ${error}    Cannot delete this resource [404]
388     #----------- Make sure cannot retrieve them -----------
389     Cannot Retrieve Error    InCSE1/Con1
390     Cannot Retrieve Error    InCSE1/Con1/Con2
391     Cannot Retrieve Error    InCSE1/Con1/Con3
392     Cannot Retrieve Error    InCSE1/Con1/Con4
393     Cannot Retrieve Error    InCSE1/Con1/Con2/conIn1
394     Cannot Retrieve Error    InCSE1/Con1/Con2/conIn2
395     Cannot Retrieve Error    InCSE1/Con1/Con2/conIn3
396     Cannot Retrieve Error    InCSE1/Con1/Con3/conIn1
397     Cannot Retrieve Error    InCSE1/Con1/Con3/conIn2
398     Cannot Retrieve Error    InCSE1/Con1/Con3/conIn3
399     Cannot Retrieve Error    InCSE1/Con1/Con4/conIn1
400     Cannot Retrieve Error    InCSE1/Con1/Con4/conIn2
401     Cannot Retrieve Error    InCSE1/Con1/Con4/conIn3
402
403 *** Keywords ***
404 Response Is Correct
405     [Arguments]    ${r}
406     ${text} =    Text    ${r}
407     LOG    ${text}
408     ${json} =    Json    ${r}
409     LOG    ${json}
410     ${status_code} =    Status Code    ${r}
411     Should Be True    199 < ${status_code} < 299
412
413 Cannot Retrieve Error
414     [Arguments]    ${uri}
415     ${error} =    Run Keyword And Expect Error    *    Retrieve Resource    ${iserver}    ${uri}
416     Should Start with    ${error}    Cannot retrieve this resource [404]