2 Documentation Test suite for SFC Service Function Forwarders, Operates SFFs from Restconf APIs. Logical SFF
4 Suite Teardown Delete All Sessions
5 Test Setup Remove All Elements If Exist ${SERVICE_FORWARDERS_URI}
6 Test Teardown Remove All Elements If Exist ${SERVICE_FORWARDERS_URI}
9 Library OperatingSystem
10 Library RequestsLibrary
11 Resource ../../../variables/sfc/Variables.robot
12 Resource ../../../libraries/Utils.robot
13 Resource ../../../libraries/TemplatedRequests.robot
17 ${SERVICE_FORWARDERS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-forwarders-logicallsff.json
18 ${SFF_SFFLOG_URI} ${SERVICE_FORWARDER_URI}sfflogical1/
19 ${SFF_SFFLOG_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-forwarder-logicallsff1.json
22 Put Service Function Forwarders
23 [Documentation] Add Service Function Forwarders from JSON file. Logical SFF
25 Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE}
26 ${body} OperatingSystem.Get File ${SERVICE_FORWARDERS_FILE}
27 ${jsonbody} To Json ${body}
28 ${forwarders} Get From Dictionary ${jsonbody} service-function-forwarders
29 ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}
30 Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
31 ${result} To JSON ${resp.content}
32 ${forwarder} Get From Dictionary ${result} service-function-forwarders
33 Lists Should be Equal ${forwarder} ${forwarders}
35 Delete All Service Function Forwarders
36 [Documentation] Delete all Service Function Forwarders. Logical SFF
38 Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE}
39 ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}
40 Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
41 Remove All Elements At URI ${SERVICE_FORWARDERS_URI}
42 ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}
43 Should Be Equal As Strings ${resp.status_code} 404
45 Get one Service Function Forwarder
46 [Documentation] Get one Service Function Forwarder. Logical SFF
48 Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE}
49 ${elements}= Create List sfflogical1
50 Check For Elements At URI ${SERVICE_FORWARDER_URI}sfflogical1 ${elements}
52 Delete A Service Function Forwarder
53 [Documentation] Delete A Service Function Forwarder. Logical SFF
55 Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE}
56 ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDER_URI}sfflogical1
57 Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
58 Remove All Elements At URI ${SERVICE_FORWARDER_URI}sfflogical1
59 ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDER_URI}sfflogical1
60 Should Be Equal As Strings ${resp.status_code} 404
61 ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}
62 Should Be Equal As Strings ${resp.status_code} 200
63 Should Not Contain ${resp.content} SF1
65 Put one Service Function Forwarder
66 [Documentation] Put one Service Function Forwarder. Logical SFF
68 Add Elements To URI From File ${SFF_SFFLOG_URI} ${SFF_SFFLOG_FILE}
69 ${resp} RequestsLibrary.Get Request session ${SFF_SFFLOG_URI}
70 Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
71 ${elements}= Create List sfflogical1
72 Check For Elements At URI ${SFF_SFFLOG_URI} ${elements}
73 Check For Elements At URI ${SERVICE_FORWARDERS_URI} ${elements}
77 [Documentation] Initialize session and ODL version specific variable. Logical SFFs
78 Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}