Remove testplans and suites for sfc
[integration/test.git] / csit / suites / sfc / SFC_Basic / 070__sfc_rendered_service_paths.robot
diff --git a/csit/suites/sfc/SFC_Basic/070__sfc_rendered_service_paths.robot b/csit/suites/sfc/SFC_Basic/070__sfc_rendered_service_paths.robot
deleted file mode 100644 (file)
index d6a4b9f..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-*** Settings ***
-Documentation       Test suite for SFC Rendered Service Paths, Operates functions from Restconf APIs.
-
-Library             SSHLibrary
-Library             Collections
-Library             OperatingSystem
-Library             RequestsLibrary
-Resource            ../../../variables/sfc/Variables.robot
-Resource            ../../../libraries/SFC/SfcKeywords.robot
-Resource            ../../../libraries/Utils.robot
-Resource            ../../../libraries/TemplatedRequests.robot
-
-Suite Setup         Init Suite
-Suite Teardown      Delete All Sessions
-
-
-*** Test Cases ***
-Basic Environment Setup Tests
-    [Documentation]    Prepare Basic Test Environment
-    Utils.Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
-    Utils.Add Elements To URI From File    ${SERVICE_NODES_URI}    ${SERVICE_NODES_FILE}
-    Utils.Add Elements To URI From File    ${SERVICE_FUNCTIONS_URI}    ${SERVICE_FUNCTIONS_FILE}
-    BuiltIn.Wait Until Keyword Succeeds
-    ...    60s
-    ...    2s
-    ...    SfcKeywords.Check Service Function Types Added
-    ...    ${SERVICE_FUNCTION_NAMES}
-    Utils.Add Elements To URI From File    ${SERVICE_CHAINS_URI}    ${SERVICE_CHAINS_FILE}
-    # Creates SFPs: SFC1-100, SFC1-200, SFC1-300, SFC2-100, and SFC2-200
-    SfcKeywords.Create Sfp And Wait For Rsp Creation    ${SERVICE_FUNCTION_PATHS_FILE}
-
-Get Rendered Service Path By Name
-    [Documentation]    Get The Rendered Service Path Created in "Basic Environment Setup Tests" By Name Via RESTConf APIs
-    ${sfp_name} =    BuiltIn.Set Variable    SFC1-100
-    ${rsp_name} =    SfcKeywords.Get Rendered Service Path Name    ${sfp_name}
-    ${resp} =    RequestsLibrary.Get Request    session    ${OPERATIONAL_RSP_URI}/${rsp_name}
-    BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    # The RSP should not be symetric, so only 1 should be created for the SFP
-    Utils.Check For Specific Number Of Elements At URI
-    ...    ${SERVICE_FUNCTION_PATH_STATE_URI}/${sfp_name}
-    ...    "sfp-rendered-service-path"
-    ...    1
-    ${elements} =    BuiltIn.Create List
-    ...    "parent-service-function-path":"SFC1-100"
-    ...    "hop-number":0
-    ...    "service-index":255
-    ...    "hop-number":1
-    ...    "service-index":254
-    ...    "hop-number":2
-    ...    "service-index":253
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSPS_URI}    ${elements}
-
-Get Rendered Service Path Hop
-    [Documentation]    Check Rendered Service Path Hops Created in "Basic Environment Setup Tests"
-    ${sfp_name} =    BuiltIn.Set Variable    SFC1-100
-    ${rsp_name} =    SfcKeywords.Get Rendered Service Path Name    ${sfp_name}
-    ${resp} =    RequestsLibrary.Get Request
-    ...    session
-    ...    ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/0/
-    BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    ${elements} =    BuiltIn.Create List    "hop-number":0    "service-index":255    "service-function-name":"dpi
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/0/    ${elements}
-    ${elements} =    BuiltIn.Create List    "hop-number":1    "service-index":254    "service-function-name":"napt44
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/1/    ${elements}
-    ${elements} =    BuiltIn.Create List    "hop-number":2    "service-index":253    "service-function-name":"firewall
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/2/    ${elements}
-    ${resp} =    RequestsLibrary.Get Request
-    ...    session
-    ...    ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/3/
-    BuiltIn.Should Be Equal As Strings    ${resp.status_code}    404
-
-Delete one Rendered Service Path By Name
-    [Documentation]    Delete One Rendered Service Path By deleting the parent Service Function Path
-    ...    The RSP to be deleted was created in "Basic Environment Setup Tests"
-    ${sfp_name} =    BuiltIn.Set Variable    SFC2-200
-    ${rsp_name} =    SfcKeywords.Get Rendered Service Path Name    ${sfp_name}
-    # First verify that the RSP exists
-    ${resp} =    RequestsLibrary.Get Request    session    ${OPERATIONAL_RSP_URI}/${rsp_name}
-    BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    SfcKeywords.Delete Sfp And Wait For Rsps Deletion    ${sfp_name}
-
-Generate RSPs with Random Schedule Algorithm type
-    [Documentation]    Generate RSPs with Random Schedule Algorithm type Through RESTConf APIs
-    Utils.Remove All Elements At URI    ${SERVICE_SCHED_TYPES_URI}
-    Utils.Add Elements To URI From File    ${SERVICE_RANDOM_SCHED_TYPE_URI}    ${SERVICE_RANDOM_SCHED_TYPE_FILE}
-    SfcKeywords.Delete All Sfps And Wait For Rsps Deletion
-    # Create the SFPs which will create the RSPs with the Random scheduler
-    SfcKeywords.Create Sfp And Wait For Rsp Creation    ${SERVICE_FUNCTION_PATHS_FILE}
-    ${sfp_name} =    BuiltIn.Set Variable    SFC1-100
-    ${rsp_name} =    SfcKeywords.Get Rendered Service Path Name    ${sfp_name}
-    ${elements} =    BuiltIn.Create List    "hop-number":0    "service-index":255    "service-function-name":"dpi
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/0/    ${elements}
-    ${elements} =    BuiltIn.Create List    "hop-number":1    "service-index":254    "service-function-name":"napt44
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/1/    ${elements}
-    ${elements} =    BuiltIn.Create List    "hop-number":2    "service-index":253    "service-function-name":"firewall
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/2/    ${elements}
-
-Generate RSPs with Round Robin Schedule Algorithm type
-    [Documentation]    Generate RSPs with Round Robin Schedule Algorithm type
-    [Tags]    exclude
-    Utils.Remove All Elements At URI    ${SERVICE_SCHED_TYPES_URI}
-    Utils.Add Elements To URI From File
-    ...    ${SERVICE_ROUNDROBIN_SCHED_TYPE_URI}
-    ...    ${SERVICE_ROUNDROBIN_SCHED_TYPE_FILE}
-    SfcKeywords.Delete All Sfps And Wait For Rsps Deletion
-    # Create the SFPs which will create the RSPs with the Random scheduler
-    SfcKeywords.Create Sfp And Wait For Rsp Creation    ${SERVICE_FUNCTION_PATHS_FILE}
-    ${rsp1_name} =    SfcKeywords.Get Rendered Service Path Name    SFC1-100
-    ${rsp2_name} =    SfcKeywords.Get Rendered Service Path Name    SFC1-200
-    ${rsp3_name} =    SfcKeywords.Get Rendered Service Path Name    SFC1-300
-    ${rsp4_name} =    SfcKeywords.Get Rendered Service Path Name    SFC2-100
-    ${rsp5_name} =    SfcKeywords.Get Rendered Service Path Name    SFC2-200
-    ${path1_hop0} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/
-    ${path1_hop1} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/
-    ${path1_hop2} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/
-    ${path2_hop0} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/
-    ${path2_hop1} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/
-    ${path2_hop2} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/
-    ${path3_hop0} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/
-    ${path3_hop1} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/
-    ${path3_hop2} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/
-    ${path4_hop0} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/
-    ${path4_hop1} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/
-    ${path4_hop2} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/
-    ${path5_hop0} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/
-    ${path5_hop1} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/
-    ${path5_hop2} =    SfcKeywords.Get JSON Elements From URI
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/
-    BuiltIn.Should Be Equal    ${path1_hop0}    ${path4_hop0}
-    BuiltIn.Should Not Be Equal    ${path1_hop0}    ${path2_hop0}
-    BuiltIn.Should Be Equal    ${path1_hop1}    ${path4_hop1}
-    BuiltIn.Should Not Be Equal    ${path1_hop1}    ${path2_hop1}
-    BuiltIn.Should Be Equal    ${path1_hop2}    ${path4_hop2}
-    BuiltIn.Should Not Be Equal    ${path1_hop2}    ${path2_hop2}
-    BuiltIn.Should Be Equal    ${path2_hop0}    ${path5_hop0}
-    BuiltIn.Should Not Be Equal    ${path2_hop0}    ${path3_hop0}
-    BuiltIn.Should Be Equal    ${path2_hop1}    ${path5_hop1}
-    BuiltIn.Should Not Be Equal    ${path2_hop1}    ${path3_hop1}
-    BuiltIn.Should Be Equal    ${path2_hop2}    ${path5_hop2}
-    BuiltIn.Should Not Be Equal    ${path2_hop2}    ${path3_hop2}
-    BuiltIn.Should Be Equal    ${path3_hop0}    ${path1_hop0}
-    BuiltIn.Should Not Be Equal    ${path3_hop0}    ${path1_hop0}
-    BuiltIn.Should Be Equal    ${path3_hop1}    ${path1_hop1}
-    BuiltIn.Should Not Be Equal    ${path3_hop1}    ${path1_hop1}
-    BuiltIn.Should Be Equal    ${path3_hop2}    ${path1_hop2}
-    BuiltIn.Should Not Be Equal    ${path3_hop2}    ${path1_hop2}
-
-Generate RSPs with Shortest Path Schedule Algorithm type
-    [Documentation]    Generate RSPs with Shortest Path Schedule Algorithm type Through RESTConf APIs
-    Utils.Remove All Elements At URI    ${SERVICE_SCHED_TYPES_URI}
-    Utils.Add Elements To URI From File
-    ...    ${SERVICE_SHORTESTPATH_SCHED_TYPE_URI}
-    ...    ${SERVICE_SHORTESTPATH_SCHED_TYPE_FILE}
-    SfcKeywords.Delete All Sfps And Wait For Rsps Deletion
-    # Create the SFPs which will create the RSPs with the Random scheduler
-    SfcKeywords.Create Sfp And Wait For Rsp Creation    ${SERVICE_FUNCTION_PATHS_FILE}
-    ${rsp1_name} =    SfcKeywords.Get Rendered Service Path Name    SFC1-100
-    ${rsp2_name} =    SfcKeywords.Get Rendered Service Path Name    SFC1-200
-    ${rsp3_name} =    SfcKeywords.Get Rendered Service Path Name    SFC1-300
-    ${rsp4_name} =    SfcKeywords.Get Rendered Service Path Name    SFC2-100
-    ${rsp5_name} =    SfcKeywords.Get Rendered Service Path Name    SFC2-200
-    ${elements} =    BuiltIn.Create List    "hop-number":0    "service-index":255    "service-function-name":"dpi-1
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/    ${elements}
-    ${elements} =    BuiltIn.Create List    "hop-number":1    "service-index":254    "service-function-name":"napt44
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/    ${elements}
-    ${elements} =    BuiltIn.Create List    "hop-number":2    "service-index":253    "service-function-name":"firewall
-    Utils.Check For Elements At URI    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/    ${elements}
-    ${resp} =    RequestsLibrary.Get Request
-    ...    session
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/0/
-    BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    ${temp_vars} =    BuiltIn.Set Variable    ['rendered-service-path-hop'][0]['service-function-forwarder']
-    ${fwd_hop1} =    Utils.Extract Value From Content    ${resp.content}    ${temp_vars}
-    ${resp} =    RequestsLibrary.Get Request
-    ...    session
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/1/
-    BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    ${fwd_hop2} =    Utils.Extract Value From Content    ${resp.content}    ${temp_vars}
-    ${resp} =    RequestsLibrary.Get Request
-    ...    session
-    ...    ${OPERATIONAL_RSP_URI}/${rsp1_name}/rendered-service-path-hop/2/
-    BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    ${fwd_hop3} =    Utils.Extract Value From Content    ${resp.content}    ${temp_vars}
-    BuiltIn.Should Be Equal    ${fwd_hop1}    ${fwd_hop2}
-    BuiltIn.Should Be Equal    ${fwd_hop2}    ${fwd_hop3}
-    ${resp} =    RequestsLibrary.Get Request
-    ...    session
-    ...    ${OPERATIONAL_RSP_URI}/${rsp2_name}/rendered-service-path-hop/0/
-    BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    ${fwd_hop1} =    Utils.Extract Value From Content    ${resp.content}    ${temp_vars}
-    ${resp} =    RequestsLibrary.Get Request
-    ...    session
-    ...    ${OPERATIONAL_RSP_URI}/${rsp2_name}/rendered-service-path-hop/1/
-    BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    ${fwd_hop2} =    Utils.Extract Value From Content    ${resp.content}    ${temp_vars}
-    ${resp} =    RequestsLibrary.Get Request
-    ...    session
-    ...    ${OPERATIONAL_RSP_URI}/${rsp2_name}/rendered-service-path-hop/2/
-    BuiltIn.Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    ${fwd_hop3} =    Utils.Extract Value From Content    ${resp.content}    ${temp_vars}
-    BuiltIn.Should Be Equal    ${fwd_hop1}    ${fwd_hop2}
-    BuiltIn.Should Be Equal    ${fwd_hop2}    ${fwd_hop3}
-
-Clean Datastore After Tests
-    [Documentation]    Clean All Items In Datastore After Tests
-    Utils.Remove All Elements At URI    ${SERVICE_FUNCTIONS_URI}
-    BuiltIn.Wait Until Keyword Succeeds
-    ...    60s
-    ...    2s
-    ...    SfcKeywords.Check Service Function Types Removed
-    ...    ${SERVICE_FUNCTION_NAMES}
-    Utils.Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
-    Utils.Remove All Elements At URI    ${SERVICE_NODES_URI}
-    Utils.Remove All Elements At URI    ${SERVICE_CHAINS_URI}
-    Utils.Remove All Elements At URI    ${SERVICE_SCHED_TYPES_URI}
-    Utils.Remove All Elements If Exist    ${SERVICE_FUNCTION_PATHS_URI}
-    BuiltIn.Wait Until Keyword Succeeds    60s    2s    SfcKeywords.Check Empty Service Function Paths State
-
-
-*** Keywords ***
-Init Suite
-    [Documentation]    Create session and initialize ODL version specific variables
-    RequestsLibrary.Create Session
-    ...    session
-    ...    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
-    ...    auth=${AUTH}
-    ...    headers=${HEADERS}
-    BuiltIn.log    ${ODL_STREAM}
-    BuiltIn.Set Suite Variable    ${VERSION_DIR}    master
-    BuiltIn.Set Suite Variable    ${TEST_DIR}    ${CURDIR}/../../../variables/sfc/${VERSION_DIR}
-    BuiltIn.Set Suite Variable    ${SERVICE_FUNCTIONS_FILE}    ${TEST_DIR}/service-functions.json
-    BuiltIn.Set Suite Variable
-    ...    @{SERVICE_FUNCTION_NAMES}
-    ...    "napt44-103-2"
-    ...    "napt44-103-1"
-    ...    "dpi-102-2"
-    ...    "firewall-101-2"
-    ...    "napt44-104"
-    ...    "dpi-102-1"
-    ...    "firewall-104"
-    ...    "dpi-102-3"
-    ...    "firewall-101-1"
-    BuiltIn.Set Suite Variable    ${SERVICE_FORWARDERS_FILE}    ${TEST_DIR}/service-function-forwarders.json
-    BuiltIn.Set Suite Variable    ${SERVICE_NODES_FILE}    ${TEST_DIR}/service-nodes.json
-    BuiltIn.Set Suite Variable    ${SERVICE_CHAINS_FILE}    ${TEST_DIR}/service-function-chains.json
-    BuiltIn.Set Suite Variable    ${SERVICE_FUNCTION_PATHS_FILE}    ${TEST_DIR}/service-function-paths.json
-    BuiltIn.Set Suite Variable    ${SERVICE_RANDOM_SCHED_TYPE_FILE}    ${TEST_DIR}/service-random-schedule-type.json
-    BuiltIn.Set Suite Variable
-    ...    ${SERVICE_ROUNDROBIN_SCHED_TYPE_FILE}
-    ...    ${TEST_DIR}/service-roundrobin-schedule-type.json
-    BuiltIn.Set Suite Variable
-    ...    ${SERVICE_LOADBALANCE_SCHED_TYPE_FILE}
-    ...    ${TEST_DIR}/service-loadbalance-schedule-type.json
-    BuiltIn.Set Suite Variable
-    ...    ${SERVICE_SHORTESTPATH_SCHED_TYPE_FILE}
-    ...    ${TEST_DIR}/service-shortestpath-schedule-type.json