SFC: Implement boron and carbon scope
[integration/test.git] / csit / suites / sfc / SFC_Basic / 020__sfc_service_forwarders.robot
index f0c88d2e70512bce4bb794a0796dabf18f243ab7..763be93babd3f5e40b9273829585eba014bd7f4a 100644 (file)
@@ -2,11 +2,12 @@
 Documentation     Test suite for SFC Service Function Forwarders, Operates SFFs from Restconf APIs.
 Suite Setup       Init Suite
 Suite Teardown    Delete All Sessions
+Test Setup        Remove All Elements If Exist    ${SERVICE_FORWARDERS_URI}
 Library           SSHLibrary
 Library           Collections
 Library           OperatingSystem
 Library           RequestsLibrary
-Variables         ../../../variables/Variables.py
+Resource          ../../../variables/sfc/Variables.robot
 Resource          ../../../libraries/Utils.robot
 Resource          ../../../libraries/TemplatedRequests.robot
 
@@ -25,6 +26,7 @@ Put Service Function Forwarders
 
 Delete All Service Function Forwarders
     [Documentation]    Delete all Service Function Forwarders
+    Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
     Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
@@ -33,24 +35,21 @@ Delete All Service Function Forwarders
 
 Get one Service Function Forwarder
     [Documentation]    Get one Service Function Forwarder
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${elements}=    Create List    SFF-bootstrap    service-locator:vxlan-gpe    SF1
     Check For Elements At URI    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap    ${elements}
 
 Get A Non-existing Service Function Forwarder
     [Documentation]    Get A Non-existing Service Function Forwarder
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}service-function-forwarder/non-existing-sff
     Should Be Equal As Strings    ${resp.status_code}    404
 
 Delete A Service Function Forwarder
     [Documentation]    Delete A Service Function Forwarder
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap
-    Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code} 
+    Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
     Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap
     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap
     Should Be Equal As Strings    ${resp.status_code}    404
@@ -60,12 +59,12 @@ Delete A Service Function Forwarder
 
 Delete A Non-existing Service Function Forwarder
     [Documentation]    Delete A Non existing Service Function
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${body}    OperatingSystem.Get File    ${SERVICE_FORWARDERS_FILE}
     ${jsonbody}    To Json    ${body}
     ${forwarders}    Get From Dictionary    ${jsonbody}    service-function-forwarders
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}service-function-forwarder/non-existing-sff
+    ${resp}    RequestsLibrary.Delete Request    session    ${SERVICE_FORWARDERS_URI}service-function-forwarder/non-existing-sff
+    Should Be Equal As Strings    ${resp.status_code}    404
     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
     ${result}    To JSON    ${resp.content}
@@ -74,7 +73,6 @@ Delete A Non-existing Service Function Forwarder
 
 Put one Service Function Forwarder
     [Documentation]    Put one Service Function Forwarder
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SFF_OVS100_URI}    ${SFF_OVS100_FILE}
     ${resp}    RequestsLibrary.Get Request    session    ${SFF_OVS100_URI}
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
@@ -84,14 +82,12 @@ Put one Service Function Forwarder
 
 Get Service Function Forwarder DPL
     [Documentation]    Get Service Function Data Plane Locator
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SFF_OVS100_URI}    ${SFF_OVS100_FILE}
     ${elements}=    Create List    eth0    service-locator:vxlan-gpe
     Check For Elements At URI    ${SFF_OVS100_URI}sff-data-plane-locator/eth0    ${elements}
 
 Put Service Function Forwarder DPL
     [Documentation]    Put Service Function Forwarder Data Plane Locator
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SFF_OVS100_URI}    ${SFF_OVS100_FILE}
     Add Elements To URI From File    ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101    ${SFF_DPL101_FILE}
     ${elements}=    Create List    dpl-101    6101
@@ -100,7 +96,6 @@ Put Service Function Forwarder DPL
 
 Put DPL to a Non-existing Service Function Forwarder
     [Documentation]    Put Service Function DPL to a Non-existing Service Function
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101    ${SFF_DPL101_FILE}
     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
@@ -111,7 +106,6 @@ Put DPL to a Non-existing Service Function Forwarder
 
 Delete Service Function Forwarder DPL
     [Documentation]    Delete Service Function Forwarder Data Plane Locator
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SFF_OVS100_URI}    ${SFF_OVS100_FILE}
     Remove All Elements At URI    ${SFF_OVS100_URI}sff-data-plane-locator/eth0
     ${resp}    RequestsLibrary.Get Request    session    ${SFF_OVS100_URI}
@@ -120,14 +114,12 @@ Delete Service Function Forwarder DPL
 
 Get Service Function Forwarder DPL's Locator
     [Documentation]    Get Service Function Data Plane Locator
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SFF_OVS100_URI}    ${SFF_OVS100_FILE}
     ${elements}=    Create List    6000    service-locator:vxlan-gpe
     Check For Elements At URI    ${SFF_OVS100_URI}sff-data-plane-locator/eth0/data-plane-locator/    ${elements}
 
 Put Service Function Forwarder DPL's Locator
     [Documentation]    Put Service Function Forwarder Data Plane Locator
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SFF_OVS100_URI}    ${SFF_OVS100_FILE}
     Add Elements To URI From File    ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101    ${SFF_DPL101_FILE}
     Add Elements To URI From File    ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101/data-plane-locator/    ${SFF_DPL_LOCATOR_FILE}
