Step 2: Move test folder to root
[integration/test.git] / csit / suites / iotdm / basic / 070_DeleteTest.robot
diff --git a/csit/suites/iotdm/basic/070_DeleteTest.robot b/csit/suites/iotdm/basic/070_DeleteTest.robot
new file mode 100644 (file)
index 0000000..5b14d06
--- /dev/null
@@ -0,0 +1,419 @@
+*** Settings ***
+Suite Teardown    Kill The Tree    ${CONTROLLER}    InCSE1    admin    admin
+Library           ../../../libraries/criotdm.py
+Library           Collections
+
+*** Variables ***
+${httphost}       ${CONTROLLER}
+${httpuser}       admin
+${httppass}       admin
+${rt_ae}          2
+${rt_container}    3
+${rt_contentInstance}    4
+
+*** Test Cases ***
+Set Suite Variable
+    [Documentation]    set a suite variable ${iserver}
+    #==================================================
+    #    Delete Test
+    #==================================================
+    ${iserver} =    Connect To Iotdm    ${httphost}    ${httpuser}    ${httppass}    http
+    Set Suite Variable    ${iserver}
+
+4.11 Delete AE without child resource
+    [Documentation]    Create AE then delete it
+    ${attr} =    Set Variable    "aei":"ODL","api":"jb","apn":"jb2","or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}
+    ${ae} =    Name    ${r}
+    Response Is Correct    ${r}
+    #------------- Delete -----------------------------
+    ${deleteRes} =    Delete Resource    ${iserver}    ${ae}
+    ${status_code} =    Status Code    ${deleteRes}
+    Should Be Equal As Integers    ${status_code}    200
+    # Delete AE that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${ae}
+    Should Start with    ${error}    Cannot delete this resource [404]
+
+4.12 Delete Container without child resource
+    [Documentation]    create container then delete it
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    #------------- Delete -----------------------------
+    ${deleteRes} =    Delete Resource    ${iserver}    ${container}
+    ${status_code} =    Status Code    ${deleteRes}
+    Should Be Equal As Integers    ${status_code}    200
+    # Delete container that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${container}
+    Should Start with    ${error}    Cannot delete this resource [404]
+
+4.13 Delete contentInstance under InCSE1/AE/container/
+    [Documentation]    Delete contentInstance under InCSE1/AE/container/
+    ${attr} =    Set Variable    "aei":"ODL","api":"jb","apn":"jb2","or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}    AE1
+    ${ae} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}    Con1
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}
+    ${conIn} =    Name    ${r}
+    Response Is Correct    ${r}
+    #------------- Delete -----------------------------
+    ${deleteRes} =    Delete Resource    ${iserver}    ${conIn}
+    ${status_code} =    Status Code    ${deleteRes}
+    Should Be Equal As Integers    ${status_code}    200
+    # Delete container that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${conIn}
+    Should Start with    ${error}    Cannot delete this resource [404]
+
+4.14 Delete contentInstance under InCSE1/Container/
+    [Documentation]    Delete contentInstance under InCSE1/Container/
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}    Con2
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}
+    ${conIn} =    Name    ${r}
+    Response Is Correct    ${r}
+    #------------- Delete -----------------------------
+    ${deleteRes} =    Delete Resource    ${iserver}    ${conIn}
+    ${status_code} =    Status Code    ${deleteRes}
+    Should Be Equal As Integers    ${status_code}    200
+    # Delete container that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${conIn}
+    Should Start with    ${error}    Cannot delete this resource [404]
+
+4.15 Delete contentIsntance under InCSE1/Container/container/
+    [Documentation]    Delete contentIsntance under InCSE1/Container/container/
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1/Con2    ${rt_container}    ${attr}    Con3
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}
+    ${conIn} =    Name    ${r}
+    Response Is Correct    ${r}
+    #------------- Delete -----------------------------
+    ${deleteRes} =    Delete Resource    ${iserver}    ${conIn}
+    ${status_code} =    Status Code    ${deleteRes}
+    Should Be Equal As Integers    ${status_code}    200
+    # Delete container that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    ${conIn}
+    Should Start with    ${error}    Cannot delete this resource [404]
+    # ============== AE with child container ==================
+
+4.21 Delete AE with 1 child Container
+    [Documentation]    Delete the AE nmaed AE1 which contains Con1 in the above test
+    ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
+    Response Is Correct    ${r}
+    # Delete container that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve them -----------
+    Cannot Retrieve Error    InCSE1/AE1
+    Cannot Retrieve Error    InCSE1/AE1/Con1
+
+4.22 Delete AE with 3 child Container
+    [Documentation]    Delete AE with 3 child Container
+    ${attr} =    Set Variable    "aei":"ODL","api":"jb","apn":"jb2","or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}    AE1
+    ${ae} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}    Con2
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}    Con3
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}    Con4
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    # ----------- Delete the parent AE --------------
+    ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
+    ${status_code} =    Status Code    ${r}
+    Should Be Equal As Integers    ${status_code}    200
+    ${text} =    Text    ${r}
+    LOG    ${text}
+    ${json} =    Json    ${r}
+    LOG    ${json}
+    # Delete the resource that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve them -----------
+    Cannot Retrieve Error    InCSE1/AE1
+    Cannot Retrieve Error    InCSE1/AE1/Con2
+    Cannot Retrieve Error    InCSE1/AE1/Con3
+    Cannot Retrieve Error    InCSE1/AE1/Con4
+
+4.23 Delete AE with 1 child Container/1 contentInstance
+    [Documentation]    Delete AE with 1 child Container/1 contentInstance
+    ${attr} =    Set Variable    "aei":"ODL","api":"jb","apn":"jb2","or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}    AE1
+    ${ae} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}    Con2
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}    conIn1
+    ${name} =    Name    ${r}
+    Response Is Correct    ${r}
+    # ----------- Delete the parent AE --------------
+    ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
+    Response Is Correct    ${r}
+    # Delete the resource that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve all of them -----------
+    Cannot Retrieve Error    InCSE1/AE1
+    Cannot Retrieve Error    InCSE1/AE1/Con2
+    Cannot Retrieve Error    InCSE1/AE1/Con2/conIn1
+
+4.24 Delete AE with 1 child Container/3 contentInsntace
+    [Documentation]    Delete AE with 1 child Container/3 contentInsntace
+    ${attr} =    Set Variable    "aei":"ODL","api":"jb","apn":"jb2","or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}    AE1
+    ${ae} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}    Con2
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}    conIn1
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}    conIn2
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}    conIn3
+    Response Is Correct    ${r}
+    # ----------- Delete the parent AE --------------
+    ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
+    Response Is Correct    ${r}
+    # Delete the resource that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve all of them -----------
+    Cannot Retrieve Error    InCSE1/AE1
+    Cannot Retrieve Error    InCSE1/AE1/Con2
+    Cannot Retrieve Error    InCSE1/AE1/Con2/conIn1
+    Cannot Retrieve Error    InCSE1/AE1/Con2/conIn2
+    Cannot Retrieve Error    InCSE1/AE1/Con2/conIn3
+
+4.25 Delete AE with 3 child Container/9 contentInstance
+    [Documentation]    Delete AE with 3 child Container/9 contentInstance
+    ${attr} =    Set Variable    "aei":"ODL","api":"jb","apn":"jb2","or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_ae}    ${attr}    AE1
+    ${ae} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}    Con1
+    ${container1} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}    Con2
+    ${container2} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${ae}    ${rt_container}    ${attr}    Con3
+    ${container3} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
+    : FOR    ${conName}    IN    conIn1    conIn2    conIn3
+    \    ${r} =    Create Resource    ${iserver}    ${container1}    ${rt_contentInstance}    ${attr}
+    \    ...    ${conName}
+    \    Response Is Correct    ${r}
+    : FOR    ${conName}    IN    conIn1    conIn2    conIn3
+    \    ${r} =    Create Resource    ${iserver}    ${container2}    ${rt_contentInstance}    ${attr}
+    \    ...    ${conName}
+    \    Response Is Correct    ${r}
+    : FOR    ${conName}    IN    conIn1    conIn2    conIn3
+    \    ${r} =    Create Resource    ${iserver}    ${container3}    ${rt_contentInstance}    ${attr}
+    \    ...    ${conName}
+    \    Response Is Correct    ${r}
+    # ----------- Delete the parent AE --------------
+    ${r} =    Delete Resource    ${iserver}    InCSE1/AE1
+    Response Is Correct    ${r}
+    # Delete the resource that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/AE1
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve them -----------
+    Cannot Retrieve Error    InCSE1/AE1
+    Cannot Retrieve Error    InCSE1/AE1/Con1
+    Cannot Retrieve Error    InCSE1/AE1/Con2
+    Cannot Retrieve Error    InCSE1/AE1/Con3
+    Cannot Retrieve Error    InCSE1/AE1/Con1/conIn1
+    Cannot Retrieve Error    InCSE1/AE1/Con1/conIn2
+    Cannot Retrieve Error    InCSE1/AE1/Con1/conIn3
+    Cannot Retrieve Error    InCSE1/AE1/Con2/conIn1
+    Cannot Retrieve Error    InCSE1/AE1/Con2/conIn2
+    Cannot Retrieve Error    InCSE1/AE1/Con2/conIn3
+    Cannot Retrieve Error    InCSE1/AE1/Con3/conIn1
+    Cannot Retrieve Error    InCSE1/AE1/Con3/conIn2
+    Cannot Retrieve Error    InCSE1/AE1/Con3/conIn3
+    # ================ Container with child container ==================
+
+4.31 Delete Container with 1 child Container
+    [Documentation]    Delete the Container nmaed Con2 which contains Con3 in the above test
+    ${r} =    Delete Resource    ${iserver}    InCSE1/Con2
+    Response Is Correct    ${r}
+    # Delete container that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Con2
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve them -----------
+    Cannot Retrieve Error    InCSE1/Con2
+    Cannot Retrieve Error    InCSE1/Con2/Con3
+
+4.32 Delete Container with 3 child Container
+    [Documentation]    Delete Container with 3 child Container
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}    ConTop1
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_container}    ${attr}    Con1
+    ${container1} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_container}    ${attr}    Con2
+    ${container2} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_container}    ${attr}    Con3
+    ${container3} =    Name    ${r}
+    Response Is Correct    ${r}
+    # ----------- Delete the parent Container --------------
+    ${r} =    Delete Resource    ${iserver}    InCSE1/ConTop1
+    Response Is Correct    ${r}
+    # Delete the resource that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Contop1
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve them -----------
+    Cannot Retrieve Error    InCSE1/Contop1
+    Cannot Retrieve Error    InCSE1/Contop1/Con1
+    Cannot Retrieve Error    InCSE1/Contop1/Con2
+    Cannot Retrieve Error    InCSE1/Contop1/Con3
+
+4.33 Delete Container with 1 child Container/1 contentInstance
+    [Documentation]    Delete Container with 1 child Container/1 contentInstance
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}    Con1
+    ${con} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr}    Con2
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}    conIn1
+    ${name} =    Name    ${r}
+    Response Is Correct    ${r}
+    # ----------- Delete the parent Container --------------
+    ${r} =    Delete Resource    ${iserver}    InCSE1/Con1
+    Response Is Correct    ${r}
+    # Delete the resource that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Con1
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve all of them -----------
+    Cannot Retrieve Error    InCSE1/Con1
+    Cannot Retrieve Error    InCSE1/Con1/Con2
+    Cannot Retrieve Error    InCSE1/Con1/Con2/conIn1
+
+4.34 Delete Container with 1 child Container/3 contentInsntace
+    [Documentation]    Delete Container with 1 child Container/3 contentInsntace
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}    Con1
+    ${con} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr}    Con2
+    ${container} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}    conIn1
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}    conIn2
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${container}    ${rt_contentInstance}    ${attr}    conIn3
+    Response Is Correct    ${r}
+    # ----------- Delete the parent Container --------------
+    ${r} =    Delete Resource    ${iserver}    InCSE1/Con1
+    Response Is Correct    ${r}
+    # Delete the resource that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Con1
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve all of them -----------
+    Cannot Retrieve Error    InCSE1/Con1
+    Cannot Retrieve Error    InCSE1/Con1/Con1/conIn2
+    Cannot Retrieve Error    InCSE1/Con1/Con2/conIn1
+    Cannot Retrieve Error    InCSE1/Con1/Con2/conIn2
+    Cannot Retrieve Error    InCSE1/Con1/Con2/conIn3
+
+4.35 Delete Container with 3 child Container/9 contentInstance
+    [Documentation]    Delete Container with 3 child Container/9 contentInstance
+    ${attr} =    Set Variable    "cr":null,"mni":5,"mbs":15,"or":"http://hey/you"
+    ${r} =    Create Resource    ${iserver}    InCSE1    ${rt_container}    ${attr}    Con1
+    ${con} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr}    Con2
+    ${container1} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr}    Con3
+    ${container2} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${r} =    Create Resource    ${iserver}    ${con}    ${rt_container}    ${attr}    Con4
+    ${container3} =    Name    ${r}
+    Response Is Correct    ${r}
+    ${attr} =    Set Variable    "cnf": "1","or": "http://hey/you","con":"101"
+    : FOR    ${conName}    IN    conIn1    conIn2    conIn3
+    \    ${r} =    Create Resource    ${iserver}    ${container1}    ${rt_contentInstance}    ${attr}
+    \    ...    ${conName}
+    \    Response Is Correct    ${r}
+    : FOR    ${conName}    IN    conIn1    conIn2    conIn3
+    \    ${r} =    Create Resource    ${iserver}    ${container2}    ${rt_contentInstance}    ${attr}
+    \    ...    ${conName}
+    \    Response Is Correct    ${r}
+    : FOR    ${conName}    IN    conIn1    conIn2    conIn3
+    \    ${r} =    Create Resource    ${iserver}    ${container3}    ${rt_contentInstance}    ${attr}
+    \    ...    ${conName}
+    \    Response Is Correct    ${r}
+    # ----------- Delete the parent Container --------------
+    ${r} =    Delete Resource    ${iserver}    InCSE1/Con1
+    Response Is Correct    ${r}
+    # Delete the resource that does not exist/has been deleted should return error
+    ${error} =    Run Keyword And Expect Error    *    Delete Resource    ${iserver}    InCSE1/Con1
+    Should Start with    ${error}    Cannot delete this resource [404]
+    #----------- Make sure cannot retrieve them -----------
+    Cannot Retrieve Error    InCSE1/Con1
+    Cannot Retrieve Error    InCSE1/Con1/Con2
+    Cannot Retrieve Error    InCSE1/Con1/Con3
+    Cannot Retrieve Error    InCSE1/Con1/Con4
+    Cannot Retrieve Error    InCSE1/Con1/Con2/conIn1
+    Cannot Retrieve Error    InCSE1/Con1/Con2/conIn2
+    Cannot Retrieve Error    InCSE1/Con1/Con2/conIn3
+    Cannot Retrieve Error    InCSE1/Con1/Con3/conIn1
+    Cannot Retrieve Error    InCSE1/Con1/Con3/conIn2
+    Cannot Retrieve Error    InCSE1/Con1/Con3/conIn3
+    Cannot Retrieve Error    InCSE1/Con1/Con4/conIn1
+    Cannot Retrieve Error    InCSE1/Con1/Con4/conIn2
+    Cannot Retrieve Error    InCSE1/Con1/Con4/conIn3
+
+*** Keywords ***
+Response Is Correct
+    [Arguments]    ${r}
+    ${status_code} =    Status Code    ${r}
+    Should Be True    199 < ${status_code} < 299
+    ${text} =    Text    ${r}
+    LOG    ${text}
+    ${json} =    Json    ${r}
+    LOG    ${json}
+
+Cannot Retrieve Error
+    [Arguments]    ${uri}
+    ${error} =    Run Keyword And Expect Error    *    Retrieve Resource    ${iserver}    ${uri}
+    Should Start with    ${error}    Cannot retrieve this resource [404]