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