@@ -140,7 +132,6 @@ Put Service Function Forwarder DPL's Locator
 Delete Service Function Forwarder DPL's Locator
     [Documentation]    Delete Service Function Forwarder Data Plane Locator
     [Tags]    exclude
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SFF_OVS100_URI}    ${SFF_OVS100_FILE}
     Add Elements To URI From File    ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101    ${SFF_DPL101_FILE}
     Add Elements To URI From File    ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101/data-plane-locator/    ${SFF_DPL_LOCATOR_FILE}
@@ -157,14 +148,12 @@ Delete Service Function Forwarder DPL's Locator
 
 Get Service Function Dictionary From SFF
     [Documentation]    Get Service Function Dictionary From SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${elements}=    Create List    service-function-dictionary    SF1    SF1-DPL    eth0
     Check For Elements At URI    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1    ${elements}
 
 Delete Service Function Dictionary From SFF
     [Documentation]    Delete Service Function Dictionary From SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
@@ -178,7 +167,6 @@ Delete Service Function Dictionary From SFF
 
 Put Service Function Dictionary to SFF
     [Documentation]    Put Service Function Dictionary to SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF100    ${SFF_SFD_SF100_FILE}
     ${elements}=    Create List    SF100    SF2-DPL    eth0
@@ -188,14 +176,12 @@ Put Service Function Dictionary to SFF
 
 Get Service Function Dictionary's DPL From SFF
     [Documentation]    Get Service Function Dictionary From SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${elements}=    create list    sff-sf-data-plane-locator    SF1-DPL    eth0
     Check For Elements At URI    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1/sff-sf-data-plane-locator/    ${elements}
 
 Delete Service Function Dictionary's DPL From SFF
     [Documentation]    Delete Service Function Dictionary From SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1/sff-sf-data-plane-locator/
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
@@ -205,7 +191,6 @@ Delete Service Function Dictionary's DPL From SFF
 
 Put DPL of Service Function Dictionary to SFF
     [Documentation]    Put DPL of Service Function Dictionary to SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1/sff-sf-data-plane-locator/    ${SFF_SFD_LOCATOR_FILE}
     ${elements}=    create list    sff-sf-data-plane-locator    SF2-DPL    eth0
@@ -214,7 +199,6 @@ Put DPL of Service Function Dictionary to SFF
 
 Get Connected SFF Dictionary From SFF
     [Documentation]    Get Connected SFF Dictionary Dictionary From SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${elements}=    create list    connected-sff-dictionary    br-int-ovs-2    sff-sff-data-plane-locator
     Check For Elements At URI    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/br-int-ovs-2    ${elements}
@@ -224,7 +208,6 @@ Get Connected SFF Dictionary From SFF
 
 Delete Connected SFF Dictionary From SFF
     [Documentation]    Delete Connected SFF Dictionary From SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/br-int-ovs-2
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
@@ -237,7 +220,6 @@ Delete Connected SFF Dictionary From SFF
 
 Put Connected SFF Dictionary to SFF
     [Documentation]    Put Connected SFF Dictionary to SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/SFF100    ${SFF_CSD_SFF100_FILE}
     ${elements}=    create list    SFF100    service-function-forwarder:open
@@ -246,31 +228,24 @@ Put Connected SFF Dictionary to SFF
 
 Get Connected SFF Dictionary's DPL From SFF
     [Documentation]    Get Connected SFF Dictionary's DPL From SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     ${elements}=    create list    sff-sff-data-plane-locator    5000    192.168.1.2
     Check For Elements At URI    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/br-int-ovs-2/sff-sff-data-plane-locator/    ${elements}
 
 Put DPL of Connected SFF Dictionary to SFF
     [Documentation]    Put DPL of Connected SFF Dictionary to SFF
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/br-int-ovs-2/sff-sff-data-plane-locator/    ${SFF_CSD_LOCATOR_FILE}
     ${elements}=    create list    sff-sff-data-plane-locator    6000    10.1.1.1
     Check For Elements At URI    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/br-int-ovs-2/sff-sff-data-plane-locator/    ${elements}
     Check For Elements At URI    ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/br-int-ovs-2/    ${elements}
 
-Clean The Datastore After Tests
-    [Documentation]    Clean All Service Function Forwarders In Datastore After Tests
-    Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
-
 *** keywords ***
 Init Suite
     [Documentation]    Initialize session and ODL version specific variables
     Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
     log    ${ODL_STREAM}
-    Run Keyword If    '${ODL_STREAM}' == 'stable-lithium'    Set Suite Variable    ${VERSION_DIR}    lithium
-    ...    ELSE    Set Suite Variable    ${VERSION_DIR}    master
+    Set Suite Variable    ${VERSION_DIR}    master
     Set Suite Variable    ${SERVICE_FORWARDERS_URI}    /restconf/config/service-function-forwarder:service-function-forwarders/
     Set Suite Variable    ${SERVICE_FORWARDERS_FILE}    ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-forwarders.json
     Set Suite Variable    ${SFF_OVS100_URI}    /restconf/config/service-function-forwarder:service-function-forwarders/service-function-forwarder/ovs-100/