Upgrade RF syntax for v3.2 compatibility
[integration/test.git] / csit / suites / sfc / Full_Deploy / 014__sfc_service_forwarders_logical.robot
1 *** Settings ***
2 Documentation     Test suite for SFC Service Function Forwarders, Operates SFFs from Restconf APIs. Logical SFF
3 Suite Setup       Init Suite
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}
7 Library           SSHLibrary
8 Library           Collections
9 Library           OperatingSystem
10 Library           RequestsLibrary
11 Resource          ../../../variables/sfc/Variables.robot
12 Resource          ../../../libraries/Utils.robot
13 Resource          ../../../libraries/TemplatedRequests.robot
14
15 *** Variables ***
16 ${VERSION_DIR}    master
17 ${TEST_DIR}       ${CURDIR}/../../../variables/sfc/${VERSION_DIR}
18 ${SERVICE_FORWARDERS_FILE}    ${TEST_DIR}/service-function-forwarders-logicallsff.json
19 ${SFF_SFFLOG_URI}    ${SERVICE_FORWARDER_URI}/sfflogical1
20 ${SFF_SFFLOG_FILE}    ${TEST_DIR}/service-function-forwarder-logicallsff1.json
21
22 *** Test Cases ***
23 Put Service Function Forwarders
24     [Documentation]    Add Service Function Forwarders from JSON file. Logical SFF
25     [Tags]    include
26     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
27     ${body}    OperatingSystem.Get File    ${SERVICE_FORWARDERS_FILE}
28     ${jsonbody}    To Json    ${body}
29     ${forwarders}    Get From Dictionary    ${jsonbody}    service-function-forwarders
30     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}
31     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
32     ${result}    To JSON    ${resp.content}
33     ${forwarder}    Get From Dictionary    ${result}    service-function-forwarders
34     Lists Should be Equal    ${forwarder}    ${forwarders}
35
36 Delete All Service Function Forwarders
37     [Documentation]    Delete all Service Function Forwarders. Logical SFF
38     [Tags]    include
39     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
40     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}
41     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
42     Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
43     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}
44     Should Be Equal As Strings    ${resp.status_code}    404
45
46 Get one Service Function Forwarder
47     [Documentation]    Get one Service Function Forwarder. Logical SFF
48     [Tags]    include
49     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
50     ${elements}=    Create List    sfflogical1
51     Check For Elements At URI    ${SFF_SFFLOG_URI}    ${elements}
52
53 Delete A Service Function Forwarder
54     [Documentation]    Delete A Service Function Forwarder. Logical SFF
55     [Tags]    include
56     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
57     ${resp}    RequestsLibrary.Get Request    session    ${SFF_SFFLOG_URI}
58     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
59     Remove All Elements At URI    ${SFF_SFFLOG_URI}
60     ${resp}    RequestsLibrary.Get Request    session    ${SFF_SFFLOG_URI}
61     Should Be Equal As Strings    ${resp.status_code}    404
62
63 Put one Service Function Forwarder
64     [Documentation]    Put one Service Function Forwarder. Logical SFF
65     [Tags]    include
66     Add Elements To URI From File    ${SFF_SFFLOG_URI}    ${SFF_SFFLOG_FILE}
67     ${resp}    RequestsLibrary.Get Request    session    ${SFF_SFFLOG_URI}
68     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
69     ${elements}=    Create List    sfflogical1
70     Check For Elements At URI    ${SFF_SFFLOG_URI}    ${elements}
71     Check For Elements At URI    ${SERVICE_FORWARDERS_URI}    ${elements}
72
73 *** Keywords ***
74 Init Suite
75     [Documentation]    Initialize session and ODL version specific variable. Logical SFFs
76     Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
77     log    ${ODL_STREAM}