From 55c6c1c27966f49fac5bc57c111414f831e8ef4c Mon Sep 17 00:00:00 2001 From: Ursicio Martin Date: Wed, 29 Mar 2017 14:59:21 +0200 Subject: [PATCH] SFC: Implement boron and carbon scope Change-Id: I17e85c5d00c2d2060bfb527a4e77e3477758ebda Signed-off-by: Ursicio Martin --- .../Full_Deploy/011__sfc_service_paths.robot | 93 +++++++++++++++++++ .../012__sfc_service_paths_validation.robot} | 0 .../013__sfc_service_functions_logical.robot} | 0 ...014__sfc_service_forwarders_logical.robot} | 0 ..._sfc_rendered_service_paths_logical.robot} | 0 .../016__sfc_symmetric_RSP.robot} | 0 .../010__sfc_service_functions.robot | 2 +- .../020__sfc_service_forwarders.robot | 2 +- .../SFC_Basic/030__sfc_service_nodes.robot | 2 +- .../SFC_Basic/040__sfc_service_chains.robot | 2 +- .../050__sfc_service_schedule_types.robot | 2 +- .../SFC_Basic/060__sfc_service_paths.robot | 2 +- .../070__sfc_rendered_service_paths.robot | 2 +- .../080__sfc_simple_clustering.robot | 2 +- .../120__sfc_service_function_acl.robot | 2 +- ...140__sfc_service_function_classifier.robot | 2 +- csit/testplans/sfc-full-deploy.txt | 2 +- csit/testplans/sfc-rest-basic.txt | 16 +--- .../symmetricRSP/service_function_paths.json | 16 +++- 19 files changed, 119 insertions(+), 28 deletions(-) create mode 100644 csit/suites/sfc/Full_Deploy/011__sfc_service_paths.robot rename csit/suites/sfc/{SFC_Basic/061__sfc_service_paths_validation.robot => Full_Deploy/012__sfc_service_paths_validation.robot} (100%) rename csit/suites/sfc/{SFC_Basic/090__sfc_service_functions_logical.robot => Full_Deploy/013__sfc_service_functions_logical.robot} (100%) rename csit/suites/sfc/{SFC_Basic/100__sfc_service_forwarders_logical.robot => Full_Deploy/014__sfc_service_forwarders_logical.robot} (100%) rename csit/suites/sfc/{SFC_Basic/110__sfc_rendered_service_paths_logical.robot => Full_Deploy/015__sfc_rendered_service_paths_logical.robot} (100%) rename csit/suites/sfc/{SFC_Basic/130__sfc_symmetric_RSP.robot => Full_Deploy/016__sfc_symmetric_RSP.robot} (100%) diff --git a/csit/suites/sfc/Full_Deploy/011__sfc_service_paths.robot b/csit/suites/sfc/Full_Deploy/011__sfc_service_paths.robot new file mode 100644 index 0000000000..910693f65a --- /dev/null +++ b/csit/suites/sfc/Full_Deploy/011__sfc_service_paths.robot @@ -0,0 +1,93 @@ +*** Settings *** +Documentation Test suite for SFC Service Function Paths, Operates paths from Restconf APIs. +Suite Setup Init Suite +Suite Teardown Delete All Sessions +Test Setup Remove All Elements If Exist ${SERVICE_FUNCTION_PATHS_URI} +Library SSHLibrary +Library Collections +Library OperatingSystem +Library RequestsLibrary +Resource ../../../variables/Variables.robot +Resource ../../../libraries/Utils.robot +Resource ../../../libraries/TemplatedRequests.robot + +*** Test Cases *** +Add Service Function Paths + [Documentation] Add Service Function Paths from JSON file + Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE} + ${body} OperatingSystem.Get File ${SERVICE_FUNCTION_PATHS_FILE} + ${jsonbody} To Json ${body} + ${paths} Get From Dictionary ${jsonbody} service-function-paths + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI} + Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} + ${result} To JSON ${resp.content} + ${path} Get From Dictionary ${result} service-function-paths + Lists Should be Equal ${path} ${paths} + +Delete All Service Function Paths + [Documentation] Delete all Service Function Paths + Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE} + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI} + Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} + Remove All Elements At URI ${SERVICE_FUNCTION_PATHS_URI} + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI} + Should Be Equal As Strings ${resp.status_code} 404 + +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} + +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 + 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 + 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 + 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} + Should Not Contain ${resp.content} SFC1-100 + +Delete A Non-existing Empty Service Function Path + [Documentation] Delete A Non existing Service Function Path + Add Elements To URI From File ${SERVICE_FUNCTION_PATHS_URI} ${SERVICE_FUNCTION_PATHS_FILE} + ${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 + 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} + ${result} To JSON ${resp.content} + ${path} Get From Dictionary ${result} service-function-paths + Lists Should be Equal ${path} ${paths} + +Put one Service Function + [Documentation] Put one Service Function + Add Elements To URI From File ${SERVICE_FUNCTION_PATH400_URI} ${SERVICE_FUNCTION_PATH400_FILE} + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATH400_URI} + Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} + Should Contain ${resp.content} SFC1-400 + ${resp} RequestsLibrary.Get Request session ${SERVICE_FUNCTION_PATHS_URI} + Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} + Should Contain ${resp.content} SFC1-400 + +*** keywords *** +Init Suite + [Documentation] Initialize session and ODL version specific variables + Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} + log ${ODL_STREAM} + 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 diff --git a/csit/suites/sfc/SFC_Basic/061__sfc_service_paths_validation.robot b/csit/suites/sfc/Full_Deploy/012__sfc_service_paths_validation.robot similarity index 100% rename from csit/suites/sfc/SFC_Basic/061__sfc_service_paths_validation.robot rename to csit/suites/sfc/Full_Deploy/012__sfc_service_paths_validation.robot diff --git a/csit/suites/sfc/SFC_Basic/090__sfc_service_functions_logical.robot b/csit/suites/sfc/Full_Deploy/013__sfc_service_functions_logical.robot similarity index 100% rename from csit/suites/sfc/SFC_Basic/090__sfc_service_functions_logical.robot rename to csit/suites/sfc/Full_Deploy/013__sfc_service_functions_logical.robot diff --git a/csit/suites/sfc/SFC_Basic/100__sfc_service_forwarders_logical.robot b/csit/suites/sfc/Full_Deploy/014__sfc_service_forwarders_logical.robot similarity index 100% rename from csit/suites/sfc/SFC_Basic/100__sfc_service_forwarders_logical.robot rename to csit/suites/sfc/Full_Deploy/014__sfc_service_forwarders_logical.robot diff --git a/csit/suites/sfc/SFC_Basic/110__sfc_rendered_service_paths_logical.robot b/csit/suites/sfc/Full_Deploy/015__sfc_rendered_service_paths_logical.robot similarity index 100% rename from csit/suites/sfc/SFC_Basic/110__sfc_rendered_service_paths_logical.robot rename to csit/suites/sfc/Full_Deploy/015__sfc_rendered_service_paths_logical.robot diff --git a/csit/suites/sfc/SFC_Basic/130__sfc_symmetric_RSP.robot b/csit/suites/sfc/Full_Deploy/016__sfc_symmetric_RSP.robot similarity index 100% rename from csit/suites/sfc/SFC_Basic/130__sfc_symmetric_RSP.robot rename to csit/suites/sfc/Full_Deploy/016__sfc_symmetric_RSP.robot 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 ff0fdcdda9..46060baeca 100644 --- a/csit/suites/sfc/SFC_Basic/010__sfc_service_functions.robot +++ b/csit/suites/sfc/SFC_Basic/010__sfc_service_functions.robot @@ -7,7 +7,7 @@ Library SSHLibrary Library Collections Library OperatingSystem Library RequestsLibrary -Variables ../../../variables/Variables.py +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot Resource ../../../libraries/TemplatedRequests.robot 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 0865a1b7fb..763be93bab 100644 --- a/csit/suites/sfc/SFC_Basic/020__sfc_service_forwarders.robot +++ b/csit/suites/sfc/SFC_Basic/020__sfc_service_forwarders.robot @@ -7,7 +7,7 @@ Library SSHLibrary Library Collections Library OperatingSystem Library RequestsLibrary -Variables ../../../variables/Variables.py +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot Resource ../../../libraries/TemplatedRequests.robot 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 8511d9d286..601c0f9f89 100644 --- a/csit/suites/sfc/SFC_Basic/030__sfc_service_nodes.robot +++ b/csit/suites/sfc/SFC_Basic/030__sfc_service_nodes.robot @@ -7,7 +7,7 @@ Library SSHLibrary Library Collections Library OperatingSystem Library RequestsLibrary -Variables ../../../variables/Variables.py +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot Resource ../../../libraries/TemplatedRequests.robot 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 ebf3a52582..459a329ac5 100644 --- a/csit/suites/sfc/SFC_Basic/040__sfc_service_chains.robot +++ b/csit/suites/sfc/SFC_Basic/040__sfc_service_chains.robot @@ -7,7 +7,7 @@ Library SSHLibrary Library Collections Library OperatingSystem Library RequestsLibrary -Variables ../../../variables/Variables.py +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot Resource ../../../libraries/TemplatedRequests.robot 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 153b63ee31..4424eece72 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 @@ -7,7 +7,7 @@ Library SSHLibrary Library Collections Library OperatingSystem Library RequestsLibrary -Variables ../../../variables/Variables.py +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot Resource ../../../libraries/TemplatedRequests.robot 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 910693f65a..bf028be4fe 100644 --- a/csit/suites/sfc/SFC_Basic/060__sfc_service_paths.robot +++ b/csit/suites/sfc/SFC_Basic/060__sfc_service_paths.robot @@ -7,7 +7,7 @@ Library SSHLibrary Library Collections Library OperatingSystem Library RequestsLibrary -Resource ../../../variables/Variables.robot +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot Resource ../../../libraries/TemplatedRequests.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 index ac4a398139..ed9f5eb084 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 @@ -7,7 +7,7 @@ Library Collections Library OperatingSystem Library RequestsLibrary Library HttpLibrary.HTTP -Variables ../../../variables/Variables.py +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot Resource ../../../libraries/TemplatedRequests.robot diff --git a/csit/suites/sfc/SFC_Basic/080__sfc_simple_clustering.robot b/csit/suites/sfc/SFC_Basic/080__sfc_simple_clustering.robot index c9646e05d9..c9563325f4 100644 --- a/csit/suites/sfc/SFC_Basic/080__sfc_simple_clustering.robot +++ b/csit/suites/sfc/SFC_Basic/080__sfc_simple_clustering.robot @@ -6,7 +6,7 @@ Library RequestsLibrary Library SSHLibrary Library Collections Library OperatingSystem -Variables ../../../variables/Variables.py +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot *** Variables *** 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 71e853b733..f60c3d3a7d 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 @@ -8,7 +8,7 @@ Library SSHLibrary Library Collections Library OperatingSystem Library RequestsLibrary -Resource ../../../variables/Variables.robot +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot *** Variables *** 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 bc76f066a6..7b669feb44 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 @@ -8,7 +8,7 @@ Library SSHLibrary Library Collections Library OperatingSystem Library RequestsLibrary -Resource ../../../variables/Variables.robot +Resource ../../../variables/sfc/Variables.robot Resource ../../../libraries/Utils.robot *** Variables *** diff --git a/csit/testplans/sfc-full-deploy.txt b/csit/testplans/sfc-full-deploy.txt index d77dbad738..e799e5bb46 100644 --- a/csit/testplans/sfc-full-deploy.txt +++ b/csit/testplans/sfc-full-deploy.txt @@ -1,3 +1,3 @@ # Place the suites in run order: -integration/test/csit/suites/sfc/Full_Deploy/010__sfc_full_deploy.robot +integration/test/csit/suites/sfc/Full_Deploy integration/test/csit/suites/sfc/SFC_Persistency/020__sfc_persistency.robot diff --git a/csit/testplans/sfc-rest-basic.txt b/csit/testplans/sfc-rest-basic.txt index c3d6728ae1..646aca712c 100644 --- a/csit/testplans/sfc-rest-basic.txt +++ b/csit/testplans/sfc-rest-basic.txt @@ -1,16 +1,2 @@ # Place the suites in run order: -integration/test/csit/suites/sfc/SFC_Basic/010__sfc_service_functions.robot -integration/test/csit/suites/sfc/SFC_Basic/020__sfc_service_forwarders.robot -integration/test/csit/suites/sfc/SFC_Basic/030__sfc_service_nodes.robot -integration/test/csit/suites/sfc/SFC_Basic/040__sfc_service_chains.robot -integration/test/csit/suites/sfc/SFC_Basic/050__sfc_service_schedule_types.robot -integration/test/csit/suites/sfc/SFC_Basic/060__sfc_service_paths.robot -integration/test/csit/suites/sfc/SFC_Basic/061__sfc_service_paths_validation.robot -integration/test/csit/suites/sfc/SFC_Basic/070__sfc_rendered_service_paths.robot -integration/test/csit/suites/sfc/SFC_Basic/080__sfc_simple_clustering.robot -integration/test/csit/suites/sfc/SFC_Basic/090__sfc_service_functions_logical.robot -integration/test/csit/suites/sfc/SFC_Basic/100__sfc_service_forwarders_logical.robot -integration/test/csit/suites/sfc/SFC_Basic/110__sfc_rendered_service_paths_logical.robot -integration/test/csit/suites/sfc/SFC_Basic/120__sfc_service_function_acl.robot -integration/test/csit/suites/sfc/SFC_Basic/130__sfc_symmetric_RSP.robot -integration/test/csit/suites/sfc/SFC_Basic/140__sfc_service_function_classifier.robot +integration/test/csit/suites/sfc/SFC_Basic diff --git a/csit/variables/sfc/master/symmetricRSP/service_function_paths.json b/csit/variables/sfc/master/symmetricRSP/service_function_paths.json index 72e3c19375..614fd4dd42 100644 --- a/csit/variables/sfc/master/symmetricRSP/service_function_paths.json +++ b/csit/variables/sfc/master/symmetricRSP/service_function_paths.json @@ -10,6 +10,10 @@ { "hop-number": 0, "service-function-name": "dpi-1" + }, + { + "hop-number": 1, + "service-function-name": "firewall-1" } ] }, @@ -22,6 +26,10 @@ { "hop-number": 0, "service-function-name": "dpi-2" + }, + { + "hop-number": 1, + "service-function-name": "firewall-1" } ] }, @@ -29,12 +37,16 @@ "name": "SFP3", "service-chain-name": "SFC1", "starting-index": 255, - "symmetric": "false", "context-metadata": "NSH1", + "symmetric": "false", "service-path-hop": [ { "hop-number": 0, - "service-function-name": "dpi-2" + "service-function-name": "dpi-1" + }, + { + "hop-number": 1, + "service-function-name": "firewall-1" } ] } -- 2.36.6