SFC: Implement boron and carbon scope 34/54034/7
authorUrsicio Martin <Ursicio.Javier.Martin@ericsson.com>
Wed, 29 Mar 2017 12:59:21 +0000 (14:59 +0200)
committerJamo Luhrsen <jluhrsen@redhat.com>
Wed, 24 May 2017 18:31:25 +0000 (18:31 +0000)
Change-Id: I17e85c5d00c2d2060bfb527a4e77e3477758ebda
Signed-off-by: Ursicio Martin <Ursicio.Javier.Martin@ericsson.com>
19 files changed:
csit/suites/sfc/Full_Deploy/011__sfc_service_paths.robot [new file with mode: 0644]
csit/suites/sfc/Full_Deploy/012__sfc_service_paths_validation.robot [moved from csit/suites/sfc/SFC_Basic/061__sfc_service_paths_validation.robot with 100% similarity]
csit/suites/sfc/Full_Deploy/013__sfc_service_functions_logical.robot [moved from csit/suites/sfc/SFC_Basic/090__sfc_service_functions_logical.robot with 100% similarity]
csit/suites/sfc/Full_Deploy/014__sfc_service_forwarders_logical.robot [moved from csit/suites/sfc/SFC_Basic/100__sfc_service_forwarders_logical.robot with 100% similarity]
csit/suites/sfc/Full_Deploy/015__sfc_rendered_service_paths_logical.robot [moved from csit/suites/sfc/SFC_Basic/110__sfc_rendered_service_paths_logical.robot with 100% similarity]
csit/suites/sfc/Full_Deploy/016__sfc_symmetric_RSP.robot [moved from csit/suites/sfc/SFC_Basic/130__sfc_symmetric_RSP.robot with 100% similarity]
csit/suites/sfc/SFC_Basic/010__sfc_service_functions.robot
csit/suites/sfc/SFC_Basic/020__sfc_service_forwarders.robot
csit/suites/sfc/SFC_Basic/030__sfc_service_nodes.robot
csit/suites/sfc/SFC_Basic/040__sfc_service_chains.robot
csit/suites/sfc/SFC_Basic/050__sfc_service_schedule_types.robot
csit/suites/sfc/SFC_Basic/060__sfc_service_paths.robot
csit/suites/sfc/SFC_Basic/070__sfc_rendered_service_paths.robot
csit/suites/sfc/SFC_Basic/080__sfc_simple_clustering.robot
csit/suites/sfc/SFC_Basic/120__sfc_service_function_acl.robot
csit/suites/sfc/SFC_Basic/140__sfc_service_function_classifier.robot
csit/testplans/sfc-full-deploy.txt
csit/testplans/sfc-rest-basic.txt
csit/variables/sfc/master/symmetricRSP/service_function_paths.json

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 (file)
index 0000000..910693f
--- /dev/null
@@ -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
index ff0fdcdda9a203789077deac52783eaefba545a9..46060baecac1fbc4c5621e142c7c32af5c5dc9d8 100644 (file)
@@ -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
 
index 0865a1b7fb82dda376491db55eb221d4d0f9f83b..763be93babd3f5e40b9273829585eba014bd7f4a 100644 (file)
@@ -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
 
index 8511d9d286620f626327e9bdea11bd2b13dd4ad2..601c0f9f899e082ce7cd69f0482c132d730771a2 100644 (file)
@@ -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
 
index ebf3a525826d7eb399b3c355885738ea10c6f088..459a329ac502e129eab53ea447c93ec20914b0cd 100644 (file)
@@ -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
 
index 153b63ee3132bf30052f4c4399e1dc6325f3e7a7..4424eece72f1bbee96c8613dfdf88bbf0c8916ab 100644 (file)
@@ -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
 
index 910693f65abdc1afc7e583578a97d18d238b9e88..bf028be4fe6c46d1b5a91ae4cc65e0197d5ad86c 100644 (file)
@@ -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
 
index ac4a39813960679182bb4fae0319f4eb89d00922..ed9f5eb084b50d41241fa23d0fc56e77d8e8f76d 100644 (file)
@@ -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
 
index c9646e05d98d4a0bd4b140b472af2cc11ac1c60c..c9563325f4cf0a2f84b3d6ed57058dd2f31f9215 100644 (file)
@@ -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 ***
index 71e853b7331a8a077929bcdaaf68c8414f7ea812..f60c3d3a7dc26cbb18c3d019d7c425d1ff3f1c86 100644 (file)
@@ -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 ***
index bc76f066a64b0d7d2bab92f72fe42264a71c4f91..7b669feb44b8f757ee54aa2ee37b09aaf54050c8 100644 (file)
@@ -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 ***
index d77dbad738767c3d02a0ab233887161aff96e75d..e799e5bb46d128203cc6d250af0f3cfaeaf21921 100644 (file)
@@ -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
index c3d6728ae16e772a3847a7fa9ecbe8d3a974ba79..646aca712c3a6da8ebddfee8ac0f945dba32e942 100644 (file)
@@ -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
index 72e3c1937568c4ec6baa5da39dc3a4895bf0f9ed..614fd4dd427aa743017261bd093beec5fc7786bb 100644 (file)
                     {
                         "hop-number": 0,
                         "service-function-name": "dpi-1"
+                    },
+                    {
+                        "hop-number": 1,
+                        "service-function-name": "firewall-1"
                     }
                 ]
             },
                     {
                         "hop-number": 0,
                         "service-function-name": "dpi-2"
+                    },
+                    {
+                        "hop-number": 1,
+                        "service-function-name": "firewall-1"
                     }
                 ]
             },
                 "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"
                     }
                 ]
             }