2 Documentation Test suite for symmetric RSP using bidirectional field of SF type.
4 Suite Teardown End Suite
7 Library OperatingSystem
8 Library RequestsLibrary
9 Library HttpLibrary.HTTP
10 Resource ../../../variables/sfc/Variables.robot
11 Resource ../../../libraries/Utils.robot
12 Resource ../../../libraries/TemplatedRequests.robot
16 ${SUITE_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/symmetricRSP
17 ${SERVICE_NODES_FILE} ${SUITE_DIR}/service_nodes.json
18 ${SERVICE_FUNCTION_TYPES_FILE} ${SUITE_DIR}/service_function_types.json
19 ${SERVICE_FUNCTIONS_FILE} ${SUITE_DIR}/service_functions.json
20 ${SERVICE_FORWARDERS_FILE} ${SUITE_DIR}/service_function_forwarders.json
21 ${SERVICE_CHAINS_FILE} ${SUITE_DIR}/service_function_chains.json
22 ${SERVICE_FUNCTION_PATHS_FILE} ${SUITE_DIR}/service_function_paths.json
23 ${CREATE_RSP1_INPUT} {"input":{"parent-service-function-path":"SFP1","name":"RSP1"}}
24 ${CREATE_RSP2_INPUT} {"input":{"parent-service-function-path":"SFP2","name":"RSP2"}}
25 ${CREATE_RSP3_INPUT} {"input":{"parent-service-function-path":"SFP3","name":"RSP3"}}
26 ${DELETE_RSP1_INPUT} {"input":{"name":"RSP1"}}
27 ${DELETE_RSP2_INPUT} {"input":{"name":"RSP2"}}
28 ${DELETE_RSP3_INPUT} {"input":{"name":"RSP3"}}
31 Create symmetric RSP with bidirectional flag set true in one SF type
32 Post Elements To URI ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP1_INPUT}
33 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}
34 Should Be Equal As Strings ${resp.status_code} 200
35 ${elements}= Create List RSP1 RSP1-Reverse
36 Check For Elements At URI ${OPERATIONAL_RSPS_URI} ${elements}
37 [Teardown] Post Elements To URI ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP1_INPUT}
39 Create non-symmetric RSP with bidirectional flag set false or not set in all SFs
40 Post Elements To URI ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP2_INPUT}
41 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}
42 Should Be Equal As Strings ${resp.status_code} 200
44 Should Contain ${resp.content} RSP2
45 Should Not Contain ${resp.content} RSP2-Reverse
46 [Teardown] Post Elements To URI ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP2_INPUT}
48 Create non-symmetric RSP overriding bidirectional flag with SFP symmetric flag
49 Post Elements To URI ${OPERATIONS_CREATE_RSP_URI} ${CREATE_RSP3_INPUT}
50 # Note that SFP3 uses SFC1, which contains a dpi-bidirectional, but it's
51 # overriden with symmetric flag in SFP set to false
52 ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}
53 Should Be Equal As Strings ${resp.status_code} 200
55 Should Contain ${resp.content} RSP3
56 Should Not Contain ${resp.content} RSP3-Reverse
57 [Teardown] Post Elements To URI ${OPERATIONS_DELETE_RSP_URI} ${DELETE_RSP3_INPUT}
61 [Documentation] Create session and initialize ODL version specific variables
62 Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
64 Basic Environment Setup
66 Basic Environment Setup
67 [Documentation] Provision all elements except RSPs
69 Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE}
70 Add Elements To URI From File ${SERVICE_NODES_URI} ${SERVICE_NODES_FILE}
71 Add Elements To URI From File ${SERVICE_FUNCTION_TYPES_URI} ${SERVICE_FUNCTION_TYPES_FILE}
72 Add Elements To URI From File ${SERVICE_FUNCTIONS_URI} ${SERVICE_FUNCTIONS_FILE}
73 Wait Until Keyword Succeeds 60s 2s Check Service Function Types
74 Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE}
75 Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE}
77 Check Service Function Types
78 [Documentation] Check that the service function types are updated with the service function names
79 ${elements}= Create List "name":"firewall-1" "name":"dpi-1" "name":"dpi-2"
80 Check For Elements At URI ${SERVICE_FUNCTION_TYPES_URI} ${elements}
87 [Documentation] Remove All Elements
88 Remove All Elements If Exist ${SERVICE_FUNCTIONS_URI}
89 Remove All Elements If Exist ${SERVICE_FORWARDERS_URI}
90 Remove All Elements If Exist ${SERVICE_NODES_URI}
91 Remove All Elements If Exist ${SERVICE_CHAINS_URI}
92 Remove All Elements If Exist ${SERVICE_FUNCTION_PATHS_URI}