--- /dev/null
+*** Settings ***
+Documentation Keywords specific for IoTDM test suites.
+Library ./criotdm.py
+
+*** Variables ***
+
+*** Keywords ***
+IOTDM Basic Suite Setup
+ [Arguments] ${odl_ip_address} ${odl_user_name} ${odl_password}
+ [Documentation] Set up basic test suite
+ ${iserver} = Connect To Iotdm ${odl_ip_address} ${odl_user_name} ${odl_password} http
+ Set Suite Variable ${iserver}
--- /dev/null
+# Important: It seems that data driven approach is much more appropriate for implementation
+# of TCs described by tables in this file.
+
+# TODO implement negative and positive TCs for L0 security level
+# TODO according to this table
+# TODO There are described correct reasons of failures which needs to be verified in TCs
+
+# --------------------------------------------------------------------------------------------------------------------
+# | Table 1: security level L0 configured at IoTDM core AND used OneM2M protocol provider module
+# --------------------------------------------------------------------------------------------------------------------
+# | TC | Target CSE | Originator | Originator | Registration | Result | Notes
+# | | | entity type | is registered | of entity | |
+# ---------------------------------------------------------------------------------------------------------------------
+# | | Local | AE | No | - | Pass |
+# | | Local | AE | No | AE | Pass |
+# | | Local | AE | No | another AE | Pass |
+# | | Local | AE | No | CSE | Pass | IoTDM doesn't know if it's AE or not
+# | | Local | AE | Yes | - | Pass |
+# | | Local | AE | Yes | AE | Fail | already registered
+# | | Local | AE | Yes | another AE | Pass |
+# | | Local | AE | Yes | CSE | Fail | AE can't register CSE
+# | | Local | CSE | No | - | Pass |
+# | | Local | CSE | No | AE | Pass | IoTDM doesn't know if it's CSE or not
+# | | Local | CSE | No | CSE | Pass |
+# | | Local | CSE | No | another CSE | Pass | IoTDM doesn't know right CSE-ID
+# | | Local | CSE | Yes | - | Pass |
+# | | Local | CSE | Yes | AE | Fail | CSE can't register AE
+# | | Local | CSE | Yes | another CSE | Fail | CSE can't register another CSE
+# | | Local | CSE | Yes | CSE | Fail | already registered
+# | | Remote | AE, C-AE-ID | No | - | Pass | IoTDM doesn't know if it's AE or not
+# | | Remote | AE, C-AE-ID | No | AE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | No | another AE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | No | CSE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | Yes | - | Fail | request with originator set to C-AE-ID must not be forwarded
+# | | Remote | AE, C-AE-ID | Yes | AE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | Yes | another AE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | Yes | CSE | Fail | registration can't be forwarded
+# | | Remote | AE | No | - | Pass |
+# | | Remote | AE | No | AE | Fail | registration can't be forwarded
+# | | Remote | AE | No | another AE | Fail | registration can't be forwarded
+# | | Remote | AE | No | CSE | Fail | registration can't be forwarded
+# | | Remote | AE | Yes | - | Pass |
+# | | Remote | AE | Yes | AE | Fail | registration can't be forwarded
+# | | Remote | AE | Yes | another AE | Fail | registration can't be forwarded
+# | | Remote | AE | Yes | CSE | Fail | registration can't be forwarded
+# | | Remote | CSE | No | - | Pass |
+# | | Remote | CSE | No | AE | Fail | registration can't be forwarded
+# | | Remote | CSE | No | CSE | Fail | registration can't be forwarded
+# | | Remote | CSE | No | another CSE | Fail | registration can't be forwarded
+# | | Remote | CSE | Yes | - | Pass |
+# | | Remote | CSE | Yes | AE | Fail | registration can't be forwarded
+# | | Remote | CSE | Yes | CSE | Fail | registration can't be forwarded
+# | | Remote | CSE | Yes | another CSE | Fail | registration can't be forwarded
+
+
+# TODO implement negative and positive TCs for L1 security level configured
+# TODO at IoTDM core and at protocol provider modules
+# TODO according to this table
+# TODO There are described correct reasons of failures which needs to be verified in TCs
+
+# --------------------------------------------------------------------------------------------------------------------
+# | Table 2: security level L1 configured at IoTDM core OR used OneM2M protocol provider module (need to test both cases)
+# --------------------------------------------------------------------------------------------------------------------
+# | TC | Target CSE | Originator | Originator | Registration | Result | Notes
+# | | | entity type | is registered | of entity | |
+# ---------------------------------------------------------------------------------------------------------------------
+# | | Local | AE | No | - | Fail | originator not registered
+# | | Local | AE | No | AE | Pass |
+# | | Local | AE | No | another AE | Pass |
+# | | Local | AE | No | CSE | Pass | IoTDM doesn't know if it's AE or not
+# | | Local | AE | Yes | - | Pass |
+# | | Local | AE | Yes | AE | Fail | already registered
+# | | Local | AE | Yes | another AE | Pass |
+# | | Local | AE | Yes | CSE | Fail | AE can't register CSE
+# | | Local | CSE | No | - | Fail | originator not registered
+# | | Local | CSE | No | AE | Pass | IoTDM doesn't know if it's CSE or not
+# | | Local | CSE | No | CSE | Pass |
+# | | Local | CSE | No | another CSE | Pass | IoTDM doesn't know right CSE-ID
+# | | Local | CSE | Yes | - | Pass |
+# | | Local | CSE | Yes | AE | Fail | CSE can't register AE
+# | | Local | CSE | Yes | another CSE | Fail | CSE can't register another CSE
+# | | Local | CSE | Yes | CSE | Fail | already registered
+# | | Remote | AE, C-AE-ID | No | - | Fail | originator not registered
+# | | Remote | AE, C-AE-ID | No | AE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | No | another AE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | No | CSE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | Yes | - | Fail | request with originator set to C-AE-ID must not be forwarded
+# | | Remote | AE, C-AE-ID | Yes | AE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | Yes | another AE | Fail | registration can't be forwarded
+# | | Remote | AE, C-AE-ID | Yes | CSE | Fail | registration can't be forwarded
+# | | Remote | AE | No | - | Fail | originator not registered
+# | | Remote | AE | No | AE | Fail | registration can't be forwarded
+# | | Remote | AE | No | another AE | Fail | registration can't be forwarded
+# | | Remote | AE | No | CSE | Fail | registration can't be forwarded
+# | | Remote | AE | Yes | - | Pass |
+# | | Remote | AE | Yes | AE | Fail | registration can't be forwarded
+# | | Remote | AE | Yes | another AE | Fail | registration can't be forwarded
+# | | Remote | AE | Yes | CSE | Fail | registration can't be forwarded
+# | | Remote | CSE | No | - | Fail | originator not registered
+# | | Remote | CSE | No | AE | Fail | registration can't be forwarded
+# | | Remote | CSE | No | CSE | Fail | registration can't be forwarded
+# | | Remote | CSE | No | another CSE | Fail | registration can't be forwarded
+# | | Remote | CSE | Yes | - | Pass |
+# | | Remote | CSE | Yes | AE | Fail | registration can't be forwarded
+# | | Remote | CSE | Yes | CSE | Fail | registration can't be forwarded
+# | | Remote | CSE | Yes | another CSE | Fail | registration can't be forwarded
--- /dev/null
+Each TC testing common or specific resouce attribute should follow these steps.
+Such TCs can be split into multiple TCs if needed.
+
+Resource attributes:
+Test CRUD operations with resource with the attribute set. Result codes are verified
+for positive and negative TCs and error message is checked for negative TCs. Retrieve operation is
+performed after each TC in order to verify whether the negative or positive TC resulted with
+created resouce or non-created resource respectively.
+
+
+Attribute elements:
+Apply the same approach as in case of resource attributes also to attribute elements.
+
+
+TCs for resource attributes and attribute elements:
+
+ ... C/R positive: Create with valid value
+ ... C/R negative: Create with invalid value
+ ... C/R negative: Create with multiple attributes/elements
+ ... C/R negative: Create with attribute set to null
+
+ ... U(add)/R positive: Update with valid value
+ ... U(add)/R negative: Update with invalid value
+ ... U(add)/R negative: Update with multiple valid values
+ ... U(add)/R negative: Update with one valid and one invalid value
+
+ ... U(modify)/R positive: Update with valid value
+ ... U(modify)/R negative: Update with invalid value
+ ... U(modify)/R negative: Update with multiple valid values
+ ... U(modify)/R negative: Update with one valid and one invalid value
+
+ ... U(delete)/R positive: Update with setting value to null i.e. delete attribute
+ ... U(delete)/R negative: Update non-existing attribute to null
+ ... U(delete)/R negative: Update with two attributes set to null
+ ... U(delete)/R negative: Update with one attribute set to null and one to valid value
+
+ ... D/R positive: Delete resouce with attribute set
+
+
+TCs specific to resource attributes only:
+ ... TODO: We need to test also operations targetted to the attribute
+
+TCs testing non-existing attributes and elements:
+ ... C/R negative: Create with non-existing attribute/element
+ ... U(add)/R negative: Update with non-existing attribute/element
+ ... U(delete)/R negative: Update with non-existing attribute/element
+
+
+Test suites testing resource attributes and their elements should be structured according to this
+template:
+ 1. Mandatory common/specific attributes only
+ -> C/R (positive)
+ -> D/R (positive)
+
+ 2. TCs for single common attribute
+ note: some attributes can't be C/U at all
+ a. valid resource operations
+ -> C/R
+ -> U(add)/R
+ -> U(modify)/R
+ -> U(delete)/R
+ -> D/R
+ b. valid resource attribute operations
+ TODO: need to check if supported
+
+ c. invalid resource cases:
+ -> all operations with resources which are NP (not permitted)
+ -> C/R - invalid value
+ -> C/R - multiple ocurrences
+ -> U(add)/R - invalid value
+ -> U(add)/R - multiple occurrences
+ -> U(modify)/R - invalid value
+ -> U(modify)/R - multiple occurrences
+ -> U(delete)/R - multiple occurrences
+
+ d. invalid resource attribute operations
+ TODO: need to check if supported
+
+ 3. TCs for single specific attribute
+ Like in case of 2.
+
+ 4. All attribute TCs
+ a. all common, all specific
+ b. negative: try to create/update with non-existing attribute
+
+ 5. Test C/R/U/D with all valid RCN values with resource with all common and all specific attributes set
*** Settings ***
Documentation Testing of request and response primitives parameters
-Suite Setup Connect And Create The Tree
-Suite Teardown Kill The Tree ${ODL_SYSTEM_IP} InCSE1 admin admin
+... Check specifications for more details:
+... Request primitive parameters: TS-0004: 7.2.1.1 Request primitive format
+... Response primitive parameters: TS-0004: 7.2.1.2 Response primitive format
+... This test suite should be executed for all supported protocols, communication methods and
+... content types and so it should cover all scenarios resulting in protocol specific processing.
+Suite Setup Setup Suite
+Suite Teardown Kill The Tree ${ODL_SYSTEM_1_IP} InCSE1 admin admin
Resource ../../../libraries/SubStrings.robot
-Library ../../../libraries/criotdm.py
+Library ../../../libraries/IoTDM/criotdm.py
Library Collections
+Resource ../../../variables/Variables.robot
+Resource ../../../libraries/IoTDM/IoTDMKeywords.robot
*** Variables ***
-${httphost} ${ODL_SYSTEM_IP}
-${httpuser} admin
-${httppass} admin
${rt_ae} 2
${rt_container} 3
${rt_contentInstance} 4
*** Test Cases ***
-Set Suite Variable
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
- Set Suite Variable ${iserver}
- #==================================================
- # ResultContent(rcn) Test
- #==================================================
-
-1.1 rcn is legal in create
- [Documentation] rcn=1, 2, 3, 0 is legal
+1.00 REQ: Create: With mandatory parameters only
+ [Documentation] Tests Create REQ with mandatory parameters only.
+ ... Note: Multiple variations of positive and negative scenarios should be tested.
+ ... E.g.: Test all possible addressing formats for target
+ [Tags] not-implemented exclude
+ TODO
+
+1.01 REQ: Create: Missing mandatory parameters
+ [Documentation] NEGATIVE: Tests multiple cases of Create REQ with some mandatory parameter(s) missing.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02 REQ: Create: With not permitted parameters
+ [Documentation] NEGATIVE: Tests multiple cases of Create REQ with not permitted parameter(s).
+ [Tags] not-implemented exclude
+ TODO
+
+1.03 REQ: Create: With Role IDs parameter
+ [Documentation] Tests Create REQ with Role IDs parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+1.04 REQ: Create: With Originating Timestamp parameter
+ [Documentation] Tests Create REQ with Originating Timestamp parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+1.05 REQ: Create: With Request Expiration Timestamp parametr
+ [Documentation] Tests Create REQ with Request Expiration Timestamp parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+1.06 REQ: Create: With Result Expiration Time parameter
+ [Documentation] Tests Create REQ with Result Expiration Time parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+1.07 REQ: Create: With Operation Execution Time parameter
+ [Documentation] Tests Create REQ with Operation Execution Time parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+1.08 REQ: Create: With Response Type parameter
+ [Documentation] Tests Create REQ with Response Type parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+1.09 REQ: Create: With Result Persistence parameter
+ [Documentation] Tests Create REQ with Result Persistence parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+1.10.1 REQ: Create: With Result Content parameter - legal
+ [Documentation] Tests Create REQ with Result Content parameter set to legal values.
+ ... rcn=1, 2, 3, 0 is legal
+ # TODO: check with TS-0004: 7.5.2 Elements contained in the Content primitive parameter
${attr} = Set Variable "api":"jb","apn":"jb2","or":"http://hey/you","rr":true
: FOR ${rcn} IN \ 1 2 3
... 0
\ ${r} = Create Resource With Command ${iserver} InCSE1 ${rt_ae} rcn=${rcn}
\ ... ${attr}
-1.2 rcn is illegal in create
- [Documentation] rcn=4, 5, 6, 7 is illegal
+1.10.2 REQ: Create: With Result Content parameter - illegal
+ [Documentation] NEGATIVE: Tests Create REQ with Result Content parameter set to illegal values.
+ ... rcn=4, 5, 6, 7 is illegal
+ # TODO: check with TS-0004: 7.5.2 Elements contained in the Content primitive parameter
${attr} = Set Variable "api":"jb","apn":"jb2","or":"http://hey/you","rr":true
: FOR ${rcn} IN 4 5 6 7
\ ${error} = Run Keyword And Expect Error * Create Resource With Command ${iserver} InCSE1
\ Should Start with ${error} Cannot create this resource [400]
\ Should Contain ${error} rcn
-2.1 rcn is legal in update
- [Documentation] rcn=1, 0/ null is legal
- ${attr} = Set Variable "or":"http://hey/you"
- : FOR ${rcn} IN \ 0 1 5
- ... 6
- \ ${r} = Update Resource With Command ${iserver} InCSE1/AE1 ${rt_ae} rcn=${rcn}
- \ ... ${attr}
+1.11 REQ: Create: With Event Category parameter
+ [Documentation] Tests Create REQ with Event Category parameter
+ [Tags] not-implemented exclude
+ TODO
-2.2 rcn is illegal in update
- [Documentation] rcn=2, 3, 7 is illegal
- ${attr} = Set Variable "or":"http://hey/you"
- : FOR ${rcn} IN 2 3 4 7
- \ ${error} = Run Keyword And Expect Error * Update Resource With Command ${iserver} InCSE1/AE1
- \ ... ${rt_ae} rcn=${rcn} ${attr}
- \ Should Start with ${error} Cannot update this resource [400]
- \ Should Contain ${error} rcn
+1.12 REQ: Create: With Delivery Aggregation parameter
+ [Documentation] Tests Create REQ with Delivery Aggregation parameter
+ [Tags] not-implemented exclude
+ TODO
+
+1.13 REQ: Create: With Group Request Identifier parameter
+ [Documentation] Tests Create REQ with Group Request Identifier parameter
+ [Tags] not-implemented exclude
+ TODO
+
+1.14 REQ: Create: With Tokens parameter
+ [Documentation] Tests Create REQ with Tokens parameter
+ [Tags] not-implemented exclude
+ TODO
+
+1.15 REQ: Create: With Token IDs parameter
+ [Documentation] Tests Create REQ with Event Category parameter
+ [Tags] not-implemented exclude
+ TODO
+
+1.99 REQ: Create: With all optional parameters set
+ [Documentation] Tests Create REQ with all mandatory and optional parameters set
+ [Tags] not-implemented exclude
+ TODO
-3.1 rcn is legal in retrieve
- [Documentation] rcn=1, 4, 5, 6 null is legal
+2.00 REQ: Retrieve: With mandatory parameters only
+ [Documentation] Tests Retrieve REQ with mandatory parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+2.01 REQ: Retrieve: Missing mandatory parameters
+ [Documentation] NEGATIVE: Tests multiple cases of Retrieve REQ with some mandatory parameter(s) missing.
+ [Tags] not-implemented exclude
+ TODO
+
+2.02 REQ: Retrieve: With not permitted parameters
+ [Documentation] NEGATIVE: Tests multiple cases of Retrieve REQ with not permitted parameter(s).
+ [Tags] not-implemented exclude
+ TODO
+
+2.03 REQ: Retrieve: With Role IDs parameter
+ [Documentation] Tests Retrieve REQ with Role IDs parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+2.04 REQ: Retrieve: With Originating Timestamp parameter
+ [Documentation] Tests Retrieve REQ with Originating Timestamp parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+2.05 REQ: Retrieve: With Request Expiration Timestamp parametr
+ [Documentation] Tests Retrieve REQ with Request Expiration Timestamp parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+2.06 REQ: Retrieve: With Result Expiration Time parameter
+ [Documentation] Tests Retrieve REQ with Result Expiration Time parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+2.07 REQ: Retrieve: With Operation Execution Time parameter
+ [Documentation] Tests Retrieve REQ with Operation Execution Time parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+2.08 REQ: Retrieve: With Response Type parameter
+ [Documentation] Tests Retrieve REQ with Response Type parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+2.09 REQ: Retrieve: With Result Persistence parameter
+ [Documentation] Tests Retrieve REQ with Result Persistence parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+2.10.1 REQ: Retrieve: With Result Content parameter - legal
+ [Documentation] Tests Retrieve REQ with Result Content parameter set to legal values.
+ ... rcn=1, 4, 5, 6 null is legal
+ # TODO: check with TS-0004: 7.5.2 Elements contained in the Content primitive parameter
: FOR ${rcn} IN \ 1 4 5
... 6
\ ${r} = Retrieve Resource With Command ${iserver} InCSE1/AE1 rcn=${rcn}
# when rcn=7 can be retrieved
-3.2 rcn is illegal in retrieve
- [Documentation] rcn=0, 2, 3 is illegal
+2.10.2 REQ: Retrieve: With Result Content parameter - illegal
+ [Documentation] NEGATIVE: Tests Retrieve REQ with Result Content parameter set to illegal values.
+ ... rcn=0, 2, 3 is illegal
+ # TODO: check with TS-0004: 7.5.2 Elements contained in the Content primitive parameter
: FOR ${rcn} IN 0 2 3
\ ${error} = Run Keyword And Expect Error * Retrieve Resource With Command ${iserver} InCSE1/AE1
\ ... rcn=${rcn}
\ Should Start with ${error} Cannot retrieve this resource [400]
\ Should Contain ${error} rcn
-4.2 rcn is illegal in delete
- [Documentation] rcn=2, 3, 4, 5, 6, 7 is illegal
- ${attr} = Set Variable "or":"http://hey/you"
- : FOR ${rcn} IN 2 3 4 7
- \ ${error} = Run Keyword And Expect Error * Delete Resource With Command ${iserver} InCSE1/AE1
- \ ... rcn=${rcn}
- \ Should Start with ${error} Cannot delete this resource [400]
- \ Should Contain ${error} rcn
+2.11 REQ: Retrieve: With Event Category parameter
+ [Documentation] Tests Retrieve REQ with Event Category parameter
+ [Tags] not-implemented exclude
+ TODO
+
+2.12 REQ: Retrieve: With Delivery Aggregation parameter
+ [Documentation] Tests Retrieve REQ with Delivery Aggregation parameter
+ [Tags] not-implemented exclude
+ TODO
+
+2.13 REQ: Retrieve: With Group Request Identifier parameter
+ [Documentation] Tests Retrieve REQ with Group Request Identifier parameter
+ [Tags] not-implemented exclude
+ TODO
+
+2.14 REQ: Retrieve: With Tokens parameter
+ [Documentation] Tests Retrieve REQ with Tokens parameter
+ [Tags] not-implemented exclude
+ TODO
-1. createdBefore
+2.15 REQ: Retrieve: With Token IDs parameter
+ [Documentation] Tests Retrieve REQ with Event Category parameter
+ [Tags] not-implemented exclude
+ TODO
+
+2.16 REQ: Retrieve: With Content parameter
+ [Documentation] Tests Retrieve REQ with Content parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+2.17 REQ: Retrieve: With Discovery Result Type parameter
+ [Documentation] Tests Retrieve REQ with Discovery Result Type parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.01 REQ: Retrieve: With Filter Criteria parameter - element createdBefore
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with createdBefore element.
# need to sleep at least one second becase we are checking if resource was created before resource time and if
# this test and test before was created in the same second then this test will fail.
Sleep 1
Should Be Equal As Integers ${count} 2
Should Contain All Sub Strings '${rs}' Container2 Container1
-2. createdAfter
+2.18.02 REQ: Retrieve: With Filter Criteria parameter - element createdAfter
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with createdAfter element.
${r} = Retrieve Resource With Command ${iserver} InCSE1/AE1 rcn=4&cra=20150612T033748
Log ${r.text}
${rs} = Child Resource ${r}
Should Be Equal As Integers ${count} 2
Should Contain All Sub Strings '${rs}' Container2 Container1
-3. modifiedSince
+2.18.03 REQ: Retrieve: With Filter Criteria parameter - element modifiedSince
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with modifiedSince element.
${r} = Retrieve Resource With Command ${iserver} InCSE1/AE1 rcn=4&ms=20150612T033748
Log ${r.text}
${rs} = Child Resource ${r}
Should Be Equal As Integers ${count} 2
Should Contain All Sub Strings '${rs}' Container2 Container1
-4. unmodifiedSince
+2.18.04 REQ: Retrieve: With Filter Criteria parameter - element unmodifiedSince
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with unmodifiedSince element.
${r} = Retrieve Resource With Command ${iserver} InCSE1/AE1 rcn=4&us=${ts}
Log ${r.text}
${rs} = Child Resource ${r}
Should Be Equal As Integers ${count} 2
Should Contain All Sub Strings '${rs}' Container2 Container1
-5. stateTagSmaller
+2.18.05 REQ: Retrieve: With Filter Criteria parameter - element stateTagSmaller
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with stateTagSmaller element.
${r} = Retrieve Resource With Command ${iserver} InCSE1/Container3 rcn=4&sts=3
Log ${r.text}
${rs} = Child Resource First ${r}
Should Be Equal As Integers ${count} 5
Should Contain All Sub Strings '${rs}' Container7 Container8 Container9 conIn3 conIn4
-6. stateTagBigger
+2.18.06 REQ: Retrieve: With Filter Criteria parameter - element stateTagBigger
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with stateTagBigger element.
${r} = Retrieve Resource With Command ${iserver} InCSE1/Container3 rcn=4&stb=1
Log ${r.text}
${rs} = Child Resource ${r}
${count} = Get Length ${rs}
Should Be Equal As Integers ${count} 2
Should Contain All Sub Strings '${rs}' conIn5 conIn4
- # 7. expireBefore
- # 8. expireAfter
-9. labels
+2.18.07 REQ: Retrieve: With Filter Criteria parameter - element expireBefore
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with expireBefore element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.08 REQ: Retrieve: With Filter Criteria parameter - element expireAfter
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with expireAfter element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.09.01 REQ: Retrieve: With Filter Criteria parameter - element labels (one)
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with one labels element.
${r} = Retrieve Resource With Command ${iserver} InCSE1/Container3 rcn=4&sts=3&lbl=contentInstanceUnderContainerContainer
Log ${r.text}
${rs} = Child Resource First ${r}
${count} = Get Length ${rs}
Should Be Equal As Integers ${count} 2
Should Contain All Sub Strings '${rs}' conIn3 conIn4
- # 2 labels test
-10. resourceType
+2.18.09.02 REQ: Retrieve: With Filter Criteria parameter - element labels (two)
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with two labels elements.
+ ${r} = Retrieve Resource With Command ${iserver} InCSE1 fu=1&rcn=4&sts=4&lbl=contentInstanceUnderContainerContainer&lbl=underCSE
+ Log ${r.text}
+ ${count} = Get Length ${r.json()}
+ Should Be Equal As Integers ${count} 6
+ Should Contain All Sub Strings ${r.text} Container3 Container4 Container5 conIn3 conIn4
+ ... conIn5
+
+2.18.10 REQ: Retrieve: With Filter Criteria parameter - element resourceType
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with resourceType element.
${r} = Retrieve Resource With Command ${iserver} InCSE1 rcn=4&rty=3
Log ${r.text}
${rs} = Child Resource First ${r}
Should Be Equal As Integers ${count} 3
Should Contain All Sub Strings '${rs}' Container3 Container4 Container5
-11. sizeAbove
+2.18.11 REQ: Retrieve: With Filter Criteria parameter - element sizeAbove
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with sizeAbove element.
${r} = Retrieve Resource With Command ${iserver} InCSE1 rcn=4&rty=3&sza=5
Log ${r.text}
${rs} = Child Resource First ${r}
Should Be Equal As Integers ${count} 2
Should Contain All Sub Strings '${rs}' Container3 Container4
-12. sizeBelow
+2.18.12 REQ: Retrieve: With Filter Criteria parameter - element sizeBelow
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with sizeBelow element.
${r} = Retrieve Resource With Command ${iserver} InCSE1 rcn=4&rty=3&szb=5
Log ${r.text}
${rs} = Child Resource First ${r}
Should Be Equal As Integers ${count} 1
Should Contain All Sub Strings '${rs}' Container5
-2.1 And Test - labels
- ${r} = Retrieve Resource With Command ${iserver} InCSE1 fu=1&rcn=4&sts=4&lbl=contentInstanceUnderContainerContainer&lbl=underCSE
- Log ${r.text}
- ${count} = Get Length ${r.json()}
- Should Be Equal As Integers ${count} 6
- Should Contain All Sub Strings ${r.text} Container3 Container4 Container5 conIn3 conIn4
- ... conIn5
+2.18.13.01 REQ: Retrieve: With Filter Criteria parameter - element contentType (one)
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with one contentType element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.13.02 REQ: Retrieve: With Filter Criteria parameter - element contentType (two)
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with two contentType elements.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.14.01 REQ: Retrieve: With Filter Criteria parameter - element attribute (one)
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with one attribute element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.14.02 REQ: Retrieve: With Filter Criteria parameter - element attribute (two)
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with two attribute elements.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.15 REQ: Retrieve: With Filter Criteria parameter - element filterUsage
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with filterUsage element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.16 REQ: Retrieve: With Filter Criteria parameter - element limit
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with limit element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.17.01 REQ: Retrieve: With Filter Criteria parameter - element semanticsFilter (one)
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with one semanticsFilter element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.17.02 REQ: Retrieve: With Filter Criteria parameter - element semanticsFilter (two)
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with two semanticsFilter element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.18 REQ: Retrieve: With Filter Criteria parameter - element filterOperation
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with filterOperation element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.19 REQ: Retrieve: With Filter Criteria parameter - element contentFilterSyntax
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with contentFilterSyntax element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.20 REQ: Retrieve: With Filter Criteria parameter - element contentFilterQuery
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with contentFilterQuery element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.21 REQ: Retrieve: With Filter Criteria parameter - element level
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with level element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.18.22 REQ: Retrieve: With Filter Criteria parameter - element offset
+ [Documentation] Tests Retrieve REQ with Filter Criteria parameter with offset element.
+ [Tags] not-implemented exclude
+ TODO
+
+2.99 REQ: Retrieve: With all optional parameters set
+ [Documentation] Tests Retrieve REQ with all mandatory and optional parameters set
+ [Tags] not-implemented exclude
+ TODO
+
+3.00 REQ: Update: With mandatory parameters only
+ [Documentation] Tests Update REQ with mandatory parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+3.01 REQ: Update: Missing mandatory parameters
+ [Documentation] NEGATIVE: Tests multiple cases of Update REQ with some mandatory parameter(s) missing.
+ [Tags] not-implemented exclude
+ TODO
+
+3.02 REQ: Update: With not permitted parameters
+ [Documentation] NEGATIVE: Tests multiple cases of Update REQ with not permitted parameter(s).
+ [Tags] not-implemented exclude
+ TODO
+
+3.03 REQ: Update: With Role IDs parameter
+ [Documentation] Tests Update REQ with Role IDs parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+3.04 REQ: Update: With Originating Timestamp parameter
+ [Documentation] Tests Update REQ with Originating Timestamp parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+3.05 REQ: Update: With Request Expiration Timestamp parametr
+ [Documentation] Tests Update REQ with Request Expiration Timestamp parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+3.06 REQ: Update: With Result Expiration Time parameter
+ [Documentation] Tests Update REQ with Result Expiration Time parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+3.07 REQ: Update: With Operation Execution Time parameter
+ [Documentation] Tests Update REQ with Operation Execution Time parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+3.08 REQ: Update: With Response Type parameter
+ [Documentation] Tests Update REQ with Response Type parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+3.09 REQ: Update: With Result Persistence parameter
+ [Documentation] Tests Update REQ with Result Persistence parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+3.10.1 REQ: Update: With Result Content parameter - legal
+ [Documentation] Tests Update REQ with Result Content parameter set to legal values.
+ ... rcn=1, 0/ null is legal
+ # TODO: check with TS-0004: 7.5.2 Elements contained in the Content primitive parameter
+ ${attr} = Set Variable "or":"http://hey/you"
+ : FOR ${rcn} IN \ 0 1 5
+ ... 6
+ \ ${r} = Update Resource With Command ${iserver} InCSE1/AE1 ${rt_ae} rcn=${rcn}
+ \ ... ${attr}
+
+3.10.2 REQ: Update: With Result Content parameter - illegal
+ [Documentation] NEGATIVE: Tests Update REQ with Result Content parameter set to illegal values.
+ ... rcn=2, 3, 7 is illegal
+ # TODO: check with TS-0004: 7.5.2 Elements contained in the Content primitive parameter
+ ${attr} = Set Variable "or":"http://hey/you"
+ : FOR ${rcn} IN 2 3 4 7
+ \ ${error} = Run Keyword And Expect Error * Update Resource With Command ${iserver} InCSE1/AE1
+ \ ... ${rt_ae} rcn=${rcn} ${attr}
+ \ Should Start with ${error} Cannot update this resource [400]
+ \ Should Contain ${error} rcn
+
+3.11 REQ: Update: With Event Category parameter
+ [Documentation] Tests Update REQ with Event Category parameter
+ [Tags] not-implemented exclude
+ TODO
+
+3.12 REQ: Update: With Delivery Aggregation parameter
+ [Documentation] Tests Update REQ with Delivery Aggregation parameter
+ [Tags] not-implemented exclude
+ TODO
+
+3.13 REQ: Update: With Group Request Identifier parameter
+ [Documentation] Tests Update REQ with Group Request Identifier parameter
+ [Tags] not-implemented exclude
+ TODO
+
+3.14 REQ: Update: With Tokens parameter
+ [Documentation] Tests Update REQ with Tokens parameter
+ [Tags] not-implemented exclude
+ TODO
+
+3.15 REQ: Update: With Token IDs parameter
+ [Documentation] Tests Update REQ with Event Category parameter
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.01 REQ: Update: With Filter Criteria parameter - element createdBefore
+ [Documentation] Tests Update REQ with Filter Criteria parameter with createdBefore element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.02 REQ: Update: With Filter Criteria parameter - element createdAfter
+ [Documentation] Tests Update REQ with Filter Criteria parameter with createdAfter element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.03 REQ: Update: With Filter Criteria parameter - element modifiedSince
+ [Documentation] Tests Update REQ with Filter Criteria parameter with modifiedSince element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.04 REQ: Update: With Filter Criteria parameter - element unmodifiedSince
+ [Documentation] Tests Update REQ with Filter Criteria parameter with unmodifiedSince element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.05 REQ: Update: With Filter Criteria parameter - element stateTagSmaller
+ [Documentation] Tests Update REQ with Filter Criteria parameter with stateTagSmaller element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.06 REQ: Update: With Filter Criteria parameter - element stateTagBigger
+ [Documentation] Tests Update REQ with Filter Criteria parameter with stateTagBigger element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.07 REQ: Update: With Filter Criteria parameter - element expireBefore
+ [Documentation] Tests Update REQ with Filter Criteria parameter with expireBefore element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.08 REQ: Update: With Filter Criteria parameter - element expireAfter
+ [Documentation] Tests Update REQ with Filter Criteria parameter with expireAfter element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.09.01 REQ: Update: With Filter Criteria parameter - element labels (one)
+ [Documentation] Tests Update REQ with Filter Criteria parameter with one labels element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.09.02 REQ: Update: With Filter Criteria parameter - element labels (two)
+ [Documentation] Tests Update REQ with Filter Criteria parameter with two labels elements.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.10 REQ: Update: With Filter Criteria parameter - element resourceType
+ [Documentation] Tests Update REQ with Filter Criteria parameter with resourceType element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.11 REQ: Update: With Filter Criteria parameter - element sizeAbove
+ [Documentation] Tests Update REQ with Filter Criteria parameter with sizeAbove element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.12 REQ: Update: With Filter Criteria parameter - element sizeBelow
+ [Documentation] Tests Update REQ with Filter Criteria parameter with sizeBelow element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.13.01 REQ: Update: With Filter Criteria parameter - element contentType (one)
+ [Documentation] Tests Update REQ with Filter Criteria parameter with one contentType element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.13.02 REQ: Update: With Filter Criteria parameter - element contentType (two)
+ [Documentation] Tests Update REQ with Filter Criteria parameter with two contentType elements.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.14.01 REQ: Update: With Filter Criteria parameter - element attribute (one)
+ [Documentation] Tests Update REQ with Filter Criteria parameter with one attribute element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.14.02 REQ: Update: With Filter Criteria parameter - element attribute (two)
+ [Documentation] Tests Update REQ with Filter Criteria parameter with two attribute elements.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.15 REQ: Update: With Filter Criteria parameter - element filterUsage
+ [Documentation] Tests Update REQ with Filter Criteria parameter with filterUsage element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.16 REQ: Update: With Filter Criteria parameter - element limit
+ [Documentation] Tests Update REQ with Filter Criteria parameter with limit element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.17.01 REQ: Update: With Filter Criteria parameter - element semanticsFilter (one)
+ [Documentation] Tests Update REQ with Filter Criteria parameter with one semanticsFilter element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.17.02 REQ: Update: With Filter Criteria parameter - element semanticsFilter (two)
+ [Documentation] Tests Update REQ with Filter Criteria parameter with two semanticsFilter element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.18 REQ: Update: With Filter Criteria parameter - element filterOperation
+ [Documentation] Tests Update REQ with Filter Criteria parameter with filterOperation element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.19 REQ: Update: With Filter Criteria parameter - element contentFilterSyntax
+ [Documentation] Tests Update REQ with Filter Criteria parameter with contentFilterSyntax element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.20 REQ: Update: With Filter Criteria parameter - element contentFilterQuery
+ [Documentation] Tests Update REQ with Filter Criteria parameter with contentFilterQuery element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.21 REQ: Update: With Filter Criteria parameter - element level
+ [Documentation] Tests Update REQ with Filter Criteria parameter with level element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.16.22 REQ: Update: With Filter Criteria parameter - element offset
+ [Documentation] Tests Update REQ with Filter Criteria parameter with offset element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.99 REQ: Update: With all optional parameters set
+ [Documentation] Tests Update REQ with all mandatory and optional parameters set
+ [Tags] not-implemented exclude
+ TODO
+
+4.00 REQ: Delete: With mandatory parameters only
+ [Documentation] Tests Delete REQ with mandatory parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+4.01 REQ: Delete: Missing mandatory parameters
+ [Documentation] NEGATIVE: Tests multiple cases of Delete REQ with some mandatory parameter(s) missing.
+ [Tags] not-implemented exclude
+ TODO
+
+4.02 REQ: Delete: With not permitted parameters
+ [Documentation] NEGATIVE: Tests multiple cases of Delete REQ with not permitted parameter(s).
+ [Tags] not-implemented exclude
+ TODO
+
+4.03 REQ: Delete: With Role IDs parameter
+ [Documentation] Tests Delete REQ with Role IDs parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+4.04 REQ: Delete: With Originating Timestamp parameter
+ [Documentation] Tests Delete REQ with Originating Timestamp parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+4.05 REQ: Delete: With Request Expiration Timestamp parametr
+ [Documentation] Tests Delete REQ with Request Expiration Timestamp parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+4.06 REQ: Delete: With Result Expiration Time parameter
+ [Documentation] Tests Delete REQ with Result Expiration Time parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+4.07 REQ: Delete: With Operation Execution Time parameter
+ [Documentation] Tests Delete REQ with Operation Execution Time parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+4.08 REQ: Delete: With Response Type parameter
+ [Documentation] Tests Delete REQ with Response Type parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+4.09 REQ: Delete: With Result Persistence parameter
+ [Documentation] Tests Delete REQ with Result Persistence parameter.
+ [Tags] not-implemented exclude
+ TODO
+
+4.10.1 REQ: Delete: With Result Content parameter - legal
+ [Documentation] Tests Delete REQ with Result Content parameter set to legal values.
+ ... rcn=2, 3, 4, 5, 6, 7 is illegal
+ # TODO: check with TS-0004: 7.5.2 Elements contained in the Content primitive parameter
+ ${attr} = Set Variable "or":"http://hey/you"
+ : FOR ${rcn} IN 2 3 4 7
+ \ ${error} = Run Keyword And Expect Error * Delete Resource With Command ${iserver} InCSE1/AE1
+ \ ... rcn=${rcn}
+ \ Should Start with ${error} Cannot delete this resource [400]
+ \ Should Contain ${error} rcn
+
+4.10.2 REQ: Delete: With Result Content parameter - illegal
+ [Documentation] NEGATIVE: Tests Delete REQ with Result Content parameter set to illegal values.
+ [Tags] not-implemented exclude
+ TODO
+
+4.11 REQ: Delete: With Event Category parameter
+ [Documentation] Tests Delete REQ with Event Category parameter
+ [Tags] not-implemented exclude
+ TODO
+
+4.12 REQ: Delete: With Delivery Aggregation parameter
+ [Documentation] Tests Delete REQ with Delivery Aggregation parameter
+ [Tags] not-implemented exclude
+ TODO
+
+4.13 REQ: Delete: With Group Request Identifier parameter
+ [Documentation] Tests Delete REQ with Group Request Identifier parameter
+ [Tags] not-implemented exclude
+ TODO
+
+4.14 REQ: Delete: With Tokens parameter
+ [Documentation] Tests Delete REQ with Tokens parameter
+ [Tags] not-implemented exclude
+ TODO
+
+4.15 REQ: Delete: With Token IDs parameter
+ [Documentation] Tests Delete REQ with Event Category parameter
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.01 REQ: Delete: With Filter Criteria parameter - element createdBefore
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with createdBefore element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.02 REQ: Delete: With Filter Criteria parameter - element createdAfter
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with createdAfter element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.03 REQ: Delete: With Filter Criteria parameter - element modifiedSince
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with modifiedSince element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.04 REQ: Delete: With Filter Criteria parameter - element unmodifiedSince
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with unmodifiedSince element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.05 REQ: Delete: With Filter Criteria parameter - element stateTagSmaller
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with stateTagSmaller element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.06 REQ: Delete: With Filter Criteria parameter - element stateTagBigger
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with stateTagBigger element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.07 REQ: Delete: With Filter Criteria parameter - element expireBefore
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with expireBefore element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.08 REQ: Delete: With Filter Criteria parameter - element expireAfter
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with expireAfter element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.09.01 REQ: Delete: With Filter Criteria parameter - element labels (one)
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with one labels element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.09.02 REQ: Delete: With Filter Criteria parameter - element labels (two)
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with two labels elements.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.10 REQ: Delete: With Filter Criteria parameter - element resourceType
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with resourceType element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.11 REQ: Delete: With Filter Criteria parameter - element sizeAbove
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with sizeAbove element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.12 REQ: Delete: With Filter Criteria parameter - element sizeBelow
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with sizeBelow element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.13.01 REQ: Delete: With Filter Criteria parameter - element contentType (one)
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with one contentType element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.13.02 REQ: Delete: With Filter Criteria parameter - element contentType (two)
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with two contentType elements.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.14.01 REQ: Delete: With Filter Criteria parameter - element attribute (one)
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with one attribute element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.14.02 REQ: Delete: With Filter Criteria parameter - element attribute (two)
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with two attribute elements.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.15 REQ: Delete: With Filter Criteria parameter - element filterUsage
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with filterUsage element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.16 REQ: Delete: With Filter Criteria parameter - element limit
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with limit element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.17.01 REQ: Delete: With Filter Criteria parameter - element semanticsFilter (one)
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with one semanticsFilter element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.17.02 REQ: Delete: With Filter Criteria parameter - element semanticsFilter (two)
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with two semanticsFilter element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.18 REQ: Delete: With Filter Criteria parameter - element filterOperation
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with filterOperation element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.19 REQ: Delete: With Filter Criteria parameter - element contentFilterSyntax
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with contentFilterSyntax element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.20 REQ: Delete: With Filter Criteria parameter - element contentFilterQuery
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with contentFilterQuery element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.21 REQ: Delete: With Filter Criteria parameter - element level
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with level element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.16.22 REQ: Delete: With Filter Criteria parameter - element offset
+ [Documentation] Tests Delete REQ with Filter Criteria parameter with offset element.
+ [Tags] not-implemented exclude
+ TODO
+
+4.99 REQ: Delete: With all optional parameters set
+ [Documentation] Tests Delete REQ with all mandatory and optional parameters set.
+ [Tags] not-implemented exclude
+ TODO
+
+5.01 RSP: Create OK: With mandatory parameters only
+ [Documentation] Sends such Create request which results with successful response with mandatory parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+5.02 RSP: Create OK: With optional parameters
+ [Documentation] Sends such Create request which results with successful response with
+ ... optional parameters set.
+ [Tags] not-implemented exclude
+ TODO
+
+5.03 RSP: Retrieve OK: With mandatory parameters only
+ [Documentation] Sends such Retrieve request which results with successful response with mandatory
+ ... parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+5.04 RSP: Retrieve OK: With optional parameters
+ [Documentation] Sends such Retrieve request which results with successful response with
+ ... optional parameters set.
+ [Tags] not-implemented exclude
+ TODO
+
+5.05 RSP: Update OK: With mandatory parameters only
+ [Documentation] Sends such Update request which results with successful response with mandatory
+ ... parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+5.06 RSP: Update OK: With optional parameters
+ [Documentation] Sends such Update request which results with successful response with
+ ... optional parameters set.
+ [Tags] not-implemented exclude
+ TODO
+
+5.07 RSP: Delete OK: With mandatory parameters only
+ [Documentation] Sends such Delete request which results with successful response with mandatory
+ ... parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+5.08 RSP: Delete OK: With optional parameters
+ [Documentation] Sends such Delete request which results with successful response with
+ ... optional parameters set.
+ [Tags] not-implemented exclude
+ TODO
+
+6.01 RSP: Create ERROR: With mandatory parameters only
+ [Documentation] Sends such Create request which results with error response with mandatory
+ ... parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+6.02 RSP: Create ERROR: With optional parameters
+ [Documentation] Sends such Create request which results with error response with
+ ... optional parameters set.
+ [Tags] not-implemented exclude
+ TODO
+
+6.03 RSP: Retrieve ERROR: With mandatory parameters only
+ [Documentation] Sends such Retrieve request which results with error response with mandatory
+ ... parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+6.04 RSP: Retrieve ERROR: With optional parameters
+ [Documentation] Sends such Retrieve request which results with error response with
+ ... optional parameters set.
+ [Tags] not-implemented exclude
+ TODO
+
+6.05 RSP: Update ERROR: With mandatory parameters only
+ [Documentation] Sends such Update request which results with error response with mandatory
+ ... parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+6.06 RSP: Update ERROR: With optional parameters
+ [Documentation] Sends such Update request which results with error response with
+ ... optional parameters set.
+ [Tags] not-implemented exclude
+ TODO
+
+6.07 RSP: Delete ERROR: With mandatory parameters only
+ [Documentation] Sends such Delete request which results with error response with mandatory
+ ... parameters only.
+ [Tags] not-implemented exclude
+ TODO
+
+6.08 RSP: Delete ERROR: With optional parameters
+ [Documentation] Sends such Delete request which results with error response with
+ ... optional parameters set.
+ [Tags] not-implemented exclude
+ TODO
*** Keywords ***
Connect And Create The Tree
[Documentation] Create a tree that contain AE/ container / contentInstance in different layers
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
+ ${iserver} = Connect To Iotdm ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD} http
${attr} = Set Variable "api":"jb","apn":"jb2","or":"http://hey/you","rr":true
Create Resource ${iserver} InCSE1 ${rt_ae} ${attr},"rn":"AE1"
Create Resource ${iserver} InCSE1 ${rt_ae} ${attr},"rn":"AE2"
Create Resource ${iserver} InCSE1/Container4 ${rt_contentInstance} ${attr},"rn":"conIn6"
Create Resource ${iserver} InCSE1/Container4 ${rt_contentInstance} ${attr},"rn":"conIn7"
Create Resource ${iserver} InCSE1/Container4 ${rt_contentInstance} ${attr},"rn":"conIn8"
+
+Setup Suite
+ [Documentation] Connect to IoTDM and prepare testing resource tree
+ IOTDM Basic Suite Setup ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD}
+ Connect And Create The Tree
+
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation Test suite tests CRUD operations with cseBase resource attributes
+... CseBase resource must not be CRUD-able through OneM2M API so this test suite
+... implements also negative TCs which makes attemts to CRUD cseBase and its attributes
+... through OneM2M API.
+... TODO: implement TCs according to 000_ResourceAttributesNotes.txt
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.00 Add Test Cases
+ [Documentation] no test cases defined
+ [Tags] not-implemented exclude
+ TODO
+
+2.00 Add Test Cases using IoTDM's core RESTCONF call
+ [Documentation] CRUD cseBase resouce by IoTDM's RESTCONF call
+ [Tags] not-implemented exclude
+ TODO
+
+3.00 Test OneM2M API CRUD operations with cseBase
+ [Documentation] CRUD operations with cseBase using OneM2M API must be dropped. Verify each failed operation by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
*** Settings ***
Documentation Tests for Container resource attributes
-Suite Teardown Kill The Tree ${ODL_SYSTEM_IP} InCSE1 admin admin
+Suite Setup IOTDM Basic Suite Setup ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD}
+Suite Teardown Kill The Tree ${ODL_SYSTEM_1_IP} InCSE1 admin admin
Resource ../../../libraries/SubStrings.robot
-Library ../../../libraries/criotdm.py
+Library ../../../libraries/IoTDM/criotdm.py
Library Collections
+Resource ../../../variables/Variables.robot
+Resource ../../../libraries/IoTDM/IoTDMKeywords.robot
*** Variables ***
-${httphost} ${ODL_SYSTEM_IP}
-${httpuser} admin
-${httppass} admin
${rt_ae} 2
${rt_container} 3
${rt_contentInstance} 4
*** Test Cases ***
-Set Suite Variable
- [Documentation] set a suite variable ${iserver}
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
- Set Suite Variable ${iserver}
+TODO Refactor test suite and implement TCs
+ [Documentation] Refactor this test suite and implement next TCs according to 000_ResourceAttributesNotes.txt03.
+ ... Example of changes is in 024_ResourceAttributesAE.robot
+ [Tags] not-implemented exclude
+ TODO
+
+1.1 After Created, test whether all the mandatory attribtues are exist.
+ [Documentation] After Created, test whether all the mandatory attribtues are exist.
#==================================================
# Container Mandatory Attribute Test
#==================================================
# For Creation, there are no mandatory input attribute
-
-1.1 After Created, test whether all the mandatory attribtues are exist.
- [Documentation] After Created, test whether all the mandatory attribtues are exist.
${attr} = Set Variable "rn":"Container1"
${r}= Create Resource With Command ${iserver} InCSE1 ${rt_container} rcn=3 ${attr}
${container} = Location ${r}
Should Contain All Sub Strings ${text} "ri": "rn": "cni" "lt": "pi":
... "st": "ct": "ty":3 "cbs"
Should Not Contain Any Sub Strings ${text} "lbl" "creator" "or"
+
+2.11 maxNumberofInstance (mni) can be added when create
+ [Documentation] maxNumberofInstance (mni) can be added when create
#==================================================
# Container Optional Attribute Test (Allowed)
#==================================================
# create--> delete
# update(create)--> update(modified)-->update (delete)
-
-2.11 maxNumberofInstance (mni) can be added when create
- [Documentation] maxNumberofInstance (mni) can be added when create
${attr} = Set Variable "mni":3,"rn":"Container2"
${r}= Create Resource ${iserver} InCSE1 ${rt_container} ${attr}
${text} = Check Response and Retrieve Resource ${r}
${error} = Run Keyword And Expect Error Cannot update this resource [400]* Update Resource ${iserver} InCSE1/Container1 ${rt_container}
... ${attr}
[Return] ${error}
+
+TODO
+ Fail "Not implemented"
*** Settings ***
Documentation Tests for Content Instance resource attributes
-Suite Teardown Kill The Tree ${ODL_SYSTEM_IP} InCSE1 admin admin
+Suite Setup IOTDM Basic Suite Setup ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD}
+Suite Teardown Kill The Tree ${ODL_SYSTEM_1_IP} InCSE1 admin admin
Resource ../../../libraries/SubStrings.robot
-Library ../../../libraries/criotdm.py
+Library ../../../libraries/IoTDM/criotdm.py
Library Collections
+Resource ../../../variables/Variables.robot
+Resource ../../../libraries/IoTDM/IoTDMKeywords.robot
*** Variables ***
-${httphost} ${ODL_SYSTEM_IP}
-${httpuser} admin
-${httppass} admin
${rt_ae} 2
${rt_container} 3
${rt_contentInstance} 4
*** Test Cases ***
-Set Suite Variable
- [Documentation] set a suite variable ${iserver}
- #==================================================
- # Container Mandatory Attribute Test
- #==================================================
- # mandatory attribute: content
- # cse
- # |
- # ---Container1
- # |
- # ----conIn1
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
- Set Suite Variable ${iserver}
+TODO Refactor test suite and implement TCs
+ [Documentation] Refactor this test suite and implement next TCs according to 000_ResourceAttributesNotes.txt03.
+ ... Example of changes is in 024_ResourceAttributesAE.robot
+ [Tags] not-implemented exclude
+ TODO
1.1 After Created, test whether all the mandatory attribtues are exist.
[Documentation] create 1 conIn test whether all the mandatory attribtues are exist
Create Resource ${iserver} ${resourceURI} ${rt_contentInstance} ${attr}
${latestCon} = Get Latest ${resourceURI}
Should Be Equal As Strings ${random} ${latestCon}
+
+TODO
+ Fail "Not implemented"
*** Settings ***
Documentation Tests for Application Entity (AE) resource attributes
-Suite Teardown Kill The Tree ${ODL_SYSTEM_IP} InCSE1 admin admin
+Suite Setup IOTDM Basic Suite Setup ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD}
+Suite Teardown Kill The Tree ${ODL_SYSTEM_1_IP} InCSE1 admin admin
Resource ../../../libraries/SubStrings.robot
-Library ../../../libraries/criotdm.py
+Library ../../../libraries/IoTDM/criotdm.py
Library Collections
+Resource ../../../variables/Variables.robot
+Resource ../../../libraries/IoTDM/IoTDMKeywords.robot
*** Variables ***
-${httphost} ${ODL_SYSTEM_IP}
-${httpuser} admin
-${httppass} admin
${rt_ae} 2
${rt_container} 3
${rt_contentInstance} 4
*** Test Cases ***
-Set Suite Variable
- [Documentation] set a suite variable ${iserver}
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
- Set Suite Variable ${iserver}
- #==================================================
- # AE Mandatory Attribute Test
- #==================================================
- # For Creation, there are only 2 mandatory attribute: App-ID(api), AE-ID(aei)
+TODO Refactor test suite and implement TCs
+ [Documentation] Refactor this test suite and implement next TCs according to 000_ResourceAttributesNotes.txt03.
+ ... Example of changes is in 024_ResourceAttributesAE.robot
+ [Tags] not-implemented exclude
+ TODO
1.11 If include AE-ID should return error
[Documentation] when create AE, AE-ID should not be included
${error} = Run Keyword And Expect Error Cannot update this resource [400]* Update Resource ${iserver} InCSE1/AE1 ${rt_ae}
... ${attr}
[Return] ${error}
+
+TODO
+ Fail "Not implemented"
*** Settings ***
Documentation Tests for Access Control Policy (ACP) resource attributes
-Suite Teardown Kill The Tree ${ODL_SYSTEM_IP} InCSE1 admin admin
+Suite Setup IOTDM Basic Suite Setup ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD}
+Suite Teardown Kill The Tree ${ODL_SYSTEM_1_IP} InCSE1 admin admin
Resource ../../../libraries/SubStrings.robot
-Library ../../../libraries/criotdm.py
+Library ../../../libraries/IoTDM/criotdm.py
Library Collections
+Resource ../../../variables/Variables.robot
+Resource ../../../libraries/IoTDM/IoTDMKeywords.robot
*** Variables ***
-${httphost} ${ODL_SYSTEM_IP}
-${httpuser} admin
-${httppass} admin
${rt_ae} 2
${rt_container} 3
${rt_contentInstance} 4
${rt_acp} 1
*** Test Cases ***
-Set Suite Variable
- [Documentation] set a suite variable ${iserver}
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
- Set Suite Variable ${iserver}
- #==================================================
- # Container Mandatory Attribute Test
- #==================================================
- # For Creation, there are no mandatory input attribute
-
-1.0 Test whether default ACP exist
+1.0.0 Test whether default ACP exist
Modify Headers Origin ${iserver} admin
${r} = Retrieve Resource ${iserver} InCSE1/_defaultACP
${text} = Text ${r}
${status_code} = Status Code ${r}
Should Be True 199 < ${status_code} < 299
-1.1 Create ACP without context, test whether all the reponse mandatory attribtues exist.
+1.0.1 ACP C/R resource with mandatory common and specific attributes only
[Documentation] After Created, test whether all the mandatory attribtues exist.
- ${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp1"
+ ${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35}, {"acor" : ["111","222"],"acop":35}]}, "pvs":{"acr":[{"acor" : ["111","222"],"acop":7}, {"acor" : ["111","222"],"acop":9}]}, "rn":"Acp1"
${r}= Create Resource ${iserver} InCSE1 ${rt_acp} ${attr}
${status_code} = Status Code ${r}
Should Be Equal As Integers ${status_code} 201
${text} = Convert To String ${r.text}
Should Contain All Sub Strings ${text} "ct": "lt": "ty" "ri": "pi":
-1.2 Create ACP with valid acip(ipv4)
- [Documentation] After Created, test whether all the mandatory attribtues are exist.
+1.0.2 ACP D/R: resource with mandatory common and specific attributes only
+ [Tags] not-implemented exclude
+ TODO
+
+2 ACP common attributes
+ [Documentation] (TODO remove when implemented), next TCs verifies particular common attribute of ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+2.01 ACP common attribute: resourceName
+ [Tags] not-implemented exclude
+ TODO
+
+2.02 ACP common attribute: resourceType
+ [Tags] not-implemented exclude
+ TODO
+
+2.03 ACP common attribute: resourceID
+ [Tags] not-implemented exclude
+ TODO
+
+2.04 ACP common attribute: parentID
+ [Tags] not-implemented exclude
+ TODO
+
+2.05 ACP common attribute: expirationTime
+ [Tags] not-implemented exclude
+ TODO
+
+2.06 ACP common attribute: labels
+ [Tags] not-implemented exclude
+ TODO
+
+2.07 ACP common attribute: creationTime
+ [Tags] not-implemented exclude
+ TODO
+
+2.08 ACP common attribute: lastModifiedTime
+ [Tags] not-implemented exclude
+ TODO
+
+2.09 ACP common attribute: announceTo
+ [Tags] not-implemented exclude
+ TODO
+
+2.10 ACP common attribute: announcedAttribute
+ [Tags] not-implemented exclude
+ TODO
+
+3 ACP specific attributes
+ [Documentation] (TODO remove when implemented), next TCs verifies particular specific attribute of ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+3.01 ACP specific attributes: priviliges, selfPrivileges
+ [Tags] not-implemented exclude
+ # TODO TCs here should implement all sub-cases as described in the help file
+ # TODO next TC definities just shows subset of TCs and how it could be done
+ TODO
+
+3.01.01 ACP U/R: priviliges attribute: Update priviliges attribute only
+ [Documentation] Update only priviliges attribute of ACP and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.01.02 ACP U/R: selfPriviliges attribute: Update selfPriviliges attribute only
+ [Documentation] Update only selfPriviliges attribute of ACP and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.01.03 ACP U/R: priviliges attribute: Delete priviliges attribute only
+ [Documentation] NEGATIVE: Use Update operation to set priviliges attribute to null. Verify error message and
+ ... verify original ACP resource by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.01.04 ACP U/R: selfPriviliges attribute: Delete selfPriviliges attribute only
+ [Documentation] NEGATIVE: Use Update operation to set selfPriviliges attribute to null. Verify error message and
+ ... verify original ACP resource by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.02 ACP elements of specific attributes: priviliges, selfPrivileges
+ [Tags] not-implemented exclude
+ # TODO TCs here should implement all sub-cases as described in the help file
+ # TODO next TC definities just shows subset of TCs and how it could be done
+ TODO
+
+3.02.01 ACP C/R: priviliges, selfPrivileges attributes: With valid IPv4 acip element
+ [Documentation] After Created, test whether all the mandatory elements exist.
${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35,"acco":[{"acip":{"ipv4":["127.0.0.1"]}}]},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp2"
${r}= Create Resource ${iserver} InCSE1 ${rt_acp} ${attr}
${status_code} = Status Code ${r}
${text} = Convert To String ${r.text}
Should Contain All Sub Strings ${text} "ct": "lt": "ty" "ri": "pi":
-1.3 Create ACP with invalid acip(ipv4)
- [Documentation] input a invalid ipv4 address and expect error
+3.02.02 ACP U/R: priviliges, selfPrivileges attributes: With valid IPv4 acip element
+ [Documentation] After Updated, test whether all the mandatory elements exist.
+ ... Update resources with/without tested element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.02.03 ACP D/R: priviliges, selfPrivileges attributes: With valid IPv4 acip element
+ [Documentation] After Deleted, verify by Retrieve operation. Delete resources with/without tested element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.02.04 ACP C/R: priviliges, selfPrivileges attributes: With invalid IPv4 acip element
+ [Documentation] NEGATIVE: Create with invalid ipv4 address, check error message and verify by Retrieve operation.
${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35,"acco":[{"acip":{"ipv4":["127.0.01"]}}]},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp3"
${error}= Run Keyword And Expect Error * Create Resource ${iserver} InCSE1 ${rt_acp}
... ${attr}
Should Start with ${error} Cannot create this resource [400]
Should Contain ${error} not a valid Ipv4 address
+ # TODO Verify by Retrieve no operation
-1.4 Create ACP with valid acip(ipv6)
- [Documentation] After Created, test whether all the mandatory attribtues are exist.
+3.02.05 ACP U/R: priviliges, selfPrivileges attributes: With invalid IPv4 acip element
+ [Documentation] NEGATIVE: Update with invalid ipv4 address, check error message and verify by Retrieve operation.
+ ... Update resources with/without tested element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.02.06 ACP C/R: priviliges, selfPrivileges attributes: With valid IPv6 acip element
+ [Documentation] After Created, test whether all the mandatory elements exist.
${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35,"acco":[{"acip":{"ipv6":["2001:db8:0:0:0:ff00:42:8329"]}}]},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp4"
${r}= Create Resource ${iserver} InCSE1 ${rt_acp} ${attr}
${status_code} = Status Code ${r}
Should Be Equal As Integers ${status_code} 201
${text} = Convert To String ${r.text}
Should Contain All Sub Strings ${text} "ct": "lt": "ty" "ri": "pi":
+ # TODO verify by Retrieve operation
+
+3.02.07 ACP U/R: priviliges, selfPrivileges attributes: With valid IPv6 acip element
+ [Documentation] After Updated, test whether all the mandatory elements exist. Update ACP resources with/without
+ ... tested element.
+ [Tags] not-implemented exclude
+ TODO
-1.5 Create ACP with invalid acip(ipv6)
- [Documentation] input a invalid Ipv6 address and expect error
+3.02.08 ACP D/R: priviliges, selfPrivileges attributes: With valid IPv6 acip element
+ [Documentation] After Deleted, test whether all the mandatory elements exist. Delete ACP resources with/without
+ ... tested element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.02.09 ACP C/R: priviliges, selfPrivileges attributes: With invalid IPv6 acip element
+ [Documentation] NEGATIVE: Create with invalid ipv6 address, check error message and verify by Retrieve operation.
${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35,"acco":[{"acip":{"ipv6":["2001:db8:0:0:0:ff00:42"]}}]},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp3"
${error}= Run Keyword And Expect Error * Create Resource ${iserver} InCSE1 ${rt_acp}
... ${attr}
Should Start with ${error} Cannot create this resource [400]
Should Contain ${error} not a valid Ipv6 address
+ # TODO: verify by retrieve operation
+
+3.02.10 ACP U/R: priviliges, selfPrivileges attributes: With invalid IPv6 acip element
+ [Documentation] NEGATIVE: Update with invalid ipv6 address, check error message and verify by Retrieve operation.
+ ... Update resources with/without tested element.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.01 ACP C/R: priviliges, selfPrivileges attributes: With accessControlWindow element
+ [Documentation] Create ACP with accessControlWindow element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.02 ACP U/R: priviliges, selfPrivileges attributes: With accessControlWindow element
+ [Documentation] Update the accessControlWindow element of ACP resources with/without tested element and verify
+ ... by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.03 ACP D/R: priviliges, selfPrivileges attributes: With accessControlWindow element
+ [Documentation] Delete ACP with accessControlWindow element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.04 ACP C/R: priviliges, selfPrivileges attributes: With invalid accessControlWindow element
+ [Documentation] NEGTIVE: Create ACP with invalid accessControlWindow element and check error message and
+ ... verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.05 ACP U/R: priviliges, selfPrivileges attributes: With invalid accessControlWindow element
+ [Documentation] Update the invalid value of accessControlWindow element of ACP resources with/without tested
+ ... element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.06 ACP C/R: priviliges, selfPrivileges attributes: With multiple accessControlWindow elements
+ [Documentation] Create ACP with multiple accessControlWindow elements and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.07 ACP U/R: priviliges, selfPrivileges attributes: With multiple accessControlWindow elements
+ [Documentation] Update multiple accessControlWindow elements of ACP resources with/without tested elements and verify
+ ... by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.08 ACP D/R: priviliges, selfPrivileges attributes: With multiple accessControlWindow elements
+ [Documentation] Delete ACP with multiple accessControlWindow elements and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.09 ACP C/R: priviliges, selfPrivileges attributes: With multiple invalid accessControlWindow elements
+ [Documentation] NEGTIVE: Create ACP with multiple invalid accessControlWindow elements and check error message and
+ ... verify by Retrieve operation.
+ ... Test also combinations of valid and invalid elements.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.10 ACP U/R: priviliges, selfPrivileges attributes: With multiple invalid accessControlWindow elements
+ [Documentation] Update the invalid value of accessControlWindow element of ACP resources with/without tested
+ ... element and verify by Retrieve operation.
+ ... Test also combinations of valid and invalid elements.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.11 ACP C/R: priviliges, selfPrivileges attributes: With accessControlLocationRegions element
+ [Documentation] Create ACP with accessControlLocationRegions element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.12 ACP U/R: priviliges, selfPrivileges attributes: With accessControlLocationRegions element
+ [Documentation] Update the accessControlLocationRegions element of ACP resources with/without tested element and verify
+ ... by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.13 ACP D/R: priviliges, selfPrivileges attributes: With accessControlLocationRegions element
+ [Documentation] Delete ACP with accessControlLocationRegions element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.14 ACP C/R: priviliges, selfPrivileges attributes: With invalid accessControlLocationRegions element
+ [Documentation] NEGTIVE: Create ACP with invalid accessControlLocationRegions element and check error message and
+ ... verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.15 ACP U/R: priviliges, selfPrivileges attributes: With invalid accessControlLocationRegions element
+ [Documentation] Update the invalid value of accessControlLocationRegions element of ACP resources with/without tested
+ ... element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.16 ACP C/R: priviliges, selfPrivileges attributes: With accessControlAuthenticationFlag element
+ [Documentation] Create ACP with accessControlAuthenticationFlag element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.17 ACP U/R: priviliges, selfPrivileges attributes: With accessControlAuthenticationFlag element
+ [Documentation] Update the accessControlAuthenticationFlag element of ACP resources with/without tested element and verify
+ ... by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.18 ACP D/R: priviliges, selfPrivileges attributes: With accessControlAuthenticationFlag element
+ [Documentation] Delete ACP with accessControlAuthenticationFlag element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.19 ACP C/R: priviliges, selfPrivileges attributes: With invalid accessControlAuthenticationFlag element
+ [Documentation] NEGTIVE: Create ACP with invalid accessControlAuthenticationFlag element and check error message and
+ ... verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.20 ACP U/R: priviliges, selfPrivileges attributes: With invalid accessControlAuthenticationFlag element
+ [Documentation] Update the invalid value of accessControlAuthenticationFlag element of ACP resources with/without tested
+ ... element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.21 ACP C/R: priviliges, selfPrivileges attributes: With multiple accessControlContext (acco) elements
+ [Documentation] Create ACP with multiple accessControlContext elements and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.22 ACP U/R: priviliges, selfPrivileges attributes: With multiple accessControlContext (acco) elements
+ [Documentation] Update ACP with multiple accessControlContext elements and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.23 ACP D/R: priviliges, selfPrivileges attributes: With multiple accessControlContext (acco) elements
+ [Documentation] Delete ACP with multiple accessControlContext elements and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.03.24 ACP C/R: priviliges, selfPrivileges attributes: With multiple accessControlRules elements
+ [Documentation] Create ACP with multiple accessControlRules element and verify by Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+4.01 ACP C/R: With all mandatory and optional common and specific attributes
+ [Tags] not-implemented exclude
+ TODO
+
+4.02 ACP U(modify)/R: With all mandatory and optional common and specific attributes
+ [Tags] not-implemented exclude
+ TODO
+
+4.03 ACP D/R: With all mandatory and optional common and specific attributes
+ [Tags] not-implemented exclude
+ TODO
+
+4.04 ACP Test Create and Update operations with non-existing attributes and elements
+ [Tags] not-implemented exclude
+ # TODO use the approach described in the help file
+ TODO
+
+5.00 ACP CRUD with all valid RCN values
+ [Documentation] CRUD operations with all mandatory and optiona common and specific attributes, test all RCN values
+ [Tags] not-implemented exclude
+ TODO
*** Keywords ***
Connect And Create Resource
[Arguments] ${targetURI} ${resoutceType} ${attr} ${resourceName}=${EMPTY}
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
+ ${iserver} = Connect To Iotdm ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD} http
${r} = Create Resource ${iserver} ${targetURI} ${resoutceType} ${attr} ${resourceName}
${status_code} = Status Code ${r}
Should Be Equal As Integers ${status_code} 201
LOG ${json}
${status_code} = Status Code ${r}
Should Be True 199 < ${status_code} < 299
+
+TODO
+ Fail "Not implemented"
*** Settings ***
Documentation Tests for Node resource attributes
-Suite Teardown Kill The Tree ${ODL_SYSTEM_IP} InCSE1 admin admin
+Suite Setup IOTDM Basic Suite Setup ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD}
+Suite Teardown Kill The Tree ${ODL_SYSTEM_1_IP} InCSE1 admin admin
Resource ../../../libraries/SubStrings.robot
-Library ../../../libraries/criotdm.py
+Library ../../../libraries/IoTDM/criotdm.py
Library Collections
+Resource ../../../variables/Variables.robot
+Resource ../../../libraries/IoTDM/IoTDMKeywords.robot
*** Variables ***
-${httphost} ${ODL_SYSTEM_IP}
-${httpuser} admin
-${httppass} admin
${rt_ae} 2
${rt_container} 3
${rt_contentInstance} 4
${rt_node} 14
*** Test Cases ***
-Set Suite Variable
- [Documentation] set a suite variable ${iserver}
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
- Set Suite Variable ${iserver}
- #==================================================
- # Container Mandatory Attribute Test
- #==================================================
- # For Creation, there are no mandatory input attribute
+TODO Refactor test suite and implement TCs
+ [Documentation] Refactor this test suite and implement next TCs according to 000_ResourceAttributesNotes.txt
+ ... Example of changes is in 024_ResourceAttributesAE.robot
+ [Tags] not-implemented exclude
+ TODO
1.1 After Created, test whether all the mandatory attribtues exist.
[Documentation] After Created, test whether all the mandatory attribtues exist.
Should Contain All Sub Strings ${text} "ri": "rn": "cni" "lt": "pi":
... "st": "ct": "ty":3 cbs"
Should Not Contain Any Sub Strings ${text} "lbl" "creator" "or"
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation Test suite tests CRUD operations with Group resource and its attributes.
+... TODO: implement TCs according to 000_ResourceAttributesNotes.txt
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.00 Add Test Cases
+ [Documentation] no test cases defined
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation Test suite tests addresing of entities (CSE and AE) and addressing of resources according to:
+... TS-0001: 7.2 M2M-SP-ID, CSE-ID, App-ID and AE-ID and resource Identifier formats
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.01 CRUD cseBase: Target resource ID: Unstructured, CSE-relative
+ [Documentation] Perform CRUD operations with cseBase resource using unstructured CSE-relative resource ID of the
+ ... cseBase resource. Format: <resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+1.02 CRUD cseBase: Target resource ID: Structured, CSE-relative
+ [Documentation] Perform CRUD operations with cseBase resource using structured CSE-relative resource ID of the
+ ... cseBase resource. Format: <resource Name>
+ [Tags] not-implemented exclude
+ TODO
+
+1.03 CRUD cseBase: Target resource ID: Unstructured, SP-relative
+ [Documentation] Perform CRUD operations with cseBase resource using unstructured SP-relative resource ID of the
+ ... cseBase resource. Format: /<CSE-ID>/<resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+1.04 CRUD cseBase: Target resource ID: Strucutred, SP-relative
+ [Documentation] Perform CRUD operations with cseBase resource using structured SP-relative resource ID of the
+ ... cseBase resource. Format: /<CSE-ID>/resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+1.05 CRUD cseBase: Target resource ID: Unstructured, Absolute
+ [Documentation] Perform CRUD operations with cseBase resource using unstructured absolute resource ID of the
+ ... cseBase resource. Format: //<SP FQDN>/<CSE-ID>/<resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+1.06 CRUD cseBase: Target resource ID: Strucutred, Absolute
+ [Documentation] Perform CRUD operations with cseBase resource using structured absolute resource ID of the
+ ... cseBase resource. Format: //<SP FQDN>/<CSE-ID>/<resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+2.00 Create testing resource hierarchy: cseBase/AE/Container/ContentInstances
+ [Documentation] Prepare testing resource hierarchy of cseBase/AE/Container/ContentInstances. Next tests will
+ ... perform operations with the contentInstance resources. cseBase and AE resources must have
+ ... different values set as: resource ID, resource name, CSE-ID / AE-ID.
+ [Tags] not-implemented exclude
+ TODO
+
+2.01 CRUD contentInstance: Target resource ID: Unstructured, CSE-relative
+ [Documentation] Perform CRUD operations with contentInstance resource using unstructured CSE-relative resource ID of the
+ ... contentInstance resource. Format: <resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+2.01-Negative CRUD contentInstance: Target resource ID: Unstructured, CSE-relative
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid unstructured CSE-relative
+ ... resource ID of the contentInstance resource. Verify error result in response and use retrieve
+ ... operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. resource name instead of resource ID: Format: <resource Name>
+ [Tags] not-implemented exclude
+ TODO
+
+2.02 CRUD contentInstance: Target resource ID: Structured, CSE-relative
+ [Documentation] Perform CRUD operations with contentInstance resource using structured CSE-relative resource ID of the
+ ... contentInstance resource. Format: <cseBase name>/<AE name>/<Container name>/<resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+2.02-Negative CRUD contentInstance: Target resource ID: Structured, CSE-relative
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid structured CSE-relative
+ ... resource ID of the contentInstance resource. Verify error result in response and use retrieve
+ ... operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. cseBase resource ID instead of name: Format: <cseBase resource ID>/<AE name>/<Container name>/<resource name>
+ ... 2. cseBase CSE-ID instead of name: Format: <cseBase CSE-ID>/<AE name>/<Container name>/<resource name>
+ ... 3. AE resource ID instead of name: Format: <cseBase name>/<AE resource ID>/<Container name>/<resource name>
+ ... 4. AE AE-ID instead of name: Format: <cseBase name>/<AE AE-ID>/<Container name>/<resource name>
+ ... 5. Container resource ID instead of name: Format: <cseBase name>/<AE name>/<Container resource ID>/<resource name>
+ ... 6. Target resource ID instead of name: Format: <cseBase name>/<AE name>/<Container name>/<resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+2.03 CRUD contentInstance: Target resource ID: Unstructured, SP-relative
+ [Documentation] Perform CRUD operations with contentInstance resource using unstructured SP-relative resource ID of the
+ ... contentInstance resource. Format: /<CSE-ID>/<resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+2.03-Negative CRUD contentInstance: Target resource ID: Unstructured, SP-relative
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid unstructured SP-relative
+ ... resource ID of the contentInstance resource. Verify error result in response and use retrieve
+ ... operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. cseBase resource ID instead of CSE-ID: Format: /<cseBase resource ID>/<resource ID>
+ ... 2. cseBase resource name instead of CSE-ID: Format: /<cseBase resource name>/<resource ID>
+ ... 3. Target resource name instead of ID: Format: /<CSE-ID>/<resource name>
+ ... 4. missing leading slash: Format: <CSE-ID>/<resource ID>
+ ... 5. leading double slash: Format: //<CSE-ID>/<resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+2.04 CRUD contentInstance: Target resource ID: Strucutred, SP-relative
+ [Documentation] Perform CRUD operations with contentInstance resource using structured SP-relative resource ID of the
+ ... contentInstance resource. Format: /<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+2.04-Negative CRUD contentInstance: Target resource ID: Strucutred, SP-relative
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid structured SP-relative
+ ... resource ID of the contentInstance resource. Verify error result in response and use retrieve
+ ... operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. missing slash at the begin: Format: <CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
+ ... 2. cseBase resource ID instead of CSE-ID: Format: /<cseBase resource ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
+ ... 3. cseBase resource name instead of CSE-ID: Format: /<cseBase resource name>/<cseBase name>/<AE name>/<Container name>/<resource name>
+ ... 4. cseBase resource ID instead of name: Format: /<CSE-ID>/<cseBase resource ID>/<AE name>/<Container name>/<resource name>
+ ... 5. cseBase CSE-ID instead of name: Format: /<CSE-ID>/<CSE-ID>/<AE name>/<Container name>/<resource name>
+ ... 6. target resource ID instead of resource name: Format: /<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource ID>
+ ... 7. leading double spash: Format: //<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+2.05 CRUD contentInstance: Target resource ID: Unstructured, Absolute
+ [Documentation] Perform CRUD operations with contentInstance resource using unstructured absolute resource ID of the
+ ... contentInstance resource. Format: //<SP FQDN>/<CSE-ID>/<resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+2.05-Negative CRUD contentInstance: Target resource ID: Unstructured, Absolute
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid unstructured absolute
+ ... resource ID of the contentInstance resource. Verify error result in response and use retrieve
+ ... operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. missing slash at the begin: Format: /<SP FQDN>/<CSE-ID>/<resource ID>
+ ... 2. missing double slash at the begin: Format: <SP FQDN>/<CSE-ID>/<resource ID>
+ ... 3. invalid SP FQDN: Format: //<Invalid SP FQDN>/<CSE-ID>/<resource ID>
+ ... 4. cseBase resource ID instead of CSE-ID: Format: //<SP FQDN>/<cseBase resource ID>/<resource ID>
+ ... 5. cseBase resource name instead of CSE-ID: Format: //<SP FQDN>/<cseBase resource name>/<resource ID>
+ ... 6. target resource name instead of resource ID: Format: //<SP FQDN>/<CSE-ID>/<resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+2.06 CRUD contentInstance: Target resource ID: Strucutred, Absolute
+ [Documentation] Perform CRUD operations with contentInstance resource using structured absolute resource ID of the
+ ... contentInstance resource. Format: //<SP FQDN>/<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+2.06-Negative CRUD contentInstance: Target resource ID: Strucutred, Absolute
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid structured absolute
+ ... resource ID of the contentInstance resource. Verify error result in response and use retrieve
+ ... operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. cseBase resource ID instead of name: Format: //<SP FQDN>/<CSE-ID>/<cseBase resource ID>/<AE name>/<Container name>/<resource name>
+ ... 2. cseBase CSE-ID instead of name: Format: //<SP FQDN>/<CSE-ID>/<CSE-ID>/<AE name>/<Container name>/<resource name>
+ ... 3. target resource ID instead of resource name: Format: //<SP FQDN>/<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+3.01 CRUD contentInstance: Originator ID: relative AE-ID-Stem, first character 'C'
+ [Documentation] Perform CRUD operations with contentInstance resource using relative AE-ID-Stem starting with 'C'
+ ... set in the originator parameter of requests. Format: <C-AE-ID-Stem>
+ [Tags] not-implemented exclude
+ TODO
+
+3.01-Negative CRUD contentInstance: Originator ID: relative AE-ID-Stem, first character 'C'
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid relative AE-ID-Stem starting
+ ... with 'C' set in the originator parameter of requests. Verify error result in response
+ ... and use retrieve operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. Leading slash: Format: /<C-AE-ID-Stem>
+ ... 2. Leading double slash: Format: //<C-AE-ID-Stem>
+ ... 3. AE resource ID instead of AE-ID: Format: <AE resource ID>
+ ... 4. AE resource name instead of AE-ID: Format: <AE resource name>
+ ... 5. Leading slash and AE resource ID instead of AE-ID: Format: /<AE resource ID>
+ ... 6. Leading slash and AE resource name instead of AE-ID: Format: /<AE resource name>
+ ... 7. Leading double slash and AE resource ID instead of AE-ID: Format: //<AE resource ID>
+ ... 8. Leading double slash AE resource name instead of AE-ID: Format: //<AE resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+3.02 CRUD contentInstance: Originator ID: relative AE-ID-Stem, first character 'S'
+ [Documentation] Perform CRUD operations with contentInstance resource using relative AE-ID-Stem starting with 'S'
+ ... set in the originator parameter of requests. Format: <S-AE-ID-Stem>
+ [Tags] not-implemented exclude
+ TODO
+
+3.02-Negative CRUD contentInstance: Originator ID: relative AE-ID-Stem, first character 'S'
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid relative AE-ID-Stem starting
+ ... with 'S' set in the originator parameter of requests. Verify error result in response
+ ... and use retrieve operation to verify that the resource has not been changed.
+ ... Test these cases (single leading slash is valid case when starting with 'S'):
+ ... 1. Leading double slash: Format: //<S-AE-ID-Stem>
+ [Tags] not-implemented exclude
+ TODO
+
+3.03 CRUD contentInstance: Originator ID: SP-relative AE-ID, first character 'C'
+ [Documentation] Perform CRUD operations with contentInstance resource using SP-relative AE-ID-Stem starting with 'C'
+ ... set in the originator parameter of requests. Format: /<SP-relative-CSE-ID>/<C-AE-ID-Stem>
+ [Tags] not-implemented exclude
+ TODO
+
+3.03-Negative CRUD contentInstance: Originator ID: SP-relative AE-ID, first character 'C'
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid SP-relative AE-ID-Stem
+ ... starting with 'C' set in the originator parameter of requests. Verify error result in response
+ ... and use retrieve operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. missing leading slash: Format: <SP-relative-CSE-ID>/<C-AE-ID-Stem>
+ ... 2. cseBase resource name instead of CSE-ID: Format: /<cseBase resource name>/<C-AE-ID-Stem>
+ ... 3. cseBase resource ID instead of CSE-ID: Format: /<cseBase resource ID>/<C-AE-ID-Stem>
+ ... 4. AE resource ID instead of AE-ID: Format: /<SP-relative-CSE-ID>/<AE resource ID>
+ ... 5. AE resource name instead of AE-ID: Format: /<SP-relative-CSE-ID>/<AE resource name>
+ ... 6. leading double slash: Format: //<SP-relative-CSE-ID>/<C-AE-ID-Stem>
+ [Tags] not-implemented exclude
+ TODO
+
+3.04 CRUD contentInstance: Originator ID: SP-relative AE-ID, first character 'S'
+ [Documentation] Perform CRUD operations with contentInstance resource using SP-relative AE-ID-Stem starting with 'S'
+ ... set in the originator parameter of requests. Format: /<S-AE-ID-Stem>
+ [Tags] not-implemented exclude
+ TODO
+
+3.05 CRUD contentInstance: Originator ID: Absolute AE-ID, first character 'C'
+ [Documentation] Perform CRUD operations with contentInstance resource using Absolute AE-ID starting with 'C'
+ ... set in the originator parameter of requests. Format: //<SP FQDN>/<SP-relative-CSE-ID>/<C-AE-ID-Stem>
+ [Tags] not-implemented exclude
+ TODO
+
+3.05-Negative CRUD contentInstance: Originator ID: Absolute AE-ID, first character 'C'
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid Absolute AE-ID starting with 'C'
+ ... set in the originator parameter of requests. Verify error result in response
+ ... and use retrieve operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. Missing leading slash: Format: /<SP FQDN>/<SP-relative-CSE-ID>/<C-AE-ID-Stem>
+ ... 2. Missing leading double slash: Format: <SP FQDN>/<SP-relative-CSE-ID>/<C-AE-ID-Stem>
+ ... 3. Invalid SP FQDN: Format: //<Invalid SP FQDN>/<SP-relative-CSE-ID>/<C-AE-ID-Stem>
+ ... 4. cseBase resource name instead of CSE-ID: Format: //<SP FQDN>/<cseBase resource name>/<C-AE-ID-Stem>
+ ... 5. cseBase resource ID instead of CSE-ID: Format: //<SP FQDN>/<cseBase resource ID>/<C-AE-ID-Stem>
+ ... 6. AE resource ID instead of AE-ID: Format: //<SP FQDN>/<SP-relative-CSE-ID>/<AE resource ID>
+ ... 7. AE resource name instead of AE-ID: Format: //<SP FQDN>/<SP-relative-CSE-ID>/<AE resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+3.06 CRUD contentInstance: Originator ID: Absolute AE-ID, first character 'S'
+ [Documentation] Perform CRUD operations with contentInstance resource using Absolute AE-ID starting with 'S'
+ ... set in the originator parameter of requests. Format: //<SP FQDN>/<S-AE-ID-Stem>
+ [Tags] not-implemented exclude
+ TODO
+
+3.06-Negative CRUD contentInstance: Originator ID: Absolute AE-ID, first character 'S'
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid Absolute AE-ID starting with 'S'
+ ... set in the originator parameter of requests. Verify error result in response
+ ... and use retrieve operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. Missing leading slash: Format: /<SP FQDN>/<S-AE-ID-Stem>
+ ... 2. Missing leading double slash: Format: <SP FQDN>/<S-AE-ID-Stem>
+ ... 3. Invalid SP FQDN: Format: //<Invalid SP FQDN>/<S-AE-ID-Stem>
+ ... 4. AE resource ID instead of AE-ID: Format: //<SP FQDN>/<AE resource ID>
+ ... 5. AE resource name instead of AE-ID: Format: //<SP FQDN>/<AE resource name>
+ [Tags] not-implemented exclude
+ TODO
+
+4.01 CRUD contentInstance: Originator ID: SP-relative CSE-ID
+ [Documentation] Perform CRUD operations with contentInstance resource using SP-relative CSE-ID
+ ... set in the originator parameter of requests. Format: /<CSE-ID>
+ [Tags] not-implemented exclude
+ TODO
+
+4.01-Negative CRUD contentInstance: Originator ID: SP-relative CSE-ID
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid SP-relative CSE-ID
+ ... set in the originator parameter of requests. Verify error result in response
+ ... and use retrieve operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. missing leading slash: Format: <CSE-ID>
+ ... 2. leading double slash: Format: //<CSE-ID>
+ ... 3. remoteCSE resource name instead of CSE-ID: Format: /<remoteCSE resource name>
+ ... 4. remoteCSE resource id instead of CSE-ID: Format: /<remoteCSE resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+4.02 CRUD contentInstance: Originator ID: Absolute CSE-ID
+ [Documentation] Perform CRUD operations with contentInstance resource using Absolute CSE-ID
+ ... set in the originator parameter of requests. Format: //<SP FQDN>/<CSE-ID>
+ [Tags] not-implemented exclude
+ TODO
+
+4.02-Negative CRUD contentInstance: Originator ID: Absolute CSE-ID
+ [Documentation] Perform CRUD operations with contentInstance resource using invalid Absolute CSE-ID
+ ... set in the originator parameter of requests. Verify error result in response
+ ... and use retrieve operation to verify that the resource has not been changed.
+ ... Test these cases:
+ ... 1. missing leading slash: Format: /<SP FQDN>/<CSE-ID>
+ ... 2. missing leading double slash: Format: <SP FQDN>/<CSE-ID>
+ ... 3. remoteCSE resource name instead of CSE-ID: Format: //<SP FQDN>/<remoteCSE resource name>
+ ... 4. remoteCSE resource id instead of CSE-ID: Format: //<SP FQDN>/<remoteCSE resource ID>
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
*** Settings ***
Documentation Tests deleting resources from multiple places in resource tree
-Suite Teardown Kill The Tree ${ODL_SYSTEM_IP} InCSE1 admin admin
-Library ../../../libraries/criotdm.py
+Suite Setup IOTDM Basic Suite Setup ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD}
+Suite Teardown Kill The Tree ${ODL_SYSTEM_1_IP} InCSE1 admin admin
+Library ../../../libraries/IoTDM/criotdm.py
Library Collections
+Resource ../../../variables/Variables.robot
+Resource ../../../libraries/IoTDM/IoTDMKeywords.robot
*** Variables ***
-${httphost} ${ODL_SYSTEM_IP}
-${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 "api":"jb","apn":"jb2","or":"http://hey/you","rr":true
*** Settings ***
Documentation Test for hierarchy of resources: AE/CONTAINER/CONTENTINSTANCE
-Suite Teardown Kill The Tree ${ODL_SYSTEM_IP} InCSE1 admin admin
+Suite Setup IOTDM Basic Suite Setup ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD}
+Suite Teardown Kill The Tree ${ODL_SYSTEM_1_IP} InCSE1 admin admin
Resource ../../../libraries/SubStrings.robot
-Library ../../../libraries/criotdm.py
+Library ../../../libraries/IoTDM/criotdm.py
Library Collections
+Resource ../../../variables/Variables.robot
+Resource ../../../libraries/IoTDM/IoTDMKeywords.robot
*** Variables ***
-${httphost} ${ODL_SYSTEM_IP}
-${httpuser} admin
-${httppass} admin
${rt_ae} 2
${rt_container} 3
${rt_contentInstance} 4
*** Test Cases ***
-Set Suite Variable
- [Documentation] set a suite variable ${iserver}
- #==================================================
- # AE Test
- #==================================================
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
- Set Suite Variable ${iserver}
-
1.11 Valid Input for AE without name
[Documentation] Valid Input for AE without name
${attr} = Set Variable "api":"jb","apn":"jb2","or":"http://hey/you","rr":true
*** Keywords ***
Connect And Create Resource
[Arguments] ${targetURI} ${resoutceType} ${attr}
- ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
+ ${iserver} = Connect To Iotdm ${ODL_SYSTEM_1_IP} ${ODL_RESTCONF_USER} ${ODL_RESTCONF_PASSWORD} http
${r} = Create Resource ${iserver} ${targetURI} ${resoutceType} ${attr}
${container} = Resid ${r}
${status_code} = Status Code ${r}
--- /dev/null
+*** Settings ***
+Documentation Every resource type has defined list of allowed child resources, this test suite tests Create
+... operations of valid and invalid child resources according to TS-0001 and TS-0004 OneM2M specifications.
+... TODO: add positive and negative TCs for all resource types
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.00 C/R: Negative: All resources as root resource
+ [Documentation] None root resource can be created using OneM2M API.
+ [Tags] not-implemented exclude
+ TODO
+
+2.01 C/R: Positive: All valid child resources of accessControlPolicy resource
+ [Documentation] Test Create operation with all resource types of accessControlPolicy child resources and verify by
+ ... Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+2.02 C/R: Negative: All invalid child resources of accessControlPolicy resource
+ [Documentation] Test Create operation with all invalid resource types of accessControlPolicy child resources and verify by
+ ... Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.01 C/R: Positive: All valid child resources of cseBase resource
+ [Documentation] Test Create operation with all resource types of cseBase child resources and verify by
+ ... Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+3.02 C/R: Negative: All invalid child resources of cseBase resource
+ [Documentation] Test Create operation with all invalid resource types of cseBase child resources and verify by
+ ... Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+4.01 C/R: Positive: All valid child resources of remoteCSE resource
+ [Documentation] Test Create operation with all resource types of remoteCSE child resources and verify by
+ ... Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+4.02 C/R: Negative: All invalid child resources of remoteCSE resource
+ [Documentation] Test Create operation with all invalid resource types of remoteCSE child resources and verify by
+ ... Retrieve operation.
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation This test suite verifies resource tree after restart of IoTDM.
+... Hierarchy of resources is created first, including: cseBase/AE/Container/ContentInstance
+... IoTDM is restarted and the hierarchy is verified using Retrieve operation.
+... New resources are created and verified.
+... IoTDM is restarted again and resources are verified by Retrieve operation.
+... Tests creation of new reqsources after the restart.
+... Some resources are deleted and result is verified also by retrieve operation.
+... IoTDM is restarted again and data tree is checked if all deleted resources are not present.
+... Simulates also such state when DAO plugin is not installed and IoTDM is not able to write data
+... into data store. Verifies error responses of CRUD operations.
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.00 Add Test Cases
+ [Documentation] Define testcases according to test suite documentation above.
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation Test suite tests resource specific operations of the oldest and latest resources according to
+... OneM2M specifications:
+... <oldest>: (TS-0001: 10.2.23 <oldest> Resource Procedure; TS-0004: 7.4.28.2 <oldest> Resource Specific Procedure on CRUD Operations)
+... <latest>: (TS-0001: 10.2.22 <latest> Resource Procedures; TS-0004: 7.4.27.2 <latest> Resource Specific Procedure on CRUD Operations)
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.00 Retrieve Oldest and Latest resources
+ [Documentation] Test retrieve operation of Oldest and Latest resources of containers:
+ ... 1. Container without any content instance.
+ ... 2. Container with single contentInstance, Oldest and Latest resources should be the same.
+ ... 3. Container with more than one contentInstnce, verify that the expected oldest and latest
+ ... contentInstances has been returned.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01 C/R Oldest and Latest: Verify that Create operation is not allowed
+ [Documentation] Try to create Oldest and Latest resources of containers with and without contentInstance
+ ... resources. Verify the error response and check if the container has not been changed.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02 U/R Oldest and Latest: Verify that Update operation is not allowed
+ [Documentation] Try to update Oldest and Latest resources of containers with and without contentInstance
+ ... resources. Verify the error response and check if the container has not been changed.
+ [Tags] not-implemented exclude
+ TODO
+
+1.03 Delete Oldest and Latest resources
+ [Documentation] Delete Oldest and Latest resources of containers:
+ ... 1. Container without any content instance.
+ ... 2. Container with single contentInstance and verify the Oldest, Latest and parent container.
+ ... 3. Container with more than one contentInstance and verify the Oldest, Latest and parent container.
+ ... Delete util the parent container will include only one contentInstance and verify if the
+ ... Oldest and Latest are the same.
+ ... Delete also the last contentInstance and verify Oldest, Latest and parent container.
+ [Tags] not-implemented exclude
+ TODO
+
+2.01 C/R ContentInstance: Create contentInstance and verify Oldest and Latest
+ [Documentation] Create contentInstances resource and verify Oldest and Latest in case of one contentInstance and
+ ... multiple contentInstances.
+ [Tags] not-implemented exclude
+ TODO
+
+2.02 C/R ContentInstance: Create contentInstance which violates policy - positive
+ [Documentation] Create such contentInstance resource which trigers delete of Oldest and verify.
+ [Tags] not-implemented exclude
+ TODO
+
+2.03 C/R ContentInstance: Create contentInstance which violates policy - negative
+ [Documentation] Create such contentInstance resource which results with NOT_ACCEPTABLE error and verify if
+ ... Oldest and Latest has not changed.
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation Test suite tests Container and ContentInstance resources according to OneM2M specifications:
+... <container>: (TS-0001: 10.2.4 <container> Resource Procedures; TS-0004 7.4.6 Resource Type <container>)
+... <contentInstance>: (TS-0001 10.2.19 <contentInstance> Resource Procedures; TS-0004 7.4.7 Resource Type <contentInstance>)
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.00 C/R Container, positive: With valid contentInstance resources
+ [Documentation] Create container resource with more than one contentInstance child resources.
+ ... Retrieve the container with all attributes and all child resources by one request and
+ ... verify the response.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01 C/R Container negative: Without contentInstance resources, without subscription
+ [Documentation] Create container resource without contentInstance child resources and without subscription
+ ... resource.
+ ... Retrieve the container with all attributes and all child resources by one request and
+ ... verify the error code and error message of the response.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02 C/R Container negative: Without contentInstance resources, with subscription, eventType != E
+ [Documentation] Create container resource without contentInstance child resources and with subscription resource
+ ... with eventType attribute set to other value than E.
+ ... Retrieve the container with all attributes and all child resources by one request and
+ ... verify the error code and error message of the response.
+ [Tags] not-implemented exclude
+ TODO
+
+1.03 C/R Container positive: Without contentInstance resources, with subscription, eventType == E
+ [Documentation] Create container resource without contentInstance child resources and with subscription resource
+ ... with eventType attribute set to value E.
+ ... Verify this handling scenario from TS-0001, timer will not expire in this case:
+ ... "There is a subscription on the <container> resource with the eventType 'e)'
+ ... set (oneM2M TS-0001, table 9.6.8-3) so a notification is triggered, a timer shall be set and the
+ ... Receiver shall delay the response until a <constentInstance> resource is available in the
+ ... <container> resource, or until the timer expires; in that last case the Receiver shall respond
+ ... with an error. If the Result Expiration Timestamp parameter is received from the Originator, the
+ ... timer should be set to enforce this parameter, otherwise, the timer is set, based on the local
+ ... policy configured at the Hosting CSE."
+ [Tags] not-implemented exclude
+ TODO
+
+1.04 C/R Container negative: Without contentInstance resources, with subscription, eventType == E
+ [Documentation] Create container resource without contentInstance child resources and with subscription resource
+ ... with eventType attribute set to value E.
+ ... Verify this handling scenario from TS-0001, timer will expire in this case:
+ ... "There is a subscription on the <container> resource with the eventType 'e)'
+ ... set (oneM2M TS-0001, table 9.6.8-3) so a notification is triggered, a timer shall be set and the
+ ... Receiver shall delay the response until a <constentInstance> resource is available in the
+ ... <container> resource, or until the timer expires; in that last case the Receiver shall respond
+ ... with an error. If the Result Expiration Timestamp parameter is received from the Originator, the
+ ... timer should be set to enforce this parameter, otherwise, the timer is set, based on the local
+ ... policy configured at the Hosting CSE."
+ [Tags] not-implemented exclude
+ TODO
+
+1.05 C/R Container negative: With stale contentInstance resources, without subscription
+ [Documentation] Create container resource with more than one contentInstance child resources and without
+ ... subscription resource. Let the contentInstance resources become stale.
+ ... Retrieve the container with all attributes and all child resources by one request and
+ ... verify the error code and error message of the response.
+ [Tags] not-implemented exclude
+ TODO
+
+1.06 C/R Container negative: With stale contentInstance resources, with subscription, eventType != E
+ [Documentation] Create container resource with more than one contentInstance child resources and with
+ ... subscription resource with eventType attribute set to other value than E.
+ ... Let the contentInstance resources become stale.
+ ... Retrieve the container with all attributes and all child resources by one request and
+ ... verify the error code and error message of the response.
+ [Tags] not-implemented exclude
+ TODO
+
+1.07 C/R Container positive: With stale contentInstance resources, with subscription, eventType == E
+ [Documentation] Create container resource with more than one contentInstance child resources and with
+ ... subscription resource with eventType attribute set to value E. Let the contentInstance resources
+ ... become stale.
+ ... Verify this handling scenario from TS-0001, timer will not expire in this case:
+ ... "There is a subscription on the <container> resource with the eventType 'e)'
+ ... set (oneM2M TS-0001, table 9.6.8-3) so a notification is triggered, a timer shall be set and the
+ ... Receiver shall delay the response until a <constentInstance> resource is available in the
+ ... <container> resource, or until the timer expires; in that last case the Receiver shall respond
+ ... with an error. If the Result Expiration Timestamp parameter is received from the Originator, the
+ ... timer should be set to enforce this parameter, otherwise, the timer is set, based on the local
+ ... policy configured at the Hosting CSE."
+ [Tags] not-implemented exclude
+ TODO
+
+1.08 C/R Container negative: With stale contentInstance resources, with subscription, eventType == E
+ [Documentation] Create container resource with more than one contentInstance child resources and with
+ ... subscription resource with eventType attribute set to value E. Let the contentInstance resources
+ ... become stale.
+ ... Verify this handling scenario from TS-0001, timer will expire in this case:
+ ... "There is a subscription on the <container> resource with the eventType 'e)'
+ ... set (oneM2M TS-0001, table 9.6.8-3) so a notification is triggered, a timer shall be set and the
+ ... Receiver shall delay the response until a <constentInstance> resource is available in the
+ ... <container> resource, or until the timer expires; in that last case the Receiver shall respond
+ ... with an error. If the Result Expiration Timestamp parameter is received from the Originator, the
+ ... timer should be set to enforce this parameter, otherwise, the timer is set, based on the local
+ ... policy configured at the Hosting CSE."
+ [Tags] not-implemented exclude
+ TODO
+
+2.00 C/R Containers: Prepare set of container resources for next TCs
+ [Documentation] This TC prepares container resources for testing of this procedure described in TS-0001:
+ ... "If the newly created <contentInstance> resource violates any of the policies defined in the
+ ... parent <container> resource (e.g. maxNrOfInstances or maxByteSize), then the oldest
+ ... <contentInstance> resources shall be removed from the <container> to enable the creation of the
+ ... new <contentInstance> resource."
+ [Tags] not-implemented exclude
+ TODO
+
+2.01 C/R ContentInstance: Container with maxNrOfInstances set to 3
+ [Documentation] Create at least 5 contentInstance resources in container with maxNrOfInstances
+ ... attribute set to 3 and verify result of each create operation if the first three passed and
+ ... none contentInstance deleted. Verify that the next two operations passed and oldest
+ ... contentInstance resources has been deleted.
+ [Tags] not-implemented exclude
+ TODO
+
+2.02 C/R ContentInstance: Container with maxByteSize set to N, multiple contentInstances
+ [Documentation] Create at least 5 contentInstance resources in container with maxByteSize
+ ... attribute set to N and verify result of each create operation if the first three passed and
+ ... none contentInstance deleted. Verify that the next two operations passed and oldest
+ ... contentInstance resources has been deleted.
+ [Tags] not-implemented exclude
+ TODO
+
+2.03 C/R ContentInstance: Container with maxByteSize set to N, single contentInstance
+ [Documentation] Try to create such contentInstance resource which is the first contentInstance resource of the
+ ... parent container resource and which has content size higher than N value set in maxByteSize
+ ... attribute of the parent container.
+ ... Verify if the response includes NOT_ACCEPTABLE error.
+ ... Create also contentInstance with content size equal to N and verify if such contentInstance has
+ ... been successfully created.
+ [Tags] not-implemented exclude
+ TODO
+
+2.04 C/R ContentInstance: Container with maxNrOfInstances and maxByteSize, violation of maxNrOfInstances
+ [Documentation] Create at least 5 contentInstance resources in container with maxNrOfInstances
+ ... attribute set to 3 and and maxByteSize set to N. Sum of all five contentInstance resources
+ ... content sizes is lower than N so the maxByteSize is not violated in this TC.
+ ... Verify result of create operations if the first three passed and none contentInstance is
+ ... deleted. Verify that the next two operations passed and oldest contentInstance resources has
+ ... been deleted.
+ [Tags] not-implemented exclude
+ TODO
+
+2.05 C/R ContentInstance: Container with maxNrOfInstances and maxByteSize, violation of maxByteSize
+ [Documentation] Create at least 4 contentInstance resources in container with maxNrOfInstances
+ ... attribute set to 4 and and maxByteSize set to N. Sum of all first two contentInstance
+ ... resources content sizes is lower than N so the maxByteSize is not violated by them.
+ ... Verify result of create operations if the first two passed and none contentInstance is
+ ... deleted. Verify that the next two operations passed and oldest contentInstance resources has
+ ... been deleted due to violation of the maxByteSize.
+ [Tags] not-implemented exclude
+ TODO
+
+2.06 C/R ContentInstance: Container with maxNrOfInstances and maxByteSize, no contentInstance, too big content
+ [Documentation] Create single contentInstance in container without contentInstances and with maxNrOfInstances
+ ... attribute set to 4 and maxByteSize set to N. Content size of the new contentInstance
+ ... resource is higher than N so it violates the maxByteSize and the operation results with
+ ... NOT_ACCEPTABLE error.
+ ... Verify the error received in response and verify that the contentInstanse has not been created.
+ [Tags] not-implemented exclude
+ TODO
+
+2.07 C/R ContentInstance: Container with maxNrOfInstances and maxByteSize, with contentInstance, too big content
+ [Documentation] Create single contentInstance in container with three contentInstances and with maxNrOfInstances
+ ... attribute set to 4 and maxByteSize set to N. Content size of the new contentInstance
+ ... resource is higher than N so it violates the maxByteSize and the operation results with
+ ... NOT_ACCEPTABLE error.
+ ... Verify the error received in response and verify that the contentInstanse has not been created
+ ... and no any contentInstance child resource has been deleted from the parent container.
+ [Tags] not-implemented exclude
+ TODO
+
+2.08 C/R ContentInstance: No violation after violation of maxByteSize
+ [Documentation] Use container with maxNrOfInstances set to 2 and maxByteSize set to N.
+ ... 1. Create first contentInstance which doesn't violate maxByteSize.
+ ... 2. Create second contentInstance which violates maxByteSize so the first one is deleted.
+ ... 3. Create third contentInstance which doesn't violate maxByteSize. (So 2. and 3. are there)
+ ... 4. Create fourth contentInstance with content size so big that second and third
+ ... contentInstances must be deleted.
+ [Tags] not-implemented exclude
+ TODO
+
+3.00 U/R ContentInstance: Operation not allowed
+ [Documentation] Test update operation targetted to contentInstance resource. Verify the error response if
+ ... includes OPERATION_NOT_ALLOWED and verify that the contentInstance has not been updated.
+ [Tags] not-implemented exclude
+ TODO
+
+4.00 Container stateTag: Update of the container itself
+ [Documentation] Test update of container resource and verify that stateTag attribute has been incremented.
+ [Tags] not-implemented exclude
+ TODO
+
+4.01.00 Container stateTag: Create operation of contentInstance
+ [Documentation] Test Create operation of child contentInstance resource of the container. Verify that
+ ... stateTag of the container has been incremented and stateTag of the contentInstance resource
+ ... was set to the value of container's stateTag.
+ [Tags] not-implemented exclude
+ TODO
+
+4.01.01 Container stateTag: CUD operations of child resources - contentInstance
+ [Documentation] Test CUD operations with contentInstance child resoruces of the container resource and
+ ... verify that stateTag attribute of the parent container has been incremented.
+ [Tags] not-implemented exclude
+ TODO
+
+4.01.02 Container stateTag: CUD operations of child resources - container
+ [Documentation] Test CUD operations with container child resoruces of the container parent resource and
+ ... verify that stateTag attribute of the parent container has been incremented.
+ [Tags] not-implemented exclude
+ TODO
+
+4.01.03 Container stateTag: CUD operations of child resources - subscription
+ [Documentation] Test CUD operations with subscription child resoruces of the container parent resource and
+ ... verify that stateTag attribute of the parent container has been incremented.
+ [Tags] not-implemented exclude
+ TODO
+
+4.02.01 Container stateTag + notification: CUD operations of child resources - contentInstance
+ [Documentation] Test CUD operations with contentInstance child resoruces of the container resource
+ ... with subscription.
+ ... Verify that stateTag attribute of the parent container has been incremented and it has
+ ... trigerred notification.
+ [Tags] not-implemented exclude
+ TODO
+
+4.02.02 Container stateTag + notification: CUD operations of child resources - container
+ [Documentation] Test CUD operations with container child resoruces of the container resource
+ ... with subscription.
+ ... Verify that stateTag attribute of the parent container has been incremented and it has
+ ... trigerred notification.
+ [Tags] not-implemented exclude
+ TODO
+
+4.02.03 Container stateTag + notification: CUD operations of child resources - subscription
+ [Documentation] Test CUD operations with subscription child resoruces of the container resource
+ ... with subscription.
+ ... Verify that stateTag attribute of the parent container has been incremented and it has
+ ... trigerred notification.
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation Test suite tests procedures related to Group resource and its child resources according
+... to OneM2M specifications:
+... <group>: (TS-0001: 10.2.7 Group Management Procedures; TS-0004: 7.4.13 Resource Type <group>)
+... <fanOutPoint>: (TS-0001: 10.2.7.6 <fanOutPoint> Management Procedures; TS-0004: 7.4.14 Resource Type <fanOutPoint>)
+... <semanticFanOutPoint>: (TS-0001: 10.2.7.14 Retrieve <semanticFanOutPoint>; TS-0004: 7.4.35 Resource Type <semanticFanOutPoint>)
+... <semanticDescriptor>: (TS-0001: 10.2.32 <semanticDescriptor> Resource Procedures; TS-0004: 7.4.34 Resource Type <semanticDescriptor>)
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.00 C/R valid Group resource without child resources
+ [Documentation] Create simple Group resource without child resources and verify by Retrieve operation and
+ ... check the received resource representation of includes all expected attributes.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01 C/R Group resource: valid memberIDs
+ [Documentation] Positive TC related to this Group resource Create handling step:
+ ... "TS-0001: Validate that there are no duplicate members present in the memberIDs attribute"
+ [Tags] not-implemented exclude
+ TODO
+
+1.02 C/R Group resource: invalid memberIDs
+ [Documentation] Negative TC related to this Group resource Create handling step:
+ ... "TS-0001: Validate that there are no duplicate members present in the memberIDs attribute"
+ [Tags] not-implemented exclude
+ TODO
+
+1.03 C/R Group resource: valid memberTypes
+ [Documentation] Positive TC related to this Group resource Create handling step:
+ ... "TS-0001: Validate that the resource type of every member on each member Hosting CSE
+ ... conforms to the memberType attribute in the request, if the memberType attribute of the <group>
+ ... resource is not 'mixed'. Set the memberTypeValidated attribute to TRUE upon successful validation."
+ [Tags] not-implemented exclude
+ TODO
+
+1.04 C/R Group resource: invalid memberTypes
+ [Documentation] Negative TC related to this Group resource Create handling step:
+ ... "TS-0001: Validate that the resource type of every member on each member Hosting CSE
+ ... conforms to the memberType attribute in the request, if the memberType attribute of the <group>
+ ... resource is not 'mixed'. Set the memberTypeValidated attribute to TRUE upon successful validation."
+ [Tags] not-implemented exclude
+ TODO
+
+1.05 C/R Group resource: Verify <fanOutPoint> and <semanticFanOutPoint> child resources
+ [Documentation] Test all possible scenarios related to this Group resource Create handling step:
+ ... "TS-0001: Upon successful validation of the provided attributes, create a new group resource
+ ... including the <fanOutPoint> child-resource in the Hosting CSE. If the CSE supports semantic
+ ... discovery functionality, the Hosting CSE shall also set the semanticSupportIndicator attribute
+ ... to TRUE and create the <semanticFanOutPoint> child-resource"
+ [Tags] not-implemented exclude
+ TODO
+
+1.06 C/R Group resource: Verify memberTypeValidated attribute
+ [Documentation] Test all possible scenarios related to this Group resource Create handling steps:
+ ... "TS-0001: Conditionally, in the case that the group resource contains temporarily unreachable
+ ... Hosting CSE of sub-group resources as member resource, set the memberTypeValidated attribute
+ ... of the <group> resource to FALSE"
+ ... "TS-0001: Respond to the Originator with the appropriate generic Response with the
+ ... representation of the <group> resource if the memberTypeValidated attribute is FALSE, and the
+ ... address of the created <group> resource if the CREATE was successful"
+ [Tags] not-implemented exclude
+ TODO
+
+1.07 C/R Group resource: resource become reachable
+ [Documentation] Test all possible scenarios related to this Group resource Create handling step:
+ ... "TS-0001: As soon as any Hosting CSE that hosts the unreachable resource becomes reachable,
+ ... the memberType validation procedure shall be performed. If the memberType validation fails,
+ ... the Hosting CSE shall deal with the <group> resource according to the policy defined by the
+ ... consistencyStrategy attribute of the <group> resource provided in the request or by default if
+ ... the attribute is not provided"
+ [Tags] not-implemented exclude
+ TODO
+
+2.01 U/R Group resource: valid memberIDs
+ [Documentation] Positive TC related to this Group resource Create handling step:
+ ... "TS-0001: Validate that there are no duplicate members present in the memberIDs attribute"
+ [Tags] not-implemented exclude
+ TODO
+
+2.02 U/R Group resource: invalid memberIDs
+ [Documentation] Negative TC related to this Group resource Create handling step:
+ ... "TS-0001: Validate that there are no duplicate members present in the memberIDs attribute"
+ [Tags] not-implemented exclude
+ TODO
+
+2.03 U/R Group resource: valid memberTypes
+ [Documentation] Positive TC related to this Group resource Create handling step:
+ ... "TS-0001: Validate that the resource type of every member on each member Hosting CSE
+ ... conforms to the memberType attribute in the request, if the memberType attribute of the <group>
+ ... resource is not 'mixed'. Set the memberTypeValidated attribute to TRUE upon successful validation."
+ [Tags] not-implemented exclude
+ TODO
+
+2.04 U/R Group resource: invalid memberTypes
+ [Documentation] Negative TC related to this Group resource Create handling step:
+ ... "TS-0001: Validate that the resource type of every member on each member Hosting CSE
+ ... conforms to the memberType attribute in the request, if the memberType attribute of the <group>
+ ... resource is not 'mixed'. Set the memberTypeValidated attribute to TRUE upon successful validation."
+ [Tags] not-implemented exclude
+ TODO
+
+2.05 U/R Group resource: Verify memberTypeValidated attribute
+ [Documentation] Test all possible scenarios related to this Group resource Create handling steps:
+ ... "TS-0001: Conditionally, in the case that the <group> resource contains temporarily unreachable
+ ... Hosting CSE of sub-group resources as members resource set the memberTypeValidated attribute of
+ ... the <group> resource to FALSE"
+ ... "TS-0001: Respond to the Originator with the appropriate generic response with the
+ ... representation of the <group> resource if the memberTypeValidated attribute is FALSE, and the
+ ... address of the created <group> resource if the UPDATE is successful"
+ [Tags] not-implemented exclude
+ TODO
+
+2.06 U/R Group resource: resource become reachable
+ [Documentation] Test all possible scenarios related to this Group resource Create handling step:
+ ... "TS-0001: As soon as any Hosting CSE that hosts unreachable resource becomes reachable, the
+ ... memberType validation procedure shall be performed. If the memberType validation fails, the
+ ... Hosting CSE shall deal with the <group> resource according to the policy defined by the
+ ... consistencyStrategy attribute of the <group> resource provided in the request, or by default if
+ ... the attribute is not provided"
+ [Tags] not-implemented exclude
+ TODO
+
+3. CRUD fanOutPoint resource
+ [Documentation] Test CRUD operations targetted to fanOutPoint child resource of Group resource.
+ ... TODO: Split this TC if needed
+ [Tags] not-implemented exclude
+ TODO
+
+4. CRUD semanticFanOutPoint and semanticDescriptor resources
+ [Documentation] Test CRUD operations targetted to semanticFanOutPoint and semanticDescriptor resources.
+ ... TODO: Split this TC if needed
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation Test suite tests access controll procedures related to accessControlPolicy resource described
+... in OneM2M specifications:
+... TS-0001: 9.6.2 Resource Type accessControlPolicy
+... TS-0004: 7.3.3.15 Check authorization of the originator
+... TS-0003: 7.1 Access Control Mechanism
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.01.01 ACP cseBase: Permit: privileges: AE, CRUD
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set to
+ ... CRUD operations. Test CRUD requests which are permitted by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.02 ACP cseBase: Deny: privileges: AE, CRUD
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set to
+ ... CRUD operations. Test CRUD requests which are denied by ACP due to different request originator
+ ... AE-ID or CSE as originator.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.03 ACP cseBase: Deny: privileges: AE, other than REQ operations
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set to
+ ... all operations expect to the operation used in the request.
+ ... Test CRUD requests which are denied by ACP due to non-permitted operation.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.04 ACP cseBase: Permit: privileges: AE, N
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to N operation. Test the notification request which is permitted by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.05 ACP cseBase: Deny: privileges: AE, N
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to N operation. Test notify reques which is denied by ACP due to different request originator
+ ... AE-ID or CSE as originator.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.06 ACP cseBase: Deny: privileges: AE, CRUD + Discovery
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUD + Discovery operations. Test CRUD + Discovery requests which are denied by ACP because
+ ... the notify operation is not permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.07 ACP cseBase: Permit: privileges: AE, Discovery
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to Discovery operation. Test the discovery request which is permitted by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.08 ACP cseBase: Deny: privileges: AE, Discovery
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to Discovery operation. Test discovery request which is denied by ACP due to different request
+ ... originator AE-ID or CSE as originator.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.09 ACP cseBase: Deny: privileges: AE, CRUDN
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN operations. Test discovery request which is denied by ACP because the discovery operation
+ ... is not permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.10 ACP cseBase: Permit: privileges: AE, CRUDN + Discovery, multiple accessControlRules
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with three
+ ... accessControlRules and only one of them permits tested requests. Used ACPs have set AE-ID in
+ ... accessControlOriginators and accessControlOperations set to CRUDN + Discovery operations.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.11 ACP cseBase: Permit: selfPrivileges: AE, CRUDN + Discovery, multiple accessControlRules
+ [Documentation] Test ACPs of cseBase and test their selfPrivileges with three
+ ... accessControlRules and only one of them permits tested requests. Used ACPs have set AE-ID in
+ ... accessControlOriginators and accessControlOperations set to CRUDN + Discovery operations.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.12 ACP cseBase: Deny: selfPrivileges: AE, CRUDN + Discovery, multiple accessControlRules
+ [Documentation] Test ACPs of cseBase and test their selfPrivileges with three
+ ... accessControlRules and all of them deny tested requests. Used ACPs have set AE-ID in
+ ... accessControlOriginators and accessControlOperations set to CRUDN + Discovery operations.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.13 ACP cseBase: Permit: AE, CRUDN + Discovery, accessControlContexts/accessControlWindow
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlWindow and tested requests
+ ... meet all cryteria and are permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.14 ACP cseBase: Deny: AE, CRUDN + Discovery, accessControlContexts/accessControlWindow
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlWindow and tested requests
+ ... do not meet this cryteria and are denied.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.15 ACP cseBase: Permit: AE, CRUDN + Discovery, accessControlContexts/accessControlIpAddresses/ipv4Addresses
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlIpAddresses/ipv4Addresses
+ ... and tested requests meet all cryteria and are permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.16 ACP cseBase: Deny: AE, CRUDN + Discovery, accessControlContexts/accessControlIpAddresses/ipv4Addresses
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlIpAddresses/ipv4Addresses
+ ... and tested requests do not meet this cryteria and are denied.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.17 ACP cseBase: Permit: AE, CRUDN + Discovery, accessControlContexts/accessControlIpAddresses/ipv6Addresses
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlIpAddresses/ipv6Addresses
+ ... and tested requests meet all cryteria and are permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.18 ACP cseBase: Deny: AE, CRUDN + Discovery, accessControlContexts/accessControlIpAddresses/ipv6Addresses
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlIpAddresses/ipv6Addresses
+ ... and tested requests do not meet this cryteria and are denied.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.19 ACP cseBase: Permit: AE, CRUDN + Discovery, accessControlContexts/accessControlLocationRegions
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlLocationRegions
+ ... and tested requests meet all cryteria and are permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.20 ACP cseBase: Deny: AE, CRUDN + Discovery, accessControlContexts/accessControlLocationRegions
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlLocationRegions
+ ... and tested requests do not meet this cryteria and are denied.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.21 ACP cseBase: Permit: AE, CRUDN + Discovery, accessControlObjectDetails
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlObjectDetails
+ ... and tested requests meet all cryteria and are permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.22 ACP cseBase: Deny: AE, CRUDN + Discovery, accessControlObjectDetails
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlObjectDetails
+ ... and tested requests do not meet this cryteria and are denied.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.23 ACP cseBase: Permit: AE, CRUDN + Discovery, accessControlAuthenticationFlag
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlAuthenticationFlag
+ ... and tested requests meet all cryteria and are permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.01.24 ACP cseBase: Deny: AE, CRUDN + Discovery, accessControlAuthenticationFlag
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to AE-ID and accessControlOperations set
+ ... to CRUDN + Discovery operations. Used ACPs have set also accessControlAuthenticationFlag
+ ... and tested requests do not meet this cryteria and are denied.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.01 ACP cseBase: Permit: existing Group including originator, CRUD
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to existing Group with the request originator
+ ... included and accessControlOperations set
+ ... to CRUD operations. Test CRUD requests which are permitted by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.02 ACP cseBase: Deny: not existing Group including originator, CRUD
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to not existing Group with the
+ ... request originator included and accessControlOperations set to CRUD operations.
+ ... Test CRUD requests which are denied by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.03 ACP cseBase: Deny: existing Group not including originator, CRUD
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to existing Group without the request
+ ... originator included and accessControlOperations set to CRUD operations. Test CRUD requests which
+ ... are denied by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.04 ACP cseBase: Deny: existing Group including originator, other than request operations
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to existing Group with the request originator
+ ... included and accessControlOperations set
+ ... to CRUD operations other than operation used in request so the requests are denied.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.05 ACP cseBase: Permit: existing Group including originator, N
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to existing Group with the request originator
+ ... included and accessControlOperations set to notify operation. Test notify requests which are
+ ... permitted by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.06 ACP cseBase: Deny: not existing Group including originator, N
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to not existing Group with the
+ ... request originator included and accessControlOperations set to notify operation.
+ ... Test notify requests which are denied by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.07 ACP cseBase: Deny: existing Group not including originator, N
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to existing Group without the request
+ ... originator included and accessControlOperations set to notify operation. Test notify requests which
+ ... are denied by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.08 ACP cseBase: Deny: existing Group including originator, CRUD + Discovery
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to existing Group with the request originator
+ ... included and accessControlOperations set
+ ... to CRUD + Discovery operations so the tested notification requests are denied.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.09 ACP cseBase: Permit: existing Group including originator, Discovery
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to existing Group with the request originator
+ ... included and accessControlOperations set to discovery operation. Test discovery requests which are
+ ... permitted by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.10 ACP cseBase: Deny: not existing Group including originator, Discovery
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to not existing Group with the
+ ... request originator included and accessControlOperations set to discovery operation.
+ ... Test discovery requests which are denied by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.11 ACP cseBase: Deny: existing Group not including originator, Discovery
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to existing Group without the request
+ ... originator included and accessControlOperations set to discovery operation. Test discovery requests which
+ ... are denied by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02.12 ACP cseBase: Deny: existing Group including originator, CRUDN
+ [Documentation] Test ACP of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to existing Group with the request originator
+ ... included and accessControlOperations set
+ ... to CRUDN operations so the tested discovery requests are denied.
+ [Tags] not-implemented exclude
+ TODO
+
+1.03.01 ACP cseBase: Permit: All, CRUD
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to All and accessControlOperations set to
+ ... CRUD operations. Test CRUD requests which are permitted by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.03.02 ACP cseBase: Deny: All, other than REQ operations
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to All and accessControlOperations set to
+ ... all operations expect to the operation used in the request.
+ ... Test CRUD requests which are denied by ACP due to non-permitted operation.
+ [Tags] not-implemented exclude
+ TODO
+
+1.03.03 ACP cseBase: Permit: All, N
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to All and accessControlOperations set
+ ... to N operation. Test the notification request which is permitted by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.03.04 ACP cseBase: Deny: All, CRUD + Discovery
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to All and accessControlOperations set
+ ... to CRUD + Discovery operations. Test CRUD + Discovery requests which are denied by ACP because
+ ... the notify operation is not permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.03.05 ACP cseBase: Permit: All, Discovery
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to All and accessControlOperations set
+ ... to Discovery operation. Test the discovery request which is permitted by ACP.
+ [Tags] not-implemented exclude
+ TODO
+
+1.03.06 ACP cseBase: Deny: All, CRUDN
+ [Documentation] Test ACPs of cseBase which are used by target container resource. Test only privileges with single
+ ... accessControlRule with accessControlOriginators set to All and accessControlOperations set
+ ... to CRUDN operations. Test discovery request which is denied by ACP because the discovery operation
+ ... is not permitted.
+ [Tags] not-implemented exclude
+ TODO
+
+1.04 ACP cseBase: accessControlOriginators CSE
+ [Documentation] Implement the same scenario as in 1.01.01 - 1.01.09 but with accessControlOriginators set to
+ ... specific CSE-ID(s). Split into multiple TCs if needed.
+ [Tags] not-implemented exclude
+ TODO
+
+1.05 ACP cseBase: accessControlOriginators role
+ [Documentation] Implement the same scenario as in 1.01.01 - 1.01.09 but with accessControlOriginators set to
+ ... specific role(s). Split into multiple TCs if needed.
+ [Tags] not-implemented exclude
+ TODO
+
+1.06 ACP cseBase: accessControlOriginators domain
+ [Documentation] Implement the same scenario as in 1.01.01 - 1.01.09 but with accessControlOriginators set to
+ ... specific domain(s). Split into multiple TCs if needed.
+ [Tags] not-implemented exclude
+ TODO
+
+2.00 ACP remoteCSE
+ [Documentation] Implement the same scenario as in 1.01.01 - 1.01.09 but with ACP resource created as child
+ ... resource of remoteCSE resource. Split into multiple TCs if needed.
+ [Tags] not-implemented exclude
+ TODO
+
+3.00 ACP AE
+ [Documentation] Implement the same scenario as in 1.01.01 - 1.01.09 but with ACP resource created as child
+ ... resource of AE resource. Split into multiple TCs if needed.
+ [Tags] not-implemented exclude
+ TODO
+
+4.01 ACP system default
+ [Documentation] Test multiple scenarios with resources with empty accessControlPolicyIDs attribute.
+ ... System default policy should be used.
+ ... Split into multiple TCs if needed.
+ [Tags] not-implemented exclude
+ TODO
+
+5.01 ACP cseBase: resources without accessControlPolicyIDs
+ [Documentation] Test ACP procedures with resources without accessControlPolicyIDs attribute,
+ ... e.g.: Oldest, Latest, etc.
+ ... ACP IDs defined for parent resource should be used in such cases. Test also cases when also
+ ... parent resource doesn't have specified ACP IDs, system default ACP should be used.
+ ... Split into multiple TCs if needed.
+ [Tags] not-implemented exclude
+ TODO
+
+6.01 ACP cseBase: announced resources
+ [Documentation] Test ACP procedures with announced resources.
+ ... Split into multiple TCs if needed.
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation Tests registration of AE and CSE entities resulting in creation of
+... AE and remoteCSE resources.
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.00 Add Test Cases
+ [Documentation] no all test cases defined
+ [Tags] not-implemented exclude
+ TODO
+
+1.01 Create AE with resourceName
+ [Documentation] Register AE using request primitive with resourceName specified. The resourceName
+ ... parameter is used as AE-ID.
+ ... Verify successful registration using retrieve operation with the new resource.
+ [Tags] not-implemented exclude
+ TODO
+
+1.02 Create AE without resourceName
+ [Documentation] Register AE using request primitive without resourceName specified. From parameter
+ ... is used as AE-ID.
+ ... Verify successful registration using retrieve operation with the new resource.
+ [Tags] not-implemented exclude
+ TODO
+
+1.03 Create AE with conflicting AE-ID and with resourceName
+ [Documentation] Register AE using request primitive with resourceName specified. The resourceName
+ ... parameter is used as AE-ID but it is AE-ID of already registered AE so the registration
+ ... fails.
+ ... Verify the resource in conflict using retrieve operation before and after registration attempt.
+ [Tags] not-implemented exclude
+ TODO
+
+1.04 Create AE with conflicting AE-ID and without resourceName
+ [Documentation] Register AE using request primitive without resourceName specified. From parameter
+ ... is used as AE-ID but it is AE-ID of already registered AE so the registration
+ ... fails.
+ ... Verify the resource in conflict using retrieve operation before and after registration attempt.
+ [Tags] not-implemented exclude
+ TODO
+
+2.01 Create remoteCSE with resourceName == CSE-ID
+ [Documentation] Register CSE using request primitive with resourceName specified. The resourceName
+ ... parameter is equal to CSE-ID.
+ ... Verify successful registration using retrieve operation with the new resource.
+ [Tags] not-implemented exclude
+ TODO
+
+2.02 Create remoteCSE with resourceName != CSE-ID
+ [Documentation] Register CSE using request primitive with resourceName specified. The resourceName
+ ... parameter is different than CSE-ID.
+ ... Verify successful registration using retrieve operation with the new resource.
+ [Tags] not-implemented exclude
+ TODO
+
+2.03 Create remoteCSE without resourceName
+ [Documentation] Register CSE using request primitive without resourceName specified.
+ ... Verify successful registration using retrieve operation with the new resource.
+ [Tags] not-implemented exclude
+ TODO
+
+2.04 Create remoteCSE with conflicting CSE-ID and non-conflicting resourceName
+ [Documentation] Register CSE using request primitive with resourceName specified. The resourceName
+ ... parameter is unique but CSE-ID is in conflict with already registered CSE so the registration
+ ... fails.
+ ... Verify the resource in conflict using retrieve operation before and after registration attempt.
+ [Tags] not-implemented exclude
+ TODO
+
+2.05 Create remoteCSE with conflicting CSE-ID and without resourceName
+ [Documentation] Register CSE using request primitive without resourceName specified. The CSE-ID is in conflict
+ ... with already registered CSE so the registration fails.
+ ... Verify the resource in conflict using retrieve operation before and after registration attempt.
+ [Tags] not-implemented exclude
+ TODO
+
+2.06 Create remoteCSE with uniqeu CSE-ID and conflicting resourceName
+ [Documentation] Register CSE using request primitive with resourceName specified. The resourceName
+ ... parameter is conflict with already registered CSE so the registration fails.
+ ... Verify the resource in conflict using retrieve operation before and after registration attempt.
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"
--- /dev/null
+*** Settings ***
+Documentation Test suite testing IoTDM security methods without authentication of the request sender entity.
+... Test cases are implemented according to tables in 000_IoTDMSecurityNoAuthTable.txt
+... TODO: It seems that data driven approach is much more appropriate for implementation
+... of TCs described below which can be merged as needed.
+Suite Setup Create Session session http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+Suite Teardown Delete All Sessions
+Library RequestsLibrary
+Library ../../../libraries/Common.py
+Resource ../../../libraries/Utils.robot
+Resource ../../../variables/Variables.robot
+
+*** Variables ***
+
+*** Test Cases ***
+1.00 L0: Verify configured security level
+ [Documentation] Verifies if the security level configured for IoTDM core and used protocol provider is L0
+ [Tags] not-implemented exclude
+ TODO
+
+1.01 L0: Local CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+1.02 L0: Local CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+1.03 L0: Remote CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+1.04 L0: Remote CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+2.00 L1: Configure security level L1 in IoTDM core
+ [Documentation] Changes security level of IoTDM core from L0 to L1 and verifies.
+ [Tags] not-implemented exclude
+ TODO
+
+2.01 L1: IoTDM core: Local CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+2.02 L1: IoTDM core: Local CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+2.03 L1: IoTDM core: Remote CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+2.04 L1: IoTDM core: Remote CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+2.99 Configure security level L0 in IoTDM core
+ [Documentation] Changes security level of IoTDM core back to L0 and verifies.
+ [Tags] not-implemented exclude
+ TODO
+
+3.00 L1: Configure security level L1 in OneM2M HTTP module
+ [Documentation] Changes security level of OneM2M HTTP module from L0 to L1 and verifies. Security level
+ ... of IoTDM core is still set to L0 (so L1 security is applied to HTTP requests).
+ [Tags] not-implemented exclude
+ TODO
+
+3.01 L1: HTTP: Local CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+3.02 L1: HTTP: Local CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+3.03 L1: HTTP: Remote CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+3.04 L1: HTTP: Remote CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+3.99 L1: Configure security level L0 in OneM2M HTTP module
+ [Documentation] Changes security level of OneM2M HTTP module back to L0 and verifies.
+ [Tags] not-implemented exclude
+ TODO
+
+4.00 L1: Configure security level L1 in OneM2M CoAP module
+ [Documentation] Changes security level of OneM2M CoAP module from L0 to L1 and verifies. Security level
+ ... of IoTDM core is still set to L0 (so L1 security is applied to CoAP requests).
+ [Tags] not-implemented exclude
+ TODO
+
+4.01 L1: CoAP: Local CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+4.02 L1: CoAP: Local CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+4.03 L1: CoAP: Remote CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+4.04 L1: CoAP: Remote CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+4.99 L1: Configure security level L0 in OneM2M CoAP module
+ [Documentation] Changes security level of OneM2M CoAP module back to L0 and verifies.
+ [Tags] not-implemented exclude
+ TODO
+
+5.00 L1: Configure security level L1 in OneM2M MQTT module
+ [Documentation] Changes security level of OneM2M MQTT module from L0 to L1 and verifies. Security level
+ ... of IoTDM core is still set to L0 (so L1 security is applied to MQTT requests).
+ [Tags] not-implemented exclude
+ TODO
+
+5.01 L1: MQTT: Local CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+5.02 L1: MQTT: Local CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+5.03 L1: MQTT: Remote CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+5.04 L1: MQTT: Remote CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+5.99 L1: Configure security level L0 in OneM2M MQTT module
+ [Documentation] Changes security level of OneM2M MQTT module back to L0 and verifies.
+ [Tags] not-implemented exclude
+ TODO
+
+6.00 L1: Configure security level L1 in OneM2M WS module
+ [Documentation] Changes security level of OneM2M WS module from L0 to L1 and verifies. Security level
+ ... of IoTDM core is still set to L0 (so L1 security is applied to WS requests).
+ [Tags] not-implemented exclude
+ TODO
+
+6.01 L1: WS: Local CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+6.02 L1: WS: Local CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to local CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+6.03 L1: WS: Remote CSE as target, AE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by AE
+ [Tags] not-implemented exclude
+ TODO
+
+6.04 L1: WS: Remote CSE as target, CSE as originator
+ [Documentation] Tests positive and negative cases of requests targetted to remote CSE and originated by CSE
+ [Tags] not-implemented exclude
+ TODO
+
+6.99 L1: Configure security level L0 in OneM2M WS module
+ [Documentation] Changes security level of OneM2M WS module back to L0 and verifies.
+ [Tags] not-implemented exclude
+ TODO
+
+*** Keywords ***
+TODO
+ Fail "Not implemented"