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