2 Documentation Test suite for SFC Service Functions, Operates functions from Restconf APIs.
3 Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
4 Suite Teardown Delete All Sessions
7 Library OperatingSystem
8 Library RequestsLibrary
9 Variables ../../../variables/Variables.py
10 Resource ../../../libraries/Utils.robot
13 ${SERVICE_FUNCTIONS_URI} /restconf/config/service-function:service-functions/
14 ${SERVICE_FUNCTIONS_FILE} ../../../variables/sfc/service-functions.json
15 ${SERVICE_FORWARDERS_URI} /restconf/config/service-function-forwarder:service-function-forwarders/
16 ${SERVICE_FORWARDERS_FILE} ../../../variables/sfc/service-function-forwarders.json
17 ${SERVICE_NODES_URI} /restconf/config/service-node:service-nodes/
18 ${SERVICE_NODES_FILE} ../../../variables/sfc/service-nodes.json
19 ${SERVICE_CHAINS_URI} /restconf/config/service-function-chain:service-function-chains/
20 ${SERVICE_CHAINS_FILE} ../../../variables/sfc/service-function-chains.json
21 ${SERVICE_FUNCTION_PATHS_URI} /restconf/config/service-function-path:service-function-paths/
22 ${SERVICE_FUNCTION_PATHS_FILE} ../../../variables/sfc/service-function-paths.json
23 ${SERVICE_SCHED_TYPES_URI} /restconf/config/service-function-scheduler-type:service-function-scheduler-types/
24 ${SERVICE_SCHED_TYPE_URI_BASE} ${SERVICE_SCHED_TYPES_URI}service-function-scheduler-type/service-function-scheduler-type:
25 ${SERVICE_RANDOM_SCHED_TYPE_URI} ${SERVICE_SCHED_TYPE_URI_BASE}random
26 ${SERVICE_RANDOM_SCHED_TYPE_FILE} ../../../variables/sfc/service-random-schedule-type.json
27 ${SERVICE_ROUNDROBIN_SCHED_TYPE_URI} ${SERVICE_SCHED_TYPE_URI_BASE}round-robin
28 ${SERVICE_ROUNDROBIN_SCHED_TYPE_FILE} ../../../variables/sfc/service-roundrobin-schedule-type.json
29 ${SERVICE_LOADBALANCE_SCHED_TYPE_URI} ${SERVICE_SCHED_TYPE_URI_BASE}load-balance
30 ${SERVICE_LOADBALANCE_SCHED_TYPE_FILE} ../../../variables/sfc/service-loadbalance-schedule-type.json
31 ${SERVICE_SHORTESTPATH_SCHED_TYPE_URI} ${SERVICE_SCHED_TYPE_URI_BASE}shortest-path
32 ${SERVICE_SHORTESTPATH_SCHED_TYPE_FILE} ../../../variables/sfc/service-loadbalance-schedule-type.json
33 ${RENDERED_SERVICE_PATHS_URI} /restconf/config/rendered-service-path:rendered-service-paths/
34 ${OPERATIONAL_RSPS_URI} /restconf/operational/rendered-service-path:rendered-service-paths/
35 ${OPERATIONS_CREATE_RSP_URI} /restconf/operations/rendered-service-path:create-rendered-path/
36 ${OPERATIONS_DELETE_RSP_URI} /restconf/operations/rendered-service-path:delete-rendered-path
37 ${CREATE_RSP1_INPUT} {"input":{"parent-service-function-path":"SFC1-100","name":"SFC1-100-Path-1"}}
38 ${CREATE_RSP2_INPUT} {"input":{"parent-service-function-path":"SFC1-100","name":"SFC1-100-Path-2"}}
39 ${CREATE_RSP3_INPUT} {"input":{"parent-service-function-path":"SFC1-100","name":"SFC1-100-Path-3"}}
40 ${CREATE_RSP4_INPUT} {"input":{"parent-service-function-path":"SFC1-100","name":"SFC1-100-Path-4"}}
41 ${CREATE_RSP5_INPUT} {"input":{"parent-service-function-path":"SFC1-100","name":"SFC1-100-Path-5"}}
42 ${CREATE_RSP6_INPUT} {"input":{"parent-service-function-path":"SFC1-100","name":"SFC1-100-Path-6"}}
43 ${CREATE_RSP_FAILURE_INPUT} {"input":{"parent-service-function-path":"SFC1-empty","name":"SFC1-empty-Path-1"}}
44 ${DELETE_RSP1_INPUT} {"input":{"name":"SFC1-100-Path-1"}}
45 ${DELETE_RSP2_INPUT} {"input":{"name":"SFC1-100-Path-2"}}
46 ${DELETE_RSP3_INPUT} {"input":{"name":"SFC1-100-Path-3"}}
47 ${DELETE_RSP4_INPUT} {"input":{"name":"SFC1-100-Path-4"}}
48 ${DELETE_RSP5_INPUT} {"input":{"name":"SFC1-100-Path-5"}}
49 ${DELETE_RSP6_INPUT} {"input":{"name":"SFC1-100-Path-6"}}
52 Basic Environment Setup Tests
53 [Documentation] Prepare Basic Test Environment
54 Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE}
55 Add Elements To URI From File ${SERVICE_NODES_URI} ${SERVICE_NODES_FILE}
56 Add Elements To URI From File ${SERVICE_FUNCTIONS_URI} ${SERVICE_FUNCTIONS_FILE}
57 Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE}
58 Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE}
60 Create and Get Rendered Service Path
61 [Documentation] Create and Get Rendered Service Path Through RESTConf APIs
62 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
63 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}
64 Should Be Equal As Strings ${resp.status_code} 200
65 ${elements}= Create List SFC1-100-Path-1 "parent-service-function-path":"SFC1-100" "hop-number":0 "service-index":255 "hop-number":1
66 ... "service-index":254 "hop-number":2 "service-index":253
67 Check For Elements At URI ${OPERATIONAL_RSPS_URI} ${elements}
69 Create Get Rendered Service Path Failure
70 [Documentation] Create Rendered Service Path Failure Cases
71 ${resp} RequestsLibrary.Post Request session ${OPERATIONS_CREATE_RSP_URI} data=${CREATE_RSP_FAILURE_INPUT} headers=${headers}
72 Should Be Equal As Strings ${resp.status_code} 500
74 Get Rendered Service Path By Name
75 [Documentation] Get Rendered Service Path By Name Through RESTConf APIs
76 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
77 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1
78 Should Be Equal As Strings ${resp.status_code} 200
79 ${elements}= Create List SFC1-100-Path-1 "parent-service-function-path":"SFC1-100" "hop-number":0 "service-index":255 "hop-number":1
80 ... "service-index":254 "hop-number":2 "service-index":253
81 Check For Elements At URI ${OPERATIONAL_RSPS_URI} ${elements}
83 Get Non Existing Rendered Service Path
84 [Documentation] Get Non Existing Rendered Service Path Through RESTConf APIs
85 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
86 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/non-existing-rsp
87 Should Be Equal As Strings ${resp.status_code} 404
88 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}
89 Should Be Equal As Strings ${resp.status_code} 200
90 Should Not Contain ${resp.content} non-existing-rsp
92 Delete one Rendered Service Path By Name
93 [Documentation] Delete One Rendered Service Path By Name Through RESTConf APIs
94 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
95 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1
96 Should Be Equal As Strings ${resp.status_code} 200
97 Should Contain ${resp.content} SFC1-100-Path-1
98 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP1_INPUT}
99 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1
100 Should Be Equal As Strings ${resp.status_code} 404
101 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}
102 Should Be Equal As Strings ${resp.status_code} 200
103 Should Not Contain ${resp.content} SFC1-100-Path-1
105 Delete Non Existing Rendered Service Path By Name
106 [Documentation] Delete One Rendered Service Path By Name Through RESTConf APIs
107 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
108 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1
109 Should Be Equal As Strings ${resp.status_code} 200
110 Should Contain ${resp.content} SFC1-100-Path-1
111 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP2_INPUT}
112 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}
113 Should Be Equal As Strings ${resp.status_code} 200
114 Should Not Contain ${resp.content} {"rendered-service-paths":{}}
116 Get Rendered Service Path Hop
117 [Documentation] Get Rendered Service Path By Name Through RESTConf APIs
118 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
119 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/0/
120 Should Be Equal As Strings ${resp.status_code} 200
121 ${elements}= Create List "hop-number":0 "service-index":255 "service-function-name":"dpi
122 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/0/ ${elements}
123 ${elements}= Create List "hop-number":1 "service-index":254 "service-function-name":"napt44
124 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/1/ ${elements}
125 ${elements}= Create List "hop-number":2 "service-index":253 "service-function-name":"firewall
126 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/2/ ${elements}
127 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/3/
128 Should Be Equal As Strings ${resp.status_code} 404
129 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP1_INPUT}
131 Generate RSPs with Random Schedule Algorithm type
132 [Documentation] Generate RSPs with Random Schedule Algorithm type Through RESTConf APIs
133 Remove All Elements At URI ${SERVICE_SCHED_TYPES_URI}
134 Add Elements To URI From File ${SERVICE_RANDOM_SCHED_TYPE_URI} ${SERVICE_RANDOM_SCHED_TYPE_FILE}
135 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
136 ${elements}= Create List "hop-number":0 "service-index":255 "service-function-name":"dpi
137 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/0/ ${elements}
138 ${elements}= Create List "hop-number":1 "service-index":254 "service-function-name":"napt44
139 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/1/ ${elements}
140 ${elements}= Create List "hop-number":2 "service-index":253 "service-function-name":"firewall
141 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/2/ ${elements}
142 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP2_INPUT}
143 ${elements}= Create List "hop-number":0 "service-index":255 "service-function-name":"dpi
144 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-2/rendered-service-path-hop/0/ ${elements}
145 ${elements}= Create List "hop-number":1 "service-index":254 "service-function-name":"napt44
146 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-2/rendered-service-path-hop/1/ ${elements}
147 ${elements}= Create List "hop-number":2 "service-index":253 "service-function-name":"firewall
148 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-2/rendered-service-path-hop/2/ ${elements}
149 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP1_INPUT}
150 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP2_INPUT}
152 Generate RSPs with Round Robin Schedule Algorithm type
153 [Documentation] Generate RSPs with Round Robin Schedule Algorithm type
154 Remove All Elements At URI ${SERVICE_SCHED_TYPES_URI}
155 Add Elements To URI From File ${SERVICE_ROUNDROBIN_SCHED_TYPE_URI} ${SERVICE_ROUNDROBIN_SCHED_TYPE_FILE}
156 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
157 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP2_INPUT}
158 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP3_INPUT}
159 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP4_INPUT}
160 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP5_INPUT}
161 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP6_INPUT}
162 ${path1_hop0} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/0/
163 ${path1_hop1} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/1/
164 ${path1_hop2} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/2/
165 ${path2_hop0} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-2/rendered-service-path-hop/0/
166 ${path2_hop1} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-2/rendered-service-path-hop/1/
167 ${path2_hop2} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-2/rendered-service-path-hop/2/
168 ${path3_hop0} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-3/rendered-service-path-hop/0/
169 ${path3_hop1} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-3/rendered-service-path-hop/1/
170 ${path3_hop2} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-3/rendered-service-path-hop/2/
171 ${path4_hop0} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-4/rendered-service-path-hop/0/
172 ${path4_hop1} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-4/rendered-service-path-hop/1/
173 ${path4_hop2} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-4/rendered-service-path-hop/2/
174 ${path5_hop0} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-5/rendered-service-path-hop/0/
175 ${path5_hop1} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-5/rendered-service-path-hop/1/
176 ${path5_hop2} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-5/rendered-service-path-hop/2/
177 ${path6_hop0} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-6/rendered-service-path-hop/0/
178 ${path6_hop1} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-6/rendered-service-path-hop/1/
179 ${path6_hop2} Get JSON Elements From URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-6/rendered-service-path-hop/2/
180 Should Be Equal ${path1_hop0} ${path4_hop0}
181 Should Not Be Equal ${path1_hop0} ${path2_hop0}
182 Should Be Equal ${path1_hop1} ${path4_hop1}
183 Should Not Be Equal ${path1_hop1} ${path2_hop1}
184 Should Be Equal ${path1_hop2} ${path4_hop2}
185 Should Not Be Equal ${path1_hop2} ${path2_hop2}
186 Should Be Equal ${path2_hop0} ${path5_hop0}
187 Should Not Be Equal ${path2_hop0} ${path3_hop0}
188 Should Be Equal ${path2_hop1} ${path5_hop1}
189 Should Not Be Equal ${path2_hop1} ${path3_hop1}
190 Should Be Equal ${path2_hop2} ${path5_hop2}
191 Should Not Be Equal ${path2_hop2} ${path3_hop2}
192 Should Be Equal ${path3_hop0} ${path6_hop0}
193 Should Not Be Equal ${path3_hop0} ${path1_hop0}
194 Should Be Equal ${path3_hop1} ${path6_hop1}
195 Should Not Be Equal ${path3_hop1} ${path1_hop1}
196 Should Be Equal ${path3_hop2} ${path6_hop2}
197 Should Not Be Equal ${path3_hop2} ${path1_hop2}
198 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP1_INPUT}
199 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP2_INPUT}
200 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP3_INPUT}
201 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP4_INPUT}
202 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP5_INPUT}
203 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP6_INPUT}
205 Generate RSPs with Shortest Path Schedule Algorithm type
206 [Documentation] Generate RSPs with Shortest Path Schedule Algorithm type Through RESTConf APIs
207 Remove All Elements At URI ${SERVICE_SCHED_TYPES_URI}
208 Add Elements To URI From File ${SERVICE_SHORTESTPATH_SCHED_TYPE_URI} ${SERVICE_SHORTESTPATH_SCHED_TYPE_FILE}
209 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
210 ${elements}= Create List "hop-number":0 "service-index":255 "service-function-name":"dpi
211 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/0/ ${elements}
212 ${elements}= Create List "hop-number":1 "service-index":254 "service-function-name":"napt44
213 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/1/ ${elements}
214 ${elements}= Create List "hop-number":2 "service-index":253 "service-function-name":"firewall
215 Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/2/ ${elements}
216 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/0/
217 Should Be Equal As Strings ${resp.status_code} 200
218 ${fwd_hop1} Extract Value From Content ${resp.content} service-function-forwarder
219 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/1/
220 Should Be Equal As Strings ${resp.status_code} 200
221 ${fwd_hop2} Extract Value From Content ${resp.content} service-function-forwarder
222 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-1/rendered-service-path-hop/2/
223 Should Be Equal As Strings ${resp.status_code} 200
224 ${fwd_hop3} Extract Value From Content ${resp.content} service-function-forwarder
225 Should Be Equal ${fwd_hop1} ${fwd_hop2}
226 Should Be Equal ${fwd_hop2} ${fwd_hop3}
227 Post Elements To URI As JSON ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP2_INPUT}
228 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-2/rendered-service-path-hop/0/
229 Should Be Equal As Strings ${resp.status_code} 200
230 ${fwd_hop1} Extract Value From Content ${resp.content} service-function-forwarder
231 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-2/rendered-service-path-hop/1/
232 Should Be Equal As Strings ${resp.status_code} 200
233 ${fwd_hop2} Extract Value From Content ${resp.content} service-function-forwarder
234 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/SFC1-100-Path-2/rendered-service-path-hop/2/
235 Should Be Equal As Strings ${resp.status_code} 200
236 ${fwd_hop3} Extract Value From Content ${resp.content} service-function-forwarder
237 Should Be Equal ${fwd_hop1} ${fwd_hop2}
238 Should Be Equal ${fwd_hop2} ${fwd_hop3}
239 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP1_INPUT}
240 Post Elements To URI As JSON ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP2_INPUT}
242 Clean Datastore After Tests
243 [Documentation] Clean All Items In Datastore After Tests
244 Remove All Elements At URI ${SERVICE_FUNCTIONS_URI}
245 Remove All Elements At URI ${SERVICE_FORWARDERS_URI}
246 Remove All Elements At URI ${SERVICE_NODES_URI}
247 Remove All Elements At URI ${SERVICE_CHAINS_URI}
248 Remove All Elements At URI ${SERVICE_SCHED_TYPES_URI}
249 Remove All Elements At URI ${SERVICE_FUNCTION_PATHS_URI}
252 Post Elements To URI As JSON
253 [Arguments] ${uri} ${data}
254 ${resp} RequestsLibrary.Post Request session ${uri} data=${data} headers=${headers}
255 Should Be Equal As Strings ${resp.status_code} 200
257 Get JSON Elements From URI
259 ${resp} RequestsLibrary.Get Request session ${uri}
260 ${value} To Json ${resp.content}