From 1abaad2a3a7df0f9e08a86c079f26c395e0d57e9 Mon Sep 17 00:00:00 2001 From: ebrjohn Date: Fri, 27 Jul 2018 16:38:15 +0200 Subject: [PATCH] Refactor SFC CSIT Variables - remove trailing slashes in variable declarations to improve readability Change-Id: I27e689ced191de9152cb3f12d30aaa73c4ac8287 Signed-off-by: Brady Johnson --- csit/libraries/SFC/SfcKeywords.robot | 6 +- .../Full_Deploy/010__sfc_full_deploy.robot | 4 +- .../Full_Deploy/011__sfc_service_paths.robot | 21 +-- .../012__sfc_service_paths_validation.robot | 2 - .../013__sfc_service_functions_logical.robot | 10 +- .../014__sfc_service_forwarders_logical.robot | 15 ++- ...__sfc_rendered_service_paths_logical.robot | 29 ++++- .../010__sfc_service_functions.robot | 30 ++--- .../020__sfc_service_forwarders.robot | 120 +++++++++--------- .../SFC_Basic/030__sfc_service_nodes.robot | 16 +-- .../SFC_Basic/040__sfc_service_chains.robot | 34 ++--- .../050__sfc_service_schedule_types.robot | 18 +-- .../SFC_Basic/060__sfc_service_paths.robot | 20 +-- .../070__sfc_rendered_service_paths.robot | 89 ++++++------- .../120__sfc_service_function_acl.robot | 31 +++-- ...140__sfc_service_function_classifier.robot | 31 +++-- csit/variables/sfc/Variables.robot | 43 ++++--- 17 files changed, 269 insertions(+), 250 deletions(-) diff --git a/csit/libraries/SFC/SfcKeywords.robot b/csit/libraries/SFC/SfcKeywords.robot index c40780155c..158f44fe7e 100644 --- a/csit/libraries/SFC/SfcKeywords.robot +++ b/csit/libraries/SFC/SfcKeywords.robot @@ -49,7 +49,7 @@ Check Rendered Service Path Deleted Get Rendered Service Path Name [Arguments] ${sfp_name} ${get_reverse}=False [Documentation] Given an SFP name, do a get on ${SERVICE_FUNCTION_PATH_STATE_URI} to get the RSP name - ${resp} = RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATH_STATE_URI}${sfp_name} + ${resp} = RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATH_STATE_URI}/${sfp_name} BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} # should be like this: {"service-function-path-state":[{"name":"SFC1-100","sfp-rendered-service-path":[{"name":"SFC1-100-Path-183"}]}]} ${sfp_rendered_service_path_list} = Collections.Get_From_Dictionary ${resp.json()} service-function-path-state @@ -83,13 +83,13 @@ Create Sfp And Wait For Rsp Creation \ ${status} ${symmetric} = BuiltIn.Run Keyword And Ignore Error Collections.Get_From_Dictionary ${sfp_entry_dict} symmetric \ ${symmetric} = BuiltIn.Set Variable If "${status}" == "FAIL" False ${symmetric} \ ${num_names} = BuiltIn.Set Variable If "${symmetric}" == "False" 2 3 - \ BuiltIn.Wait Until Keyword Succeeds 60s 2s Utils.Check For Specific Number Of Elements At URI ${SERVICE_FUNCTION_PATH_STATE_URI}${sfp_name} name + \ BuiltIn.Wait Until Keyword Succeeds 60s 2s Utils.Check For Specific Number Of Elements At URI ${SERVICE_FUNCTION_PATH_STATE_URI}/${sfp_name} name \ ... ${num_names} Delete Sfp And Wait For Rsps Deletion [Arguments] ${sfp_name} [Documentation] Given an SFP name, delete it and wait for the associated SFP state and RSPs to be deleted - Utils.Remove All Elements At URI And Verify ${SERVICE_FUNCTION_PATH_URI}${sfp_name} + Utils.Remove All Elements At URI And Verify ${SERVICE_FUNCTION_PATH_URI}/${sfp_name} BuiltIn.Wait Until Keyword Succeeds 60s 2s Check Rendered Service Path Deleted ${sfp_name} Delete All Sfps And Wait For Rsps Deletion diff --git a/csit/suites/sfc/Full_Deploy/010__sfc_full_deploy.robot b/csit/suites/sfc/Full_Deploy/010__sfc_full_deploy.robot index 515a6f0e84..95f713e0ae 100644 --- a/csit/suites/sfc/Full_Deploy/010__sfc_full_deploy.robot +++ b/csit/suites/sfc/Full_Deploy/010__sfc_full_deploy.robot @@ -37,9 +37,9 @@ Get Rendered Service Path By Name [Documentation] Get Rendered Service Path By Name Through RESTConf APIs. Full Deploy # The RSP should be symetric, so 2 should be created for the SFP ${rsp_name} = SfcKeywords.Get Rendered Service Path Name ${SFP_NAME} - Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}${rsp_name} + Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}/${rsp_name} ${rsp_rev_name} = SfcKeywords.Get Rendered Service Path Name ${SFP_NAME} True - Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}${rsp_rev_name} + Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}/${rsp_rev_name} ${elements} = BuiltIn.Create List ${rsp_name} "parent-service-function-path":"${SFP_NAME}" "hop-number":0 "service-index":255 "hop-number":1 ... "service-index":254 Utils.Check For Elements At URI ${OPERATIONAL_RSPS_URI} ${elements} diff --git a/csit/suites/sfc/Full_Deploy/011__sfc_service_paths.robot b/csit/suites/sfc/Full_Deploy/011__sfc_service_paths.robot index 910693f65a..f94612439f 100644 --- a/csit/suites/sfc/Full_Deploy/011__sfc_service_paths.robot +++ b/csit/suites/sfc/Full_Deploy/011__sfc_service_paths.robot @@ -7,6 +7,7 @@ Library SSHLibrary Library Collections Library OperatingSystem Library RequestsLibrary +Resource ../../../variables/sfc/Variables.robot Resource ../../../variables/Variables.robot Resource ../../../libraries/Utils.robot Resource ../../../libraries/TemplatedRequests.robot @@ -37,21 +38,21 @@ Get one Service Function Path [Documentation] Get one Service Function Path Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE} ${elements}= Create List SFC1-100 "service-chain-name":"SFC1" - Check For Elements At URI ${SERVICE_FUNCTION_PATHS_URI}service-function-path/SFC1-100 ${elements} + Check For Elements At URI ${SERVICE_FUNCTION_PATH_URI}/SFC1-100 ${elements} Get A Non-existing Service Function Path [Documentation] Get A Non-existing Service Function Path Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI}service-function-path/non-existing-sfp + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATH_URI}/non-existing-sfp Should Be Equal As Strings ${resp.status_code} 404 Delete A Service Function Path [Documentation] Delete A Service Function Path Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI}service-function-path/SFC1-100 + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATH_URI}/SFC1-100 Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - Remove All Elements At URI ${SERVICE_FUNCTION_PATHS_URI}service-function-path/SFC1-100 - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI}service-function-path/SFC1-100 + Remove All Elements At URI ${SERVICE_FUNCTION_PATH_URI}/SFC1-100 + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATH_URI}/SFC1-100 Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} @@ -63,7 +64,7 @@ Delete A Non-existing Empty Service Function Path ${body} OperatingSystem.Get File ${SERVICE_FUNCTION_PATHS_FILE} ${jsonbody} To Json ${body} ${paths} Get From Dictionary ${jsonbody} service-function-paths - ${resp} RequestsLibrary.Delete Request session ${SERVICE_FUNCTION_PATHS_URI}service-function-path/non-existing-sfp + ${resp} RequestsLibrary.Delete Request session ${SERVICE_FUNCTION_PATH_URI}/non-existing-sfp Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} @@ -87,7 +88,7 @@ Init Suite Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} log ${ODL_STREAM} Set Suite Variable ${VERSION_DIR} master - Set Suite Variable ${SERVICE_FUNCTION_PATHS_URI} /restconf/config/service-function-path:service-function-paths/ - Set Suite Variable ${SERVICE_FUNCTION_PATHS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-paths.json - Set Suite Variable ${SERVICE_FUNCTION_PATH400_URI} /restconf/config/service-function-path:service-function-paths/service-function-path/SFC1-400 - Set Suite Variable ${SERVICE_FUNCTION_PATH400_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sfp_sfc1_path400.json + Set Suite Variable ${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} + Set Suite Variable ${SERVICE_FUNCTION_PATHS_FILE} ${TEST_DIR}/service-function-paths.json + Set Suite Variable ${SERVICE_FUNCTION_PATH400_URI} ${SERVICE_FUNCTION_PATH_URI}/SFC1-400 + Set Suite Variable ${SERVICE_FUNCTION_PATH400_FILE} ${TEST_DIR}/sfp_sfc1_path400.json diff --git a/csit/suites/sfc/Full_Deploy/012__sfc_service_paths_validation.robot b/csit/suites/sfc/Full_Deploy/012__sfc_service_paths_validation.robot index 959c3270e7..d3e61e9e4c 100644 --- a/csit/suites/sfc/Full_Deploy/012__sfc_service_paths_validation.robot +++ b/csit/suites/sfc/Full_Deploy/012__sfc_service_paths_validation.robot @@ -82,8 +82,6 @@ Init Suite Set Suite Variable ${VERSION_DIR} master Set Suite Variable ${SFC_JSON_TEST_FILES_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} Set Suite Variable ${SERVICE_FUNCTION_PATHS_FILE} ${SFC_JSON_TEST_FILES_DIR}/service-function-paths.json - Set Suite Variable ${SERVICE_FUNCTION_PATH400_URI} ${SERVICE_FUNCTION_PATHS_URI}/SFC1-400 - Set Suite Variable ${SERVICE_FUNCTION_PATH400_FILE} ${SFC_JSON_TEST_FILES_DIR}/sfp_sfc1_path400.json Set Suite Variable ${SERVICE_FUNCTION_PATHS_WITH_HOP_FILE} ${SFC_JSON_TEST_FILES_DIR}/service-function-paths-with-one-hop.json Set Suite Variable ${SERVICE_FUNCTION_PATHS_WITH_THREE_HOPS_FILE} ${SFC_JSON_TEST_FILES_DIR}/service-function-paths-with-three-hops-firewall-napt44-dpi.json Set Suite Variable ${SERVICE_FUNCTIONS_FILE} ${SFC_JSON_TEST_FILES_DIR}/service-functions.json diff --git a/csit/suites/sfc/Full_Deploy/013__sfc_service_functions_logical.robot b/csit/suites/sfc/Full_Deploy/013__sfc_service_functions_logical.robot index 8b0230451d..3b83eb260b 100644 --- a/csit/suites/sfc/Full_Deploy/013__sfc_service_functions_logical.robot +++ b/csit/suites/sfc/Full_Deploy/013__sfc_service_functions_logical.robot @@ -15,7 +15,7 @@ Resource ../../../libraries/TemplatedRequests.robot *** Variables *** ${VERSION_DIR} master ${SERVICE_FUNCTIONS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-functions-logicalsff.json -${SF_DPI_URI} ${SERVICE_FUNCTION_URI}dpi-1/ +${SF_DPI_URI} ${SERVICE_FUNCTION_URI}/dpi-1/ ${SF_DPI_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sf_dpi.json *** Test Cases *** @@ -45,18 +45,18 @@ Get one Service Function [Documentation] Get one Service Function. Logical SFF Add Elements To URI From File ${SERVICE_FUNCTIONS_URI} ${SERVICE_FUNCTIONS_FILE} ${elements}= Create List firewall-1 firewall - Check For Elements At URI ${SERVICE_FUNCTION_URI}firewall-1 ${elements} + Check For Elements At URI ${SERVICE_FUNCTION_URI}/firewall-1 ${elements} Get A Non-existing Service Function [Documentation] Get A Non-existing Service Function. Logical SFF Add Elements To URI From File ${SERVICE_FUNCTIONS_URI} ${SERVICE_FUNCTIONS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_URI}non-existing-sf + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_URI}/non-existing-sf Should Be Equal As Strings ${resp.status_code} 404 Delete A Service Function [Documentation] Delete A Service Function. Logical SFF Add Elements To URI From File ${SERVICE_FUNCTIONS_URI} ${SERVICE_FUNCTIONS_FILE} - Remove All Elements At URI ${SERVICE_FUNCTION_URI}dpi-1 + Remove All Elements At URI ${SERVICE_FUNCTION_URI}/dpi-1 ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTIONS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Not Contain ${resp.content} dpi-1 @@ -67,7 +67,7 @@ Delete A Non-existing Empty Service Function ${body} OperatingSystem.Get File ${SERVICE_FUNCTIONS_FILE} ${jsonbody} To Json ${body} ${functions} Get From Dictionary ${jsonbody} service-functions - ${resp} RequestsLibrary.Delete Request session ${SERVICE_FUNCTION_URI}non-existing-sf + ${resp} RequestsLibrary.Delete Request session ${SERVICE_FUNCTION_URI}/non-existing-sf Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTIONS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} diff --git a/csit/suites/sfc/Full_Deploy/014__sfc_service_forwarders_logical.robot b/csit/suites/sfc/Full_Deploy/014__sfc_service_forwarders_logical.robot index bf489fc99c..8d686a2b79 100644 --- a/csit/suites/sfc/Full_Deploy/014__sfc_service_forwarders_logical.robot +++ b/csit/suites/sfc/Full_Deploy/014__sfc_service_forwarders_logical.robot @@ -14,9 +14,10 @@ Resource ../../../libraries/TemplatedRequests.robot *** Variables *** ${VERSION_DIR} master -${SERVICE_FORWARDERS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-forwarders-logicallsff.json -${SFF_SFFLOG_URI} ${SERVICE_FORWARDER_URI}sfflogical1/ -${SFF_SFFLOG_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-forwarder-logicallsff1.json +${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} +${SERVICE_FORWARDERS_FILE} ${TEST_DIR}/service-function-forwarders-logicallsff.json +${SFF_SFFLOG_URI} ${SERVICE_FORWARDER_URI}/sfflogical1 +${SFF_SFFLOG_FILE} ${TEST_DIR}/service-function-forwarder-logicallsff1.json *** Test Cases *** Put Service Function Forwarders @@ -47,16 +48,16 @@ Get one Service Function Forwarder [Tags] include Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE} ${elements}= Create List sfflogical1 - Check For Elements At URI ${SERVICE_FORWARDER_URI}sfflogical1 ${elements} + Check For Elements At URI ${SFF_SFFLOG_URI} ${elements} Delete A Service Function Forwarder [Documentation] Delete A Service Function Forwarder. Logical SFF [Tags] include Add Elements To URI From File ${SERVICE_FORWARDERS_URI} ${SERVICE_FORWARDERS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDER_URI}sfflogical1 + ${resp} RequestsLibrary.Get Request session ${SFF_SFFLOG_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - Remove All Elements At URI ${SERVICE_FORWARDER_URI}sfflogical1 - ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDER_URI}sfflogical1 + Remove All Elements At URI ${SFF_SFFLOG_URI} + ${resp} RequestsLibrary.Get Request session ${SFF_SFFLOG_URI} Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI} Should Be Equal As Strings ${resp.status_code} 200 diff --git a/csit/suites/sfc/Full_Deploy/015__sfc_rendered_service_paths_logical.robot b/csit/suites/sfc/Full_Deploy/015__sfc_rendered_service_paths_logical.robot index eeeb0a49a7..063c17fc0b 100644 --- a/csit/suites/sfc/Full_Deploy/015__sfc_rendered_service_paths_logical.robot +++ b/csit/suites/sfc/Full_Deploy/015__sfc_rendered_service_paths_logical.robot @@ -12,6 +12,21 @@ Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot Resource ../../../libraries/TemplatedRequests.robot +*** Variables *** +${VERSION_DIR} master +${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} +${SERVICE_FUNCTIONS_FILE} ${TEST_DIR}/service-functions-logicalsff.json +${SERVICE_FORWARDERS_FILE} ${TEST_DIR}/service-function-forwarders-logicallsff.json +${SERVICE_CHAINS_FILE} ${TEST_DIR}/service-function-chains-logicalsff.json +${SERVICE_FUNCTION_PATHS_FILE} ${TEST_DIR}/service-function-paths-logicalsff.json +${CREATE_RSP1_INPUT} {"input":{"name": "RSP1","parent-service-function-path": "SFP1","symmetric": "true"}} +${CREATE_RSP2_INPUT} {"input":{"name": "RSP2","parent-service-function-path": "SFP2","symmetric": "true"}} +${CREATE_RSP_FAILURE_INPUT} {"input":{"name": "RSP1","parent-service-function-path": "SFP3","symmetric": "true"}} +${DELETE_RSP1_INPUT} {"input":{"name":"RSP1"}} +${DELETE_RSP1_REVERSE_INPUT} {"input":{"name":"RSP1-Reverse"}} +${DELETE_RSP2_INPUT} {"input":{"name":"RSP2"}} +@{SF_NAMES} "name":"firewall-1" "name":"dpi-1" + *** Test Cases *** Basic Environment Setup Tests [Documentation] Prepare Basic Test Environment. Logical SFF @@ -25,9 +40,9 @@ Get Rendered Service Path By Name [Documentation] Get Rendered Service Path By Name Through RESTConf APIs. Logical SFF # The RSP should be symetric, so 2 should be created for the SFP ${rsp_name} = SfcKeywords.Get Rendered Service Path Name ${SFP_NAME} - Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}${rsp_name} + Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}/${rsp_name} ${rsp_name_rev} = SfcKeywords.Get Rendered Service Path Name ${SFP_NAME} - Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}${rsp_name_rev} + Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}/${rsp_name_rev} ${elements} = Create List "parent-service-function-path":"${SFP_NAME}" "hop-number":0 "service-index":255 "hop-number":1 "service-index":254 Utils.Check For Elements At URI ${OPERATIONAL_RSPS_URI} ${elements} @@ -35,9 +50,9 @@ Delete one Rendered Service Path By Name [Documentation] Delete One Rendered Service Path By Name Through RESTConf APIs. Logical SFF # First verify that the RSPs exist ${rsp_name} = SfcKeywords.Get Rendered Service Path Name ${SFP_NAME} - Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}${rsp_name} + Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}/${rsp_name} ${rsp_name_rev} = SfcKeywords.Get Rendered Service Path Name ${SFP_NAME} True - Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}${rsp_name_rev} + Utils.Get URI And Verify ${OPERATIONAL_RSP_URI}/${rsp_name_rev} # Delete the SFP, which will delete the RSPs SfcKeywords.Delete Sfp And Wait For Rsps Deletion ${SFP_NAME} @@ -47,10 +62,10 @@ Get Rendered Service Path Hop SfcKeywords.Create Sfp And Wait For Rsp Creation ${SERVICE_FUNCTION_PATHS_FILE} ${rsp_name} = SfcKeywords.Get Rendered Service Path Name ${SFP_NAME} ${elements} = BuiltIn.Create List "hop-number":0 "service-index":255 "service-function-name":"dpi-1 - Utils.Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/${rsp_name}/rendered-service-path-hop/0/ ${elements} + 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":"firewall-1 - Utils.Check For Elements At URI ${OPERATIONAL_RSPS_URI}rendered-service-path/${rsp_name}/rendered-service-path-hop/1/ ${elements} - ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_RSPS_URI}rendered-service-path/RSP1/rendered-service-path-hop/2/ + Utils.Check For Elements At URI ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/1/ ${elements} + ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_RSP_URI}/${rsp_name}/rendered-service-path-hop/2/ BuiltIn.Should Be Equal As Strings ${resp.status_code} 404 *** Keywords *** diff --git a/csit/suites/sfc/SFC_Basic/010__sfc_service_functions.robot b/csit/suites/sfc/SFC_Basic/010__sfc_service_functions.robot index 46060baeca..2f3b7e5ead 100644 --- a/csit/suites/sfc/SFC_Basic/010__sfc_service_functions.robot +++ b/csit/suites/sfc/SFC_Basic/010__sfc_service_functions.robot @@ -38,18 +38,18 @@ Get one Service Function [Documentation] Get one Service Function Add Elements To URI From File ${SERVICE_FUNCTIONS_URI} ${SERVICE_FUNCTIONS_FILE} ${elements}= Create List dpi-102-1 dpi - Check For Elements At URI ${SERVICE_FUNCTIONS_URI}service-function/dpi-102-1 ${elements} + Check For Elements At URI ${SERVICE_FUNCTION_URI}/dpi-102-1 ${elements} Get A Non-existing Service Function [Documentation] Get A Non-existing Service Function Add Elements To URI From File ${SERVICE_FUNCTIONS_URI} ${SERVICE_FUNCTIONS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTIONS_URI}service-function/non-existing-sf + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_URI}/non-existing-sf Should Be Equal As Strings ${resp.status_code} 404 Delete A Service Function [Documentation] Delete A Service Function Add Elements To URI From File ${SERVICE_FUNCTIONS_URI} ${SERVICE_FUNCTIONS_FILE} - Remove All Elements At URI ${SERVICE_FUNCTIONS_URI}service-function/dpi-102-1 + Remove All Elements At URI ${SERVICE_FUNCTION_URI}/dpi-102-1 ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTIONS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Not Contain ${resp.content} dpi-102-1 @@ -60,7 +60,7 @@ Delete A Non-existing Empty Service Function ${body} OperatingSystem.Get File ${SERVICE_FUNCTIONS_FILE} ${jsonbody} To Json ${body} ${functions} Get From Dictionary ${jsonbody} service-functions - ${resp} RequestsLibrary.Delete Request session ${SERVICE_FUNCTIONS_URI}service-function/non-existing-sf + ${resp} RequestsLibrary.Delete Request session ${SERVICE_FUNCTION_URI}/non-existing-sf Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTIONS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} @@ -79,31 +79,31 @@ Get Service Function DPL [Documentation] Get Service Function Data Plane Locator Add Elements To URI From File ${SF_DPI102100_URI} ${SF_DPI102100_FILE} ${elements}= Create List 100 10100 - Check For Elements At URI ${SF_DPI102100_URI}sf-data-plane-locator/dpl-100 ${elements} + Check For Elements At URI ${SF_DPI102100_URI}/sf-data-plane-locator/dpl-100 ${elements} Put Service Function DPL [Documentation] Put Service Function Data Plane Locator Add Elements To URI From File ${SF_DPI102100_URI} ${SF_DPI102100_FILE} - Add Elements To URI From File ${SF_DPI102100_URI}sf-data-plane-locator/dpl-101 ${SF_DPL101_FILE} + Add Elements To URI From File ${SF_DPI102100_URI}/sf-data-plane-locator/dpl-101 ${SF_DPL101_FILE} ${elements}= Create List dpl-101 10101 - Check For Elements At URI ${SF_DPI102100_URI}sf-data-plane-locator/dpl-101 ${elements} + Check For Elements At URI ${SF_DPI102100_URI}/sf-data-plane-locator/dpl-101 ${elements} Check For Elements At URI ${SF_DPI102100_URI} ${elements} Put Service Function DPL to a Non-existing Service Function [Documentation] Put Service Function DPL to a Non-existing Service Function [Tags] exclude - Add Elements To URI From File ${SF_DPI102100_URI}sf-data-plane-locator/dpl-101 ${SF_DPL101_FILE} + Add Elements To URI From File ${SF_DPI102100_URI}/sf-data-plane-locator/dpl-101 ${SF_DPL101_FILE} ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTIONS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Contain ${resp.content} dpi-102-100 ${elements}= Create List dpl-101 10101 - Check For Elements At URI ${SF_DPI102100_URI}sf-data-plane-locator/dpl-101 ${elements} + Check For Elements At URI ${SF_DPI102100_URI}/sf-data-plane-locator/dpl-101 ${elements} Check For Elements At URI ${SF_DPI102100_URI} ${elements} Delete Service Function DPL [Documentation] Delete Service Function Data Plane Locator Add Elements To URI From File ${SF_DPI102100_URI} ${SF_DPI102100_FILE} - Remove All Elements At URI ${SF_DPI102100_URI}sf-data-plane-locator/dpl-100 + Remove All Elements At URI ${SF_DPI102100_URI}/sf-data-plane-locator/dpl-100 ${resp} RequestsLibrary.Get Request session ${SF_DPI102100_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Not Contain ${resp.content} dpl-100 @@ -114,8 +114,8 @@ Init Suite Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} log ${ODL_STREAM} Set Suite Variable ${VERSION_DIR} master - Set Suite Variable ${SERVICE_FUNCTIONS_URI} /restconf/config/service-function:service-functions/ - Set Suite Variable ${SERVICE_FUNCTIONS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-functions.json - Set Suite Variable ${SF_DPI102100_URI} /restconf/config/service-function:service-functions/service-function/dpi-102-100/ - Set Suite Variable ${SF_DPI102100_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sf_dpi_102_100.json - Set Suite Variable ${SF_DPL101_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sf_dpl_101.json + Set Suite Variable ${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} + Set Suite Variable ${SERVICE_FUNCTIONS_FILE} ${TEST_DIR}/service-functions.json + Set Suite Variable ${SF_DPI102100_URI} ${SERVICE_FUNCTION_URI}/dpi-102-100 + Set Suite Variable ${SF_DPI102100_FILE} ${TEST_DIR}/sf_dpi_102_100.json + Set Suite Variable ${SF_DPL101_FILE} ${TEST_DIR}/sf_dpl_101.json diff --git a/csit/suites/sfc/SFC_Basic/020__sfc_service_forwarders.robot b/csit/suites/sfc/SFC_Basic/020__sfc_service_forwarders.robot index 763be93bab..cad9f16032 100644 --- a/csit/suites/sfc/SFC_Basic/020__sfc_service_forwarders.robot +++ b/csit/suites/sfc/SFC_Basic/020__sfc_service_forwarders.robot @@ -37,21 +37,21 @@ Get one Service Function Forwarder [Documentation] Get one Service Function Forwarder 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} + Check For Elements At URI ${SFF_BOOTSTRAP_URI} ${elements} Get A Non-existing Service Function Forwarder [Documentation] Get A Non-existing Service Function Forwarder 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 + ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDER_URI}/non-existing-sff Should Be Equal As Strings ${resp.status_code} 404 Delete A Service Function Forwarder [Documentation] Delete A Service Function Forwarder 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 + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI} 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 + Remove All Elements At URI ${SFF_BOOTSTRAP_URI} + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI} Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI} Should Be Equal As Strings ${resp.status_code} 200 @@ -63,7 +63,7 @@ Delete A Non-existing Service Function Forwarder ${body} OperatingSystem.Get File ${SERVICE_FORWARDERS_FILE} ${jsonbody} To Json ${body} ${forwarders} Get From Dictionary ${jsonbody} service-function-forwarders - ${resp} RequestsLibrary.Delete Request session ${SERVICE_FORWARDERS_URI}service-function-forwarder/non-existing-sff + ${resp} RequestsLibrary.Delete Request session ${SERVICE_FORWARDER_URI}/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} @@ -84,30 +84,30 @@ Get Service Function Forwarder DPL [Documentation] Get Service Function Data Plane Locator 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} + 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 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 ${SFF_DPL101_FILE} ${elements}= Create List dpl-101 6101 - Check For Elements At URI ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101 ${elements} + Check For Elements At URI ${SFF_OVS100_URI}/sff-data-plane-locator/dpl-101 ${elements} Check For Elements At URI ${SFF_OVS100_URI} ${elements} Put DPL to a Non-existing Service Function Forwarder [Documentation] Put Service Function DPL to a Non-existing Service Function - 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 ${SFF_DPL101_FILE} ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Contain ${resp.content} ovs-100 ${elements}= Create List dpl-101 6101 - Check For Elements At URI ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101 ${elements} + Check For Elements At URI ${SFF_OVS100_URI}/sff-data-plane-locator/dpl-101 ${elements} Check For Elements At URI ${SFF_OVS100_URI} ${elements} Delete Service Function Forwarder DPL [Documentation] Delete Service Function Forwarder Data Plane Locator 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 + Remove All Elements At URI ${SFF_OVS100_URI}/sff-data-plane-locator/eth0 ${resp} RequestsLibrary.Get Request session ${SFF_OVS100_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Not Contain ${resp.content} "name":"eth0" @@ -116,27 +116,27 @@ Get Service Function Forwarder DPL's Locator [Documentation] Get Service Function Data Plane Locator 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} + 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 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} + 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} ${elements}= Create List 5000 service-locator:vxlan-gpe - Check For Elements At URI ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101/data-plane-locator ${elements} + Check For Elements At URI ${SFF_OVS100_URI}/sff-data-plane-locator/dpl-101/data-plane-locator ${elements} ${elements}= Create List dpl-101 5000 service-locator:vxlan-gpe - Check For Elements At URI ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101 ${elements} + Check For Elements At URI ${SFF_OVS100_URI}/sff-data-plane-locator/dpl-101 ${elements} Check For Elements At URI ${SFF_OVS100_URI} ${elements} Delete Service Function Forwarder DPL's Locator [Documentation] Delete Service Function Forwarder Data Plane Locator [Tags] exclude 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} - Remove All Elements At URI ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101/data-plane-locator - ${resp} RequestsLibrary.Get Request session ${SFF_OVS100_URI}sff-data-plane-locator/dpl-101 + 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} + Remove All Elements At URI ${SFF_OVS100_URI}/sff-data-plane-locator/dpl-101/data-plane-locator + ${resp} RequestsLibrary.Get Request session ${SFF_OVS100_URI}/sff-data-plane-locator/dpl-101 Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Contain ${resp.content} dpl-101 Should Not Contain ${resp.content} 6101 @@ -150,17 +150,17 @@ Get Service Function Dictionary From SFF [Documentation] Get Service Function Dictionary From SFF 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} + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI} ${elements} Delete Service Function Dictionary From SFF [Documentation] Delete Service Function Dictionary From SFF 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 + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - Remove All Elements At URI ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1 - ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1 + Remove All Elements At URI ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI} + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI} Should Be Equal As Strings ${resp.status_code} 404 - ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/ + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Contain ${resp.content} service-function-dictionary Should Not Contain ${resp.content} SF1 @@ -168,77 +168,77 @@ Delete Service Function Dictionary From SFF Put Service Function Dictionary to SFF [Documentation] Put Service Function Dictionary to SFF 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} + Add Elements To URI From File ${SFF_BOOTSTRAP_URI}/service-function-dictionary/SF100 ${SFF_SFD_SF100_FILE} ${elements}= Create List SF100 SF2-DPL eth0 - Check For Elements At URI ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF100 ${elements} + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/service-function-dictionary/SF100 ${elements} ${elements}= create list service-function-dictionary SF100 SF2-DPL eth0 - Check For Elements At URI ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/ ${elements} + Check For Elements At URI ${SFF_BOOTSTRAP_URI} ${elements} Get Service Function Dictionary's DPL From SFF [Documentation] Get Service Function Dictionary From SFF 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} + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI}/sff-sf-data-plane-locator/ ${elements} Delete Service Function Dictionary's DPL From SFF [Documentation] Delete Service Function Dictionary From SFF 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/ + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI}/sff-sf-data-plane-locator Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - Remove All Elements At URI ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1/sff-sf-data-plane-locator/ - ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1/sff-sf-data-plane-locator/ + Remove All Elements At URI ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI}/sff-sf-data-plane-locator + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI}/sff-sf-data-plane-locator Should Be Equal As Strings ${resp.status_code} 404 Put DPL of Service Function Dictionary to SFF [Documentation] Put DPL of Service Function Dictionary to SFF 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} + Add Elements To URI From File ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI}/sff-sf-data-plane-locator ${SFF_SFD_LOCATOR_FILE} ${elements}= create list sff-sf-data-plane-locator SF2-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} - Check For Elements At URI ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/service-function-dictionary/SF1/ ${elements} + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI}/sff-sf-data-plane-locator ${elements} + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/${SF_DICT_SF1_URI} ${elements} Get Connected SFF Dictionary From SFF [Documentation] Get Connected SFF Dictionary Dictionary From SFF 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} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}service-function-forwarder/br-int-ovs-2/connected-sff-dictionary/SFF-bootstrap + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/connected-sff-dictionary/br-int-ovs-2 ${elements} + ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDER_URI}/br-int-ovs-2/connected-sff-dictionary/SFF-bootstrap Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Contain ${resp.content} SFF-bootstrap Delete Connected SFF Dictionary From SFF [Documentation] Delete Connected SFF Dictionary From SFF 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 + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI}/connected-sff-dictionary/br-int-ovs-2 Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - Remove All Elements At URI ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/br-int-ovs-2 - ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/br-int-ovs-2 + Remove All Elements At URI ${SFF_BOOTSTRAP_URI}/connected-sff-dictionary/br-int-ovs-2 + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI}/connected-sff-dictionary/br-int-ovs-2 Should Be Equal As Strings ${resp.status_code} 404 - ${resp} RequestsLibrary.Get Request session ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/ + ${resp} RequestsLibrary.Get Request session ${SFF_BOOTSTRAP_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Not Contain ${resp.content} br-int-ovs-2 Put Connected SFF Dictionary to SFF [Documentation] Put Connected SFF Dictionary to SFF 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} + Add Elements To URI From File ${SFF_BOOTSTRAP_URI}/connected-sff-dictionary/SFF100 ${SFF_CSD_SFF100_FILE} ${elements}= create list SFF100 service-function-forwarder:open - Check For Elements At URI ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/connected-sff-dictionary/SFF100 ${elements} - Check For Elements At URI ${SERVICE_FORWARDERS_URI}service-function-forwarder/SFF-bootstrap/ ${elements} + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/connected-sff-dictionary/SFF100 ${elements} + Check For Elements At URI ${SFF_BOOTSTRAP_URI} ${elements} Get Connected SFF Dictionary's DPL From SFF [Documentation] Get Connected SFF Dictionary's DPL From SFF 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} + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/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 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} + Add Elements To URI From File ${SFF_BOOTSTRAP_URI}/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} + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/connected-sff-dictionary/br-int-ovs-2/sff-sff-data-plane-locator ${elements} + Check For Elements At URI ${SFF_BOOTSTRAP_URI}/connected-sff-dictionary/br-int-ovs-2 ${elements} *** keywords *** Init Suite @@ -246,13 +246,15 @@ Init Suite Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} log ${ODL_STREAM} 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/ - Set Suite Variable ${SFF_OVS100_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sff_ovs_100.json - Set Suite Variable ${SFF_DPL101_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sff_dpl_101.json - Set Suite Variable ${SFF_DPL_LOCATOR_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sff_dpl_locator.json - Set Suite Variable ${SFF_SFD_SF100_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sff_sfd_sf100.json - Set Suite Variable ${SFF_SFD_LOCATOR_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sff_sfd_locator.json - Set Suite Variable ${SFF_CSD_SFF100_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sff_csd_sff100.json - Set Suite Variable ${SFF_CSD_LOCATOR_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sff_csd_locator.json + Set Suite Variable ${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} + Set Suite Variable ${SERVICE_FORWARDERS_FILE} ${TEST_DIR}/service-function-forwarders.json + Set Suite Variable ${SFF_OVS100_URI} ${SERVICE_FORWARDER_URI}/ovs-100 + Set Suite Variable ${SFF_BOOTSTRAP_URI} ${SERVICE_FORWARDER_URI}/SFF-bootstrap + Set Suite Variable ${SF_DICT_SF1_URI} service-function-dictionary/SF1 + Set Suite Variable ${SFF_OVS100_FILE} ${TEST_DIR}/sff_ovs_100.json + Set Suite Variable ${SFF_DPL101_FILE} ${TEST_DIR}/sff_dpl_101.json + Set Suite Variable ${SFF_DPL_LOCATOR_FILE} ${TEST_DIR}/sff_dpl_locator.json + Set Suite Variable ${SFF_SFD_SF100_FILE} ${TEST_DIR}/sff_sfd_sf100.json + Set Suite Variable ${SFF_SFD_LOCATOR_FILE} ${TEST_DIR}/sff_sfd_locator.json + Set Suite Variable ${SFF_CSD_SFF100_FILE} ${TEST_DIR}/sff_csd_sff100.json + Set Suite Variable ${SFF_CSD_LOCATOR_FILE} ${TEST_DIR}/sff_csd_locator.json diff --git a/csit/suites/sfc/SFC_Basic/030__sfc_service_nodes.robot b/csit/suites/sfc/SFC_Basic/030__sfc_service_nodes.robot index 601c0f9f89..2b69878375 100644 --- a/csit/suites/sfc/SFC_Basic/030__sfc_service_nodes.robot +++ b/csit/suites/sfc/SFC_Basic/030__sfc_service_nodes.robot @@ -37,18 +37,18 @@ Get one Service Node [Documentation] Get one Service Node Add Elements To URI From File ${SERVICE_NODES_URI} ${SERVICE_NODES_FILE} ${elements}= Create List node-101 firewall-101-2 10.3.1.101 - Check For Elements At URI ${SERVICE_NODES_URI}service-node/node-101 ${elements} + Check For Elements At URI ${SERVICE_NODE_URI}/node-101 ${elements} Get A Non-existing Service Node [Documentation] Get A Non-existing Service Node Add Elements To URI From File ${SERVICE_NODES_URI} ${SERVICE_NODES_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_NODES_URI}service-node/non-existing-sf + ${resp} RequestsLibrary.Get Request session ${SERVICE_NODE_URI}/non-existing-sf Should Be Equal As Strings ${resp.status_code} 404 Delete A Service Node [Documentation] Delete A Service Node Add Elements To URI From File ${SERVICE_NODES_URI} ${SERVICE_NODES_FILE} - Remove All Elements At URI ${SERVICE_NODES_URI}service-node/node-101 + Remove All Elements At URI ${SERVICE_NODE_URI}/node-101 ${resp} RequestsLibrary.Get Request session ${SERVICE_NODES_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Not Contain ${resp.content} node-101 @@ -59,7 +59,7 @@ Delete A Non-existing Service Node ${body} OperatingSystem.Get File ${SERVICE_NODES_FILE} ${jsonbody} To Json ${body} ${nodes} Get From Dictionary ${jsonbody} service-nodes - ${resp} RequestsLibrary.Delete Request session ${SERVICE_NODES_URI}service-node/non-existing-sn + ${resp} RequestsLibrary.Delete Request session ${SERVICE_NODE_URI}/non-existing-sn Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_NODES_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} @@ -80,7 +80,7 @@ Init Suite Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} log ${ODL_STREAM} Set Suite Variable ${VERSION_DIR} master - Set Suite Variable ${SERVICE_NODES_URI} /restconf/config/service-node:service-nodes/ - Set Suite Variable ${SERVICE_NODES_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-nodes.json - Set Suite Variable ${SN_NODE100_URI} /restconf/config/service-node:service-nodes/service-node/node-100 - Set Suite Variable ${SN_NODE100_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sn_node_100.json + Set Suite Variable ${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} + Set Suite Variable ${SERVICE_NODES_FILE} ${TEST_DIR}/service-nodes.json + Set Suite Variable ${SN_NODE100_URI} ${SERVICE_NODE_URI}/node-100 + Set Suite Variable ${SN_NODE100_FILE} ${TEST_DIR}/sn_node_100.json diff --git a/csit/suites/sfc/SFC_Basic/040__sfc_service_chains.robot b/csit/suites/sfc/SFC_Basic/040__sfc_service_chains.robot index 459a329ac5..c8003524b2 100644 --- a/csit/suites/sfc/SFC_Basic/040__sfc_service_chains.robot +++ b/csit/suites/sfc/SFC_Basic/040__sfc_service_chains.robot @@ -37,20 +37,20 @@ Get one Service Function Chain [Documentation] Get one Service Function Chain Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE} ${elements}= Create List SFC1 dpi-abstract1 napt44-abstract1 firewall-abstract1 - Check For Elements At URI ${SERVICE_CHAINS_URI}service-function-chain/SFC1 ${elements} + Check For Elements At URI ${SERVICE_CHAIN_URI}/SFC1 ${elements} Get A Non-existing Service Function Chain [Documentation] Get A Non-existing Service Function Chain Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_CHAINS_URI}service-function-chain/non-existing-sfc + ${resp} RequestsLibrary.Get Request session ${SERVICE_CHAIN_URI}/non-existing-sfc Should Be Equal As Strings ${resp.status_code} 404 Delete A Service Function Chain [Documentation] Delete A Service Function Chain Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_CHAINS_URI}service-function-chain/SFC1 + ${resp} RequestsLibrary.Get Request session ${SERVICE_CHAIN_URI}/SFC1 Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - Remove All Elements At URI ${SERVICE_CHAINS_URI}service-function-chain/SFC1 + Remove All Elements At URI ${SERVICE_CHAIN_URI}/SFC1 ${elements}= Create List SFC1 dpi-abstract1 napt44-abstract1 firewall-abstract1 Check For Elements Not At URI ${SERVICE_CHAINS_URI} ${elements} @@ -60,7 +60,7 @@ Delete A Non-existing Service Function Chain ${body} OperatingSystem.Get File ${SERVICE_CHAINS_FILE} ${jsonbody} To Json ${body} ${chains} Get From Dictionary ${jsonbody} service-function-chains - ${resp} RequestsLibrary.Delete Request session ${SERVICE_CHAINS_URI}service-function-chain/non-existing-sfc + ${resp} RequestsLibrary.Delete Request session ${SERVICE_CHAIN_URI}/non-existing-sfc Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_CHAINS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} @@ -79,31 +79,31 @@ Get one Service Function From Chain [Documentation] Get one Service Function From Chain Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE} ${elements}= Create List dpi-abstract1 "order":0 "type":"dpi" - Check For Elements At URI ${SERVICE_CHAINS_URI}service-function-chain/SFC1/sfc-service-function/dpi-abstract1 ${elements} + Check For Elements At URI ${SERVICE_CHAIN_URI}/SFC1/sfc-service-function/dpi-abstract1 ${elements} Get A Non-existing Service Function From Chain [Documentation] Get A Non-existing Service Function From Chain Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_CHAINS_URI}service-function-chain/SFC1/sfc-service-function/non-existing-sft + ${resp} RequestsLibrary.Get Request session ${SERVICE_CHAIN_URI}/SFC1/sfc-service-function/non-existing-sft Should Be Equal As Strings ${resp.status_code} 404 Delete A Service Function From Chain [Documentation] Delete A Service Function From Chain Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE} - Remove All Elements At URI ${SERVICE_CHAINS_URI}service-function-chain/SFC1/sfc-service-function/dpi-abstract1 + Remove All Elements At URI ${SERVICE_CHAIN_URI}/SFC1/sfc-service-function/dpi-abstract1 ${resp} RequestsLibrary.Get Request session ${SERVICE_CHAINS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Contain ${resp.content} SFC1 ${elements}= Create List dpi-abstract1 service-function-type:dpi - Check For Elements Not At URI ${SERVICE_CHAINS_URI}service-function-chain/SFC1/ ${elements} + Check For Elements Not At URI ${SERVICE_CHAIN_URI}/SFC1 ${elements} Delete A Non-existing Service Function From Chain [Documentation] Delete A Non existing Service Function From Chain Add Elements To URI From File ${SERVICE_CHAINS_URI} ${SERVICE_CHAINS_FILE} - ${resp} RequestsLibrary.Delete Request session ${SERVICE_CHAINS_URI}service-function-chain/SFC1/sfc-service-function/non-existing-sft + ${resp} RequestsLibrary.Delete Request session ${SERVICE_CHAIN_URI}/SFC1/sfc-service-function/non-existing-sft Should Be Equal As Strings ${resp.status_code} 404 ${elements}= Create List dpi-abstract1 napt44-abstract1 firewall-abstract1 - Check For Elements At URI ${SERVICE_CHAINS_URI}service-function-chain/SFC1 ${elements} + Check For Elements At URI ${SERVICE_CHAIN_URI}/SFC1 ${elements} Check For Elements At URI ${SERVICE_CHAINS_URI} ${elements} Put one Service Function into Chain @@ -121,9 +121,9 @@ Init Suite Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} log ${ODL_STREAM} Set Suite Variable ${VERSION_DIR} master - Set Suite Variable ${SERVICE_CHAINS_URI} /restconf/config/service-function-chain:service-function-chains/ - Set Suite Variable ${SERVICE_CHAINS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-chains.json - Set Suite Variable ${SERVICE_CHAIN100_URI} /restconf/config/service-function-chain:service-function-chains/service-function-chain/SFC100 - Set Suite Variable ${SERVICE_CHAIN100_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sfc_chain_100.json - Set Suite Variable ${SERVICE_CHAIN100_SFIDS_URI} /restconf/config/service-function-chain:service-function-chains/service-function-chain/SFC100/sfc-service-function/ids-abstract100 - Set Suite Variable ${SERVICE_CHAIN100_SFIDS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sfc_chain_100_sfids.json + Set Suite Variable ${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} + Set Suite Variable ${SERVICE_CHAINS_FILE} ${TEST_DIR}/service-function-chains.json + Set Suite Variable ${SERVICE_CHAIN100_URI} ${SERVICE_CHAIN_URI}/SFC100 + Set Suite Variable ${SERVICE_CHAIN100_FILE} ${TEST_DIR}/sfc_chain_100.json + Set Suite Variable ${SERVICE_CHAIN100_SFIDS_URI} ${SERVICE_CHAIN100_URI}/sfc-service-function/ids-abstract100 + Set Suite Variable ${SERVICE_CHAIN100_SFIDS_FILE} ${TEST_DIR}/sfc_chain_100_sfids.json diff --git a/csit/suites/sfc/SFC_Basic/050__sfc_service_schedule_types.robot b/csit/suites/sfc/SFC_Basic/050__sfc_service_schedule_types.robot index 4424eece72..2f76beaf9c 100644 --- a/csit/suites/sfc/SFC_Basic/050__sfc_service_schedule_types.robot +++ b/csit/suites/sfc/SFC_Basic/050__sfc_service_schedule_types.robot @@ -37,19 +37,19 @@ Get Ramdom Schedule Algorithm Type [Documentation] Get Ramdom Schedule Algorithm Type Add Elements To URI From File ${SERVICE_SCHED_TYPES_URI} ${SERVICE_SCHED_TYPES_FILE} ${elements}= Create List random "enabled":false service-function-scheduler-type:random - Check For Elements At URI ${SERVICE_SCHED_TYPES_URI}service-function-scheduler-type/service-function-scheduler-type:random ${elements} - ${resp} RequestsLibrary.Get Request session ${SERVICE_SCHED_TYPES_URI}service-function-scheduler-type/service-function-scheduler-type:random + Check For Elements At URI ${SERVICE_RANDOM_SCHED_TYPE_URI} ${elements} + ${resp} RequestsLibrary.Get Request session ${SERVICE_RANDOM_SCHED_TYPE_URI} Get A Non-existing Service Function Schedule Algorithm Type [Documentation] Get A Non-existing Service Function Schedule Algorithm Type Add Elements To URI From File ${SERVICE_SCHED_TYPES_URI} ${SERVICE_SCHED_TYPES_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_SCHED_TYPES_URI}service-function-scheduler-type/service-function-scheduler-type:user-defined + ${resp} RequestsLibrary.Get Request session ${SERVICE_SCHED_TYPE_URI_BASE}user-defined Should Be Equal As Strings ${resp.status_code} 404 Delete Ramdom Schedule Algorithm Type [Documentation] Delete Ramdom Schedule Algorithm Type Add Elements To URI From File ${SERVICE_SCHED_TYPES_URI} ${SERVICE_SCHED_TYPES_FILE} - Remove All Elements At URI ${SERVICE_SCHED_TYPES_URI}service-function-scheduler-type/service-function-scheduler-type:random + Remove All Elements At URI ${SERVICE_RANDOM_SCHED_TYPE_URI} ${elements}= Create List random service-function-scheduler-type:random Check For Elements Not At URI ${SERVICE_SCHED_TYPES_URI} ${elements} @@ -59,7 +59,7 @@ Delete A Non-existing Service Function Schedule Algorithm Type ${body} OperatingSystem.Get File ${SERVICE_SCHED_TYPES_FILE} ${jsonbody} To Json ${body} ${types} Get From Dictionary ${jsonbody} service-function-scheduler-types - ${resp} RequestsLibrary.Delete Request session ${SERVICE_SCHED_TYPES_URI}service-function-scheduler-type/service-function-scheduler-type:user-defined + ${resp} RequestsLibrary.Delete Request session ${SERVICE_SCHED_TYPE_URI_BASE}user-defined Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_SCHED_TYPES_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} @@ -80,7 +80,7 @@ Init Suite Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} log ${ODL_STREAM} Set Suite Variable ${VERSION_DIR} master - Set Suite Variable ${SERVICE_SCHED_TYPES_URI} /restconf/config/service-function-scheduler-type:service-function-scheduler-types/ - Set Suite Variable ${SERVICE_SCHED_TYPES_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-schedule-types.json - Set Suite Variable ${SERVICE_WSP_SCHED_TYPE_URI} /restconf/config/service-function-scheduler-type:service-function-scheduler-types/service-function-scheduler-type/service-function-scheduler-type:weighted-shortest-path - Set Suite Variable ${SERVICE_WSP_SCHED_TYPE_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-wsp-schedule-type.json + Set Suite Variable ${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} + Set Suite Variable ${SERVICE_SCHED_TYPES_FILE} ${TEST_DIR}/service-schedule-types.json + Set Suite Variable ${SERVICE_WSP_SCHED_TYPE_URI} ${SERVICE_SCHED_TYPE_URI_BASE}weighted-shortest-path + Set Suite Variable ${SERVICE_WSP_SCHED_TYPE_FILE} ${TEST_DIR}/service-wsp-schedule-type.json diff --git a/csit/suites/sfc/SFC_Basic/060__sfc_service_paths.robot b/csit/suites/sfc/SFC_Basic/060__sfc_service_paths.robot index f3bd49d524..26e3750f0a 100644 --- a/csit/suites/sfc/SFC_Basic/060__sfc_service_paths.robot +++ b/csit/suites/sfc/SFC_Basic/060__sfc_service_paths.robot @@ -37,21 +37,21 @@ Get one Service Function Path [Documentation] Get one Service Function Path Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE} ${elements}= Create List SFC1-100 "service-chain-name":"SFC1" - Check For Elements At URI ${SERVICE_FUNCTION_PATHS_URI}service-function-path/SFC1-100 ${elements} + Check For Elements At URI ${SERVICE_FUNCTION_PATH_URI}/SFC1-100 ${elements} Get A Non-existing Service Function Path [Documentation] Get A Non-existing Service Function Path Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI}service-function-path/non-existing-sfp + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATH_URI}/non-existing-sfp Should Be Equal As Strings ${resp.status_code} 404 Delete A Service Function Path [Documentation] Delete A Service Function Path Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI}service-function-path/SFC1-100 + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATH_URI}/SFC1-100 Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - Remove All Elements At URI ${SERVICE_FUNCTION_PATHS_URI}service-function-path/SFC1-100 - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI}service-function-path/SFC1-100 + Remove All Elements At URI ${SERVICE_FUNCTION_PATH_URI}/SFC1-100 + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATH_URI}/SFC1-100 Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} @@ -63,7 +63,7 @@ Delete A Non-existing Empty Service Function Path ${body} OperatingSystem.Get File ${SERVICE_FUNCTION_PATHS_FILE} ${jsonbody} To Json ${body} ${paths} Get From Dictionary ${jsonbody} service-function-paths - ${resp} RequestsLibrary.Delete Request session ${SERVICE_FUNCTION_PATHS_URI}service-function-path/non-existing-sfp + ${resp} RequestsLibrary.Delete Request session ${SERVICE_FUNCTION_PATH_URI}/non-existing-sfp Should Be Equal As Strings ${resp.status_code} 404 ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} @@ -87,7 +87,7 @@ Init Suite Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} log ${ODL_STREAM} Set Suite Variable ${VERSION_DIR} master - Set Suite Variable ${SERVICE_FUNCTION_PATHS_URI} /restconf/config/service-function-path:service-function-paths/ - Set Suite Variable ${SERVICE_FUNCTION_PATHS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-paths.json - Set Suite Variable ${SERVICE_FUNCTION_PATH400_URI} /restconf/config/service-function-path:service-function-paths/service-function-path/SFC1-400 - Set Suite Variable ${SERVICE_FUNCTION_PATH400_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sfp_sfc1_path400.json + Set Suite Variable ${TEST_DIR} ${CURDIR}/../../../variables/sfc/${VERSION_DIR} + Set Suite Variable ${SERVICE_FUNCTION_PATHS_FILE} ${TEST_DIR}/service-function-paths.json + Set Suite Variable ${SERVICE_FUNCTION_PATH400_URI} ${SERVICE_FUNCTION_PATH_URI}/SFC1-400 + Set Suite Variable ${SERVICE_FUNCTION_PATH400_FILE} ${TEST_DIR}/sfp_sfc1_path400.json 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 index a2da4c1a80..5b9cd03424 100644 --- a/csit/suites/sfc/SFC_Basic/070__sfc_rendered_service_paths.robot +++ b/csit/suites/sfc/SFC_Basic/070__sfc_rendered_service_paths.robot @@ -27,10 +27,10 @@ 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} + ${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 + 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} @@ -39,15 +39,15 @@ 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/ + ${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} + 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} + 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/ + 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 @@ -56,7 +56,7 @@ Delete one Rendered Service Path By Name ${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} + ${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} @@ -70,11 +70,11 @@ Generate RSPs with Random Schedule Algorithm type ${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} + 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} + 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} + 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 @@ -89,21 +89,21 @@ Generate RSPs with Round Robin Schedule Algorithm type ${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/ + ${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} @@ -136,29 +136,29 @@ Generate RSPs with Shortest Path Schedule Algorithm type ${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} + 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} + 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/ + 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} ${fwd_hop1} = Utils.Extract Value From Content ${resp.content} /rendered-service-path-hop/0/service-function-forwarder - ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_RSP_URI}${rsp1_name}/rendered-service-path-hop/1/ + ${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} /rendered-service-path-hop/0/service-function-forwarder - ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_RSP_URI}${rsp1_name}/rendered-service-path-hop/2/ + ${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} /rendered-service-path-hop/0/service-function-forwarder 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/ + ${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} /rendered-service-path-hop/0/service-function-forwarder - ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_RSP_URI}${rsp2_name}/rendered-service-path-hop/1/ + ${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} /rendered-service-path-hop/0/service-function-forwarder - ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_RSP_URI}${rsp2_name}/rendered-service-path-hop/2/ + ${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} /rendered-service-path-hop/0/service-function-forwarder BuiltIn.Should Be Equal ${fwd_hop1} ${fwd_hop2} @@ -181,14 +181,15 @@ Init Suite 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 ${SERVICE_FUNCTIONS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-functions.json + 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} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-forwarders.json - BuiltIn.Set Suite Variable ${SERVICE_NODES_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-nodes.json - BuiltIn.Set Suite Variable ${SERVICE_CHAINS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-chains.json - BuiltIn.Set Suite Variable ${SERVICE_FUNCTION_PATHS_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-function-paths.json - BuiltIn.Set Suite Variable ${SERVICE_RANDOM_SCHED_TYPE_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-random-schedule-type.json - BuiltIn.Set Suite Variable ${SERVICE_ROUNDROBIN_SCHED_TYPE_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-roundrobin-schedule-type.json - BuiltIn.Set Suite Variable ${SERVICE_LOADBALANCE_SCHED_TYPE_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-loadbalance-schedule-type.json - BuiltIn.Set Suite Variable ${SERVICE_SHORTESTPATH_SCHED_TYPE_FILE} ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-shortestpath-schedule-type.json + 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 diff --git a/csit/suites/sfc/SFC_Basic/120__sfc_service_function_acl.robot b/csit/suites/sfc/SFC_Basic/120__sfc_service_function_acl.robot index f60c3d3a7d..137a1d9d09 100644 --- a/csit/suites/sfc/SFC_Basic/120__sfc_service_function_acl.robot +++ b/csit/suites/sfc/SFC_Basic/120__sfc_service_function_acl.robot @@ -2,8 +2,8 @@ Documentation Test suite for SFC Service Function ACL, Operates functions from Restconf APIs. Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} Suite Teardown Delete All Sessions -Test Setup Remove All Elements If Exist ${SERVICE_FUNCTION_ACL_URI} -Test Teardown Remove All Elements At URI ${SERVICE_FUNCTION_ACL_URI} +Test Setup Remove All Elements If Exist ${SERVICE_FUNCTION_ACLS_URI} +Test Teardown Remove All Elements At URI ${SERVICE_FUNCTION_ACLS_URI} Library SSHLibrary Library Collections Library OperatingSystem @@ -12,17 +12,16 @@ Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot *** Variables *** -${SERVICE_FUNCTION_ACL_URI} /restconf/config/ietf-access-control-list:access-lists/ ${SERVICE_FUNCTION_ACL_FILE} ${CURDIR}/../../../variables/sfc/master/service-function-acl.json *** Test Cases *** Add ACL [Documentation] Add Service Function ACL from JSON file - Add Elements To URI From File ${SERVICE_FUNCTION_ACL_URI} ${SERVICE_FUNCTION_ACL_FILE} + Add Elements To URI From File ${SERVICE_FUNCTION_ACLS_URI} ${SERVICE_FUNCTION_ACL_FILE} ${body} OperatingSystem.Get File ${SERVICE_FUNCTION_ACL_FILE} ${jsonbody} To Json ${body} ${functions} Get From Dictionary ${jsonbody} access-lists - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACL_URI} + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACLS_URI} ${result} To JSON ${resp.content} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} ${function} Get From Dictionary ${result} access-lists @@ -31,30 +30,30 @@ Add ACL Delete All ACLs [Documentation] Delete all ACL ${body} OperatingSystem.Get File ${SERVICE_FUNCTION_ACL_FILE} - Add Elements To URI From File ${SERVICE_FUNCTION_ACL_URI} ${SERVICE_FUNCTION_ACL_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACL_URI} + Add Elements To URI From File ${SERVICE_FUNCTION_ACLS_URI} ${SERVICE_FUNCTION_ACL_FILE} + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACLS_URI} Should Be Equal As Strings ${resp.status_code} 200 - Remove All Elements At URI ${SERVICE_FUNCTION_ACL_URI} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACL_URI} + Remove All Elements At URI ${SERVICE_FUNCTION_ACLS_URI} + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACLS_URI} Should Be Equal As Strings ${resp.status_code} 404 [Teardown] NONE Get one ACL [Documentation] Get one ACL - Add Elements To URI From File ${SERVICE_FUNCTION_ACL_URI} ${SERVICE_FUNCTION_ACL_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACL_URI}acl/ietf-access-control-list:ipv4-acl/ACL1 + Add Elements To URI From File ${SERVICE_FUNCTION_ACLS_URI} ${SERVICE_FUNCTION_ACL_FILE} + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACLS_URI}/acl/ietf-access-control-list:ipv4-acl/ACL1 Should Be Equal As Strings ${resp.status_code} 200 Get A Non-existing ACL [Documentation] Get A Non-existing ACL - Add Elements To URI From File ${SERVICE_FUNCTION_ACL_URI} ${SERVICE_FUNCTION_ACL_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACL_URI}acl/unexisting-acl + Add Elements To URI From File ${SERVICE_FUNCTION_ACLS_URI} ${SERVICE_FUNCTION_ACL_FILE} + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACLS_URI}/acl/unexisting-acl Should Be Equal As Strings ${resp.status_code} 404 Delete An ACL [Documentation] Delete an ACL - Add Elements To URI From File ${SERVICE_FUNCTION_ACL_URI} ${SERVICE_FUNCTION_ACL_FILE} - Remove All Elements At URI ${SERVICE_FUNCTION_ACL_URI}acl/ietf-access-control-list:ipv4-acl/ACL1 - ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACL_URI} + Add Elements To URI From File ${SERVICE_FUNCTION_ACLS_URI} ${SERVICE_FUNCTION_ACL_FILE} + Remove All Elements At URI ${SERVICE_FUNCTION_ACLS_URI}/acl/ietf-access-control-list:ipv4-acl/ACL1 + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_ACLS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Not Contain ${resp.content} ACL1 diff --git a/csit/suites/sfc/SFC_Basic/140__sfc_service_function_classifier.robot b/csit/suites/sfc/SFC_Basic/140__sfc_service_function_classifier.robot index 7b669feb44..d2a2beb5d6 100644 --- a/csit/suites/sfc/SFC_Basic/140__sfc_service_function_classifier.robot +++ b/csit/suites/sfc/SFC_Basic/140__sfc_service_function_classifier.robot @@ -2,8 +2,8 @@ Documentation Test suite for SFC Service Function Classifiers, Operates functions from Restconf APIs. Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} Suite Teardown Delete All Sessions -Test Setup Remove All Elements If Exist ${SERVICE_CLASSIFIER_URI} -Test Teardown Remove All Elements At URI ${SERVICE_CLASSIFIER_URI} +Test Setup Remove All Elements If Exist ${SERVICE_CLASSIFIERS_URI} +Test Teardown Remove All Elements At URI ${SERVICE_CLASSIFIERS_URI} Library SSHLibrary Library Collections Library OperatingSystem @@ -12,17 +12,16 @@ Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot *** Variables *** -${SERVICE_CLASSIFIER_URI} /restconf/config/service-function-classifier:service-function-classifiers/ ${SERVICE_CLASSIFIER_FILE} ${CURDIR}/../../../variables/sfc/master/service-function-classifiers.json *** Test Cases *** Add Service Function Classifier [Documentation] Add Service Function Classifiers from JSON file - Add Elements To URI From File ${SERVICE_CLASSIFIER_URI} ${SERVICE_CLASSIFIER_FILE} + Add Elements To URI From File ${SERVICE_CLASSIFIERS_URI} ${SERVICE_CLASSIFIER_FILE} ${body} OperatingSystem.Get File ${SERVICE_CLASSIFIER_FILE} ${jsonbody} To Json ${body} ${functions} Get From Dictionary ${jsonbody} service-function-classifiers - ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIER_URI} + ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIERS_URI} ${result} To JSON ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 ${function} Get From Dictionary ${result} service-function-classifiers @@ -31,30 +30,30 @@ Add Service Function Classifier Delete All Classifiers [Documentation] Delete all Classifiers ${body} OperatingSystem.Get File ${SERVICE_CLASSIFIER_FILE} - Add Elements To URI From File ${SERVICE_CLASSIFIER_URI} ${SERVICE_CLASSIFIER_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIER_URI} + Add Elements To URI From File ${SERVICE_CLASSIFIERS_URI} ${SERVICE_CLASSIFIER_FILE} + ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIERS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - Remove All Elements At URI ${SERVICE_CLASSIFIER_URI} - ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIER_URI} + Remove All Elements At URI ${SERVICE_CLASSIFIERS_URI} + ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIERS_URI} Should Be Equal As Strings ${resp.status_code} 404 [Teardown] NONE Get one Classifier [Documentation] Get one Classifier - Add Elements To URI From File ${SERVICE_CLASSIFIER_URI} ${SERVICE_CLASSIFIER_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIER_URI}service-function-classifier/Classifier1 + Add Elements To URI From File ${SERVICE_CLASSIFIERS_URI} ${SERVICE_CLASSIFIER_FILE} + ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIERS_URI}/service-function-classifier/Classifier1 Should Be Equal As Strings ${resp.status_code} 200 Get A Non-existing Classifier [Documentation] Get A Non-existing Classifier - Add Elements To URI From File ${SERVICE_CLASSIFIER_URI} ${SERVICE_CLASSIFIER_FILE} - ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIER_URI}service-function-classifier/unexisting-classifier + Add Elements To URI From File ${SERVICE_CLASSIFIERS_URI} ${SERVICE_CLASSIFIER_FILE} + ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIERS_URI}/service-function-classifier/nonexistant-classifier Should Be Equal As Strings ${resp.status_code} 404 Delete a Classifier [Documentation] Delete a classifier - Add Elements To URI From File ${SERVICE_CLASSIFIER_URI} ${SERVICE_CLASSIFIER_FILE} - Remove All Elements At URI ${SERVICE_CLASSIFIER_URI}service-function-classifier/Classifier1 - ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIER_URI} + Add Elements To URI From File ${SERVICE_CLASSIFIERS_URI} ${SERVICE_CLASSIFIER_FILE} + Remove All Elements At URI ${SERVICE_CLASSIFIERS_URI}/service-function-classifier/Classifier1 + ${resp} RequestsLibrary.Get Request session ${SERVICE_CLASSIFIERS_URI} Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} Should Not Contain ${resp.content} Classifier1 diff --git a/csit/variables/sfc/Variables.robot b/csit/variables/sfc/Variables.robot index 1f688b299d..f4e71d0c3c 100644 --- a/csit/variables/sfc/Variables.robot +++ b/csit/variables/sfc/Variables.robot @@ -1,27 +1,30 @@ *** Variables *** -# Generic Service Chains and Function URIs +# Generic Service Function Chaining URIs ${REST_CONFIG} /restconf/config ${REST_OPER} /restconf/operational -${SERVICE_FUNCTION_TYPES_URI} ${REST_CONFIG}/service-function-type:service-function-types/ -${SERVICE_FUNCTIONS_URI} ${REST_CONFIG}/service-function:service-functions/ -${SERVICE_FUNCTION_URI} ${REST_CONFIG}/service-function:service-functions/service-function/ -${SERVICE_FUNCTION_ACLS_URI} ${REST_CONFIG}/ietf-access-control-list:access-lists/ -${SERVICE_CLASSIFIERS_URI} ${REST_CONFIG}/service-function-classifier:service-function-classifiers/ -${SERVICE_FORWARDERS_URI} ${REST_CONFIG}/service-function-forwarder:service-function-forwarders/ -${SERVICE_FORWARDER_URI} ${REST_CONFIG}/service-function-forwarder:service-function-forwarders/service-function-forwarder/ -${SERVICE_NODES_URI} ${REST_CONFIG}/service-node:service-nodes/ -${SERVICE_CHAINS_URI} ${REST_CONFIG}/service-function-chain:service-function-chains/ -${SERVICE_FUNCTION_PATHS_URI} ${REST_CONFIG}/service-function-path:service-function-paths/ -${SERVICE_FUNCTION_PATH_URI} ${SERVICE_FUNCTION_PATHS_URI}service-function-path/ -${SERVICE_FUNCTION_PATHS_STATE_URI} ${REST_OPER}/service-function-path:service-function-paths-state/ -${SERVICE_FUNCTION_PATH_STATE_URI} ${SERVICE_FUNCTION_PATHS_STATE_URI}service-function-path-state/ -${SERVICE_SCHED_TYPES_URI} ${REST_CONFIG}/service-function-scheduler-type:service-function-scheduler-types/ -${SERVICE_SCHED_TYPE_URI_BASE} ${SERVICE_SCHED_TYPES_URI}service-function-scheduler-type/service-function-scheduler-type: +${OPERATIONAL_RSPS_URI} ${REST_OPER}/rendered-service-path:rendered-service-paths +${OPERATIONAL_RSP_URI} ${REST_OPER}/rendered-service-path:rendered-service-paths/rendered-service-path +${OVSDB_TOPOLOGY_URI} ${REST_OPER}/network-topology:network-topology/topology/ovsdb:1 +${RENDERED_SERVICE_PATHS_URI} ${REST_CONFIG}/rendered-service-path:rendered-service-paths +${SERVICE_CHAINS_URI} ${REST_CONFIG}/service-function-chain:service-function-chains +${SERVICE_CHAIN_URI} ${SERVICE_CHAINS_URI}/service-function-chain +${SERVICE_CLASSIFIERS_URI} ${REST_CONFIG}/service-function-classifier:service-function-classifiers +${SERVICE_FORWARDERS_URI} ${REST_CONFIG}/service-function-forwarder:service-function-forwarders +${SERVICE_FORWARDER_URI} ${SERVICE_FORWARDERS_URI}/service-function-forwarder +${SERVICE_FUNCTIONS_URI} ${REST_CONFIG}/service-function:service-functions +${SERVICE_FUNCTION_URI} ${SERVICE_FUNCTIONS_URI}/service-function +${SERVICE_FUNCTION_ACLS_URI} ${REST_CONFIG}/ietf-access-control-list:access-lists +${SERVICE_FUNCTION_PATHS_STATE_URI} ${REST_OPER}/service-function-path:service-function-paths-state +${SERVICE_FUNCTION_PATH_STATE_URI} ${SERVICE_FUNCTION_PATHS_STATE_URI}/service-function-path-state +${SERVICE_FUNCTION_PATHS_URI} ${REST_CONFIG}/service-function-path:service-function-paths +${SERVICE_FUNCTION_PATH_URI} ${SERVICE_FUNCTION_PATHS_URI}/service-function-path +${SERVICE_FUNCTION_TYPES_URI} ${REST_CONFIG}/service-function-type:service-function-types +${SERVICE_METADATA_URI} ${REST_CONFIG}/service-function-path-metadata:service-function-metadata +${SERVICE_NODES_URI} ${REST_CONFIG}/service-node:service-nodes +${SERVICE_NODE_URI} ${SERVICE_NODES_URI}/service-node +${SERVICE_SCHED_TYPES_URI} ${REST_CONFIG}/service-function-scheduler-type:service-function-scheduler-types +${SERVICE_SCHED_TYPE_URI_BASE} ${SERVICE_SCHED_TYPES_URI}/service-function-scheduler-type/service-function-scheduler-type: ${SERVICE_RANDOM_SCHED_TYPE_URI} ${SERVICE_SCHED_TYPE_URI_BASE}random ${SERVICE_LOADBALANCE_SCHED_TYPE_URI} ${SERVICE_SCHED_TYPE_URI_BASE}load-balance ${SERVICE_ROUNDROBIN_SCHED_TYPE_URI} ${SERVICE_SCHED_TYPE_URI_BASE}round-robin ${SERVICE_SHORTESTPATH_SCHED_TYPE_URI} ${SERVICE_SCHED_TYPE_URI_BASE}shortest-path -${SERVICE_METADATA_URI} ${REST_CONFIG}/service-function-path-metadata:service-function-metadata/ -${OPERATIONAL_RSPS_URI} ${REST_OPER}/rendered-service-path:rendered-service-paths/ -${OPERATIONAL_RSP_URI} ${OPERATIONAL_RSPS_URI}rendered-service-path/ -${OVSDB_TOPOLOGY_URI} ${REST_OPER}/network-topology:network-topology/topology/ovsdb:1 -- 2.36.6