Non passing validations now cause HTTP 400 error
[integration/test.git] / csit / suites / iotdm / basic / 090_ResourceHierarchyAddressing.robot
1 *** Settings ***
2 Documentation     Test suite tests addresing of entities (CSE and AE) and addressing of resources according to:
3 ...               TS-0001: 7.2 M2M-SP-ID, CSE-ID, App-ID and AE-ID and resource Identifier formats
4 Suite Setup       Create Session    session    http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
5 Suite Teardown    Delete All Sessions
6 Library           RequestsLibrary
7 Library           ../../../libraries/Common.py
8 Resource          ../../../libraries/Utils.robot
9 Resource          ../../../variables/Variables.robot
10
11 *** Variables ***
12
13 *** Test Cases ***
14 1.01 CRUD cseBase: Target resource ID: Unstructured, CSE-relative
15     [Documentation]    Perform CRUD operations with cseBase resource using unstructured CSE-relative resource ID of the
16     ...    cseBase resource. Format: <resource ID>
17     [Tags]    not-implemented    exclude
18     TODO
19
20 1.02 CRUD cseBase: Target resource ID: Structured, CSE-relative
21     [Documentation]    Perform CRUD operations with cseBase resource using structured CSE-relative resource ID of the
22     ...    cseBase resource. Format: <resource Name>
23     [Tags]    not-implemented    exclude
24     TODO
25
26 1.03 CRUD cseBase: Target resource ID: Unstructured, SP-relative
27     [Documentation]    Perform CRUD operations with cseBase resource using unstructured SP-relative resource ID of the
28     ...    cseBase resource. Format: /<CSE-ID>/<resource ID>
29     [Tags]    not-implemented    exclude
30     TODO
31
32 1.04 CRUD cseBase: Target resource ID: Strucutred, SP-relative
33     [Documentation]    Perform CRUD operations with cseBase resource using structured SP-relative resource ID of the
34     ...    cseBase resource. Format: /<CSE-ID>/resource name>
35     [Tags]    not-implemented    exclude
36     TODO
37
38 1.05 CRUD cseBase: Target resource ID: Unstructured, Absolute
39     [Documentation]    Perform CRUD operations with cseBase resource using unstructured absolute resource ID of the
40     ...    cseBase resource. Format: //<SP FQDN>/<CSE-ID>/<resource ID>
41     [Tags]    not-implemented    exclude
42     TODO
43
44 1.06 CRUD cseBase: Target resource ID: Strucutred, Absolute
45     [Documentation]    Perform CRUD operations with cseBase resource using structured absolute resource ID of the
46     ...    cseBase resource. Format: //<SP FQDN>/<CSE-ID>/<resource name>
47     [Tags]    not-implemented    exclude
48     TODO
49
50 2.00 Create testing resource hierarchy: cseBase/AE/Container/ContentInstances
51     [Documentation]    Prepare testing resource hierarchy of cseBase/AE/Container/ContentInstances. Next tests will
52     ...    perform operations with the contentInstance resources. cseBase and AE resources must have
53     ...    different values set as: resource ID, resource name, CSE-ID / AE-ID.
54     [Tags]    not-implemented    exclude
55     TODO
56
57 2.01 CRUD contentInstance: Target resource ID: Unstructured, CSE-relative
58     [Documentation]    Perform CRUD operations with contentInstance resource using unstructured CSE-relative resource ID of the
59     ...    contentInstance resource. Format: <resource ID>
60     [Tags]    not-implemented    exclude
61     TODO
62
63 2.01-Negative CRUD contentInstance: Target resource ID: Unstructured, CSE-relative
64     [Documentation]    Perform CRUD operations with contentInstance resource using invalid unstructured CSE-relative
65     ...    resource ID of the contentInstance resource. Verify error result in response and use retrieve
66     ...    operation to verify that the resource has not been changed.
67     ...    Test these cases:
68     ...    1. resource name instead of resource ID: Format: <resource Name>
69     [Tags]    not-implemented    exclude
70     TODO
71
72 2.02 CRUD contentInstance: Target resource ID: Structured, CSE-relative
73     [Documentation]    Perform CRUD operations with contentInstance resource using structured CSE-relative resource ID of the
74     ...    contentInstance resource. Format: <cseBase name>/<AE name>/<Container name>/<resource name>
75     [Tags]    not-implemented    exclude
76     TODO
77
78 2.02-Negative CRUD contentInstance: Target resource ID: Structured, CSE-relative
79     [Documentation]    Perform CRUD operations with contentInstance resource using invalid structured CSE-relative
80     ...    resource ID of the contentInstance resource. Verify error result in response and use retrieve
81     ...    operation to verify that the resource has not been changed.
82     ...    Test these cases:
83     ...    1. cseBase resource ID instead of name: Format: <cseBase resource ID>/<AE name>/<Container name>/<resource name>
84     ...    2. cseBase CSE-ID instead of name: Format: <cseBase CSE-ID>/<AE name>/<Container name>/<resource name>
85     ...    3. AE resource ID instead of name: Format: <cseBase name>/<AE resource ID>/<Container name>/<resource name>
86     ...    4. AE AE-ID instead of name: Format: <cseBase name>/<AE AE-ID>/<Container name>/<resource name>
87     ...    5. Container resource ID instead of name: Format: <cseBase name>/<AE name>/<Container resource ID>/<resource name>
88     ...    6. Target resource ID instead of name: Format: <cseBase name>/<AE name>/<Container name>/<resource ID>
89     [Tags]    not-implemented    exclude
90     TODO
91
92 2.03 CRUD contentInstance: Target resource ID: Unstructured, SP-relative
93     [Documentation]    Perform CRUD operations with contentInstance resource using unstructured SP-relative resource ID of the
94     ...    contentInstance resource. Format: /<CSE-ID>/<resource ID>
95     [Tags]    not-implemented    exclude
96     TODO
97
98 2.03-Negative CRUD contentInstance: Target resource ID: Unstructured, SP-relative
99     [Documentation]    Perform CRUD operations with contentInstance resource using invalid unstructured SP-relative
100     ...    resource ID of the contentInstance resource. Verify error result in response and use retrieve
101     ...    operation to verify that the resource has not been changed.
102     ...    Test these cases:
103     ...    1. cseBase resource ID instead of CSE-ID: Format: /<cseBase resource ID>/<resource ID>
104     ...    2. cseBase resource name instead of CSE-ID: Format: /<cseBase resource name>/<resource ID>
105     ...    3. Target resource name instead of ID: Format: /<CSE-ID>/<resource name>
106     ...    4. missing leading slash: Format: <CSE-ID>/<resource ID>
107     ...    5. leading double slash: Format: //<CSE-ID>/<resource ID>
108     [Tags]    not-implemented    exclude
109     TODO
110
111 2.04 CRUD contentInstance: Target resource ID: Strucutred, SP-relative
112     [Documentation]    Perform CRUD operations with contentInstance resource using structured SP-relative resource ID of the
113     ...    contentInstance resource. Format: /<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
114     [Tags]    not-implemented    exclude
115     TODO
116
117 2.04-Negative CRUD contentInstance: Target resource ID: Strucutred, SP-relative
118     [Documentation]    Perform CRUD operations with contentInstance resource using invalid structured SP-relative
119     ...    resource ID of the contentInstance resource. Verify error result in response and use retrieve
120     ...    operation to verify that the resource has not been changed.
121     ...    Test these cases:
122     ...    1. missing slash at the begin: Format: <CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
123     ...    2. cseBase resource ID instead of CSE-ID: Format: /<cseBase resource ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
124     ...    3. cseBase resource name instead of CSE-ID: Format: /<cseBase resource name>/<cseBase name>/<AE name>/<Container name>/<resource name>
125     ...    4. cseBase resource ID instead of name: Format: /<CSE-ID>/<cseBase resource ID>/<AE name>/<Container name>/<resource name>
126     ...    5. cseBase CSE-ID instead of name: Format: /<CSE-ID>/<CSE-ID>/<AE name>/<Container name>/<resource name>
127     ...    6. target resource ID instead of resource name: Format: /<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource ID>
128     ...    7. leading double spash: Format: //<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
129     [Tags]    not-implemented    exclude
130     TODO
131
132 2.05 CRUD contentInstance: Target resource ID: Unstructured, Absolute
133     [Documentation]    Perform CRUD operations with contentInstance resource using unstructured absolute resource ID of the
134     ...    contentInstance resource. Format: //<SP FQDN>/<CSE-ID>/<resource ID>
135     [Tags]    not-implemented    exclude
136     TODO
137
138 2.05-Negative CRUD contentInstance: Target resource ID: Unstructured, Absolute
139     [Documentation]    Perform CRUD operations with contentInstance resource using invalid unstructured absolute
140     ...    resource ID of the contentInstance resource. Verify error result in response and use retrieve
141     ...    operation to verify that the resource has not been changed.
142     ...    Test these cases:
143     ...    1. missing slash at the begin: Format: /<SP FQDN>/<CSE-ID>/<resource ID>
144     ...    2. missing double slash at the begin: Format: <SP FQDN>/<CSE-ID>/<resource ID>
145     ...    3. invalid SP FQDN: Format: //<Invalid SP FQDN>/<CSE-ID>/<resource ID>
146     ...    4. cseBase resource ID instead of CSE-ID: Format: //<SP FQDN>/<cseBase resource ID>/<resource ID>
147     ...    5. cseBase resource name instead of CSE-ID: Format: //<SP FQDN>/<cseBase resource name>/<resource ID>
148     ...    6. target resource name instead of resource ID: Format: //<SP FQDN>/<CSE-ID>/<resource name>
149     [Tags]    not-implemented    exclude
150     TODO
151
152 2.06 CRUD contentInstance: Target resource ID: Strucutred, Absolute
153     [Documentation]    Perform CRUD operations with contentInstance resource using structured absolute resource ID of the
154     ...    contentInstance resource. Format: //<SP FQDN>/<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource name>
155     [Tags]    not-implemented    exclude
156     TODO
157
158 2.06-Negative CRUD contentInstance: Target resource ID: Strucutred, Absolute
159     [Documentation]    Perform CRUD operations with contentInstance resource using invalid structured absolute
160     ...    resource ID of the contentInstance resource. Verify error result in response and use retrieve
161     ...    operation to verify that the resource has not been changed.
162     ...    Test these cases:
163     ...    1. cseBase resource ID instead of name: Format: //<SP FQDN>/<CSE-ID>/<cseBase resource ID>/<AE name>/<Container name>/<resource name>
164     ...    2. cseBase CSE-ID instead of name: Format: //<SP FQDN>/<CSE-ID>/<CSE-ID>/<AE name>/<Container name>/<resource name>
165     ...    3. target resource ID instead of resource name: Format: //<SP FQDN>/<CSE-ID>/<cseBase name>/<AE name>/<Container name>/<resource ID>
166     [Tags]    not-implemented    exclude
167     TODO
168
169 3.01 CRUD contentInstance: Originator ID: relative AE-ID-Stem, first character 'C'
170     [Documentation]    Perform CRUD operations with contentInstance resource using relative AE-ID-Stem starting with 'C'
171     ...    set in the originator parameter of requests. Format: <C-AE-ID-Stem>
172     [Tags]    not-implemented    exclude
173     TODO
174
175 3.01-Negative CRUD contentInstance: Originator ID: relative AE-ID-Stem, first character 'C'
176     [Documentation]    Perform CRUD operations with contentInstance resource using invalid relative AE-ID-Stem starting
177     ...    with 'C' set in the originator parameter of requests. Verify error result in response
178     ...    and use retrieve operation to verify that the resource has not been changed.
179     ...    Test these cases:
180     ...    1. Leading slash: Format: /<C-AE-ID-Stem>
181     ...    2. Leading double slash: Format: //<C-AE-ID-Stem>
182     ...    3. AE resource ID instead of AE-ID: Format: <AE resource ID>
183     ...    4. AE resource name instead of AE-ID: Format: <AE resource name>
184     ...    5. Leading slash and AE resource ID instead of AE-ID: Format: /<AE resource ID>
185     ...    6. Leading slash and AE resource name instead of AE-ID: Format: /<AE resource name>
186     ...    7. Leading double slash and AE resource ID instead of AE-ID: Format: //<AE resource ID>
187     ...    8. Leading double slash AE resource name instead of AE-ID: Format: //<AE resource name>
188     [Tags]    not-implemented    exclude
189     TODO
190
191 3.02 CRUD contentInstance: Originator ID: relative AE-ID-Stem, first character 'S'
192     [Documentation]    Perform CRUD operations with contentInstance resource using relative AE-ID-Stem starting with 'S'
193     ...    set in the originator parameter of requests. Format: <S-AE-ID-Stem>
194     [Tags]    not-implemented    exclude
195     TODO
196
197 3.02-Negative CRUD contentInstance: Originator ID: relative AE-ID-Stem, first character 'S'
198     [Documentation]    Perform CRUD operations with contentInstance resource using invalid relative AE-ID-Stem starting
199     ...    with 'S' set in the originator parameter of requests. Verify error result in response
200     ...    and use retrieve operation to verify that the resource has not been changed.
201     ...    Test these cases (single leading slash is valid case when starting with 'S'):
202     ...    1. Leading double slash: Format: //<S-AE-ID-Stem>
203     [Tags]    not-implemented    exclude
204     TODO
205
206 3.03 CRUD contentInstance: Originator ID: SP-relative AE-ID, first character 'C'
207     [Documentation]    Perform CRUD operations with contentInstance resource using SP-relative AE-ID-Stem starting with 'C'
208     ...    set in the originator parameter of requests. Format: /<SP-relative-CSE-ID>/<C-AE-ID-Stem>
209     [Tags]    not-implemented    exclude
210     TODO
211
212 3.03-Negative CRUD contentInstance: Originator ID: SP-relative AE-ID, first character 'C'
213     [Documentation]    Perform CRUD operations with contentInstance resource using invalid SP-relative AE-ID-Stem
214     ...    starting with 'C' set in the originator parameter of requests. Verify error result in response
215     ...    and use retrieve operation to verify that the resource has not been changed.
216     ...    Test these cases:
217     ...    1. missing leading slash: Format: <SP-relative-CSE-ID>/<C-AE-ID-Stem>
218     ...    2. cseBase resource name instead of CSE-ID: Format: /<cseBase resource name>/<C-AE-ID-Stem>
219     ...    3. cseBase resource ID instead of CSE-ID: Format: /<cseBase resource ID>/<C-AE-ID-Stem>
220     ...    4. AE resource ID instead of AE-ID: Format: /<SP-relative-CSE-ID>/<AE resource ID>
221     ...    5. AE resource name instead of AE-ID: Format: /<SP-relative-CSE-ID>/<AE resource name>
222     ...    6. leading double slash: Format: //<SP-relative-CSE-ID>/<C-AE-ID-Stem>
223     [Tags]    not-implemented    exclude
224     TODO
225
226 3.04 CRUD contentInstance: Originator ID: SP-relative AE-ID, first character 'S'
227     [Documentation]    Perform CRUD operations with contentInstance resource using SP-relative AE-ID-Stem starting with 'S'
228     ...    set in the originator parameter of requests. Format: /<S-AE-ID-Stem>
229     [Tags]    not-implemented    exclude
230     TODO
231
232 3.05 CRUD contentInstance: Originator ID: Absolute AE-ID, first character 'C'
233     [Documentation]    Perform CRUD operations with contentInstance resource using Absolute AE-ID starting with 'C'
234     ...    set in the originator parameter of requests. Format: //<SP FQDN>/<SP-relative-CSE-ID>/<C-AE-ID-Stem>
235     [Tags]    not-implemented    exclude
236     TODO
237
238 3.05-Negative CRUD contentInstance: Originator ID: Absolute AE-ID, first character 'C'
239     [Documentation]    Perform CRUD operations with contentInstance resource using invalid Absolute AE-ID starting with 'C'
240     ...    set in the originator parameter of requests. Verify error result in response
241     ...    and use retrieve operation to verify that the resource has not been changed.
242     ...    Test these cases:
243     ...    1. Missing leading slash: Format: /<SP FQDN>/<SP-relative-CSE-ID>/<C-AE-ID-Stem>
244     ...    2. Missing leading double slash: Format: <SP FQDN>/<SP-relative-CSE-ID>/<C-AE-ID-Stem>
245     ...    3. Invalid SP FQDN: Format: //<Invalid SP FQDN>/<SP-relative-CSE-ID>/<C-AE-ID-Stem>
246     ...    4. cseBase resource name instead of CSE-ID: Format: //<SP FQDN>/<cseBase resource name>/<C-AE-ID-Stem>
247     ...    5. cseBase resource ID instead of CSE-ID: Format: //<SP FQDN>/<cseBase resource ID>/<C-AE-ID-Stem>
248     ...    6. AE resource ID instead of AE-ID: Format: //<SP FQDN>/<SP-relative-CSE-ID>/<AE resource ID>
249     ...    7. AE resource name instead of AE-ID: Format: //<SP FQDN>/<SP-relative-CSE-ID>/<AE resource name>
250     [Tags]    not-implemented    exclude
251     TODO
252
253 3.06 CRUD contentInstance: Originator ID: Absolute AE-ID, first character 'S'
254     [Documentation]    Perform CRUD operations with contentInstance resource using Absolute AE-ID starting with 'S'
255     ...    set in the originator parameter of requests. Format: //<SP FQDN>/<S-AE-ID-Stem>
256     [Tags]    not-implemented    exclude
257     TODO
258
259 3.06-Negative CRUD contentInstance: Originator ID: Absolute AE-ID, first character 'S'
260     [Documentation]    Perform CRUD operations with contentInstance resource using invalid Absolute AE-ID starting with 'S'
261     ...    set in the originator parameter of requests. Verify error result in response
262     ...    and use retrieve operation to verify that the resource has not been changed.
263     ...    Test these cases:
264     ...    1. Missing leading slash: Format: /<SP FQDN>/<S-AE-ID-Stem>
265     ...    2. Missing leading double slash: Format: <SP FQDN>/<S-AE-ID-Stem>
266     ...    3. Invalid SP FQDN: Format: //<Invalid SP FQDN>/<S-AE-ID-Stem>
267     ...    4. AE resource ID instead of AE-ID: Format: //<SP FQDN>/<AE resource ID>
268     ...    5. AE resource name instead of AE-ID: Format: //<SP FQDN>/<AE resource name>
269     [Tags]    not-implemented    exclude
270     TODO
271
272 4.01 CRUD contentInstance: Originator ID: SP-relative CSE-ID
273     [Documentation]    Perform CRUD operations with contentInstance resource using SP-relative CSE-ID
274     ...    set in the originator parameter of requests. Format: /<CSE-ID>
275     [Tags]    not-implemented    exclude
276     TODO
277
278 4.01-Negative CRUD contentInstance: Originator ID: SP-relative CSE-ID
279     [Documentation]    Perform CRUD operations with contentInstance resource using invalid SP-relative CSE-ID
280     ...    set in the originator parameter of requests. Verify error result in response
281     ...    and use retrieve operation to verify that the resource has not been changed.
282     ...    Test these cases:
283     ...    1. missing leading slash: Format: <CSE-ID>
284     ...    2. leading double slash: Format: //<CSE-ID>
285     ...    3. remoteCSE resource name instead of CSE-ID: Format: /<remoteCSE resource name>
286     ...    4. remoteCSE resource id instead of CSE-ID: Format: /<remoteCSE resource ID>
287     [Tags]    not-implemented    exclude
288     TODO
289
290 4.02 CRUD contentInstance: Originator ID: Absolute CSE-ID
291     [Documentation]    Perform CRUD operations with contentInstance resource using Absolute CSE-ID
292     ...    set in the originator parameter of requests. Format: //<SP FQDN>/<CSE-ID>
293     [Tags]    not-implemented    exclude
294     TODO
295
296 4.02-Negative CRUD contentInstance: Originator ID: Absolute CSE-ID
297     [Documentation]    Perform CRUD operations with contentInstance resource using invalid Absolute CSE-ID
298     ...    set in the originator parameter of requests. Verify error result in response
299     ...    and use retrieve operation to verify that the resource has not been changed.
300     ...    Test these cases:
301     ...    1. missing leading slash: Format: /<SP FQDN>/<CSE-ID>
302     ...    2. missing leading double slash: Format: <SP FQDN>/<CSE-ID>
303     ...    3. remoteCSE resource name instead of CSE-ID: Format: //<SP FQDN>/<remoteCSE resource name>
304     ...    4. remoteCSE resource id instead of CSE-ID: Format: //<SP FQDN>/<remoteCSE resource ID>
305     [Tags]    not-implemented    exclude
306     TODO
307
308 *** Keywords ***
309 TODO
310     Fail    "Not implemented"