Add HTTPS to collect files from xNFs 54/117454/4
authorKrzysztof Gajewski <krzysztof.gajewski@nokia.com>
Mon, 1 Feb 2021 17:14:13 +0000 (18:14 +0100)
committerKrzysztof Gajewski <krzysztof.gajewski@nokia.com>
Wed, 17 Feb 2021 15:04:07 +0000 (15:04 +0000)
- CSIT tests

Issue-ID: DCAEGEN2-2528
Signed-off-by: Krzysztof Gajewski <krzysztof.gajewski@nokia.com>
Change-Id: I248a3866e22ee556c447ed7c7834e83e4ad42b48

plans/dcaegen2-collectors-datafile/Functional-suite/setup.sh
plans/dcaegen2-collectors-datafile/Functional-suite/testplan.txt
scripts/dcaegen2-collectors-datafile/dfc-management/dfc-start.sh
tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-Ftp-suite/FuncSingleFileFtp.robot
tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-Http-suite/FuncSingleFileHttp.robot
tests/dcaegen2-collectors-datafile/testsuites/HTTPS-Various-Connection-Types-suite/HttpsVariousConnectionTypes.robot [new file with mode: 0755]
tests/dcaegen2-collectors-datafile/testsuites/HTTPS-Various-Connection-Types-suite/__init__.robot [new file with mode: 0755]
tests/dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite/StrictHostChecking.robot

index 02572d2..f04b230 100644 (file)
@@ -59,7 +59,7 @@ cd ../ftpes-sftp-server
 docker build -t ftpes_vsftpd:latest -f Dockerfile-ftpes .
 
 cd ../http-https-server
-docker build -t http_httpd:latest -f Dockerfile-http .
+docker build -t http_https_httpd:latest -f Dockerfile-http-https .
 
 #All containers will be started and stopped via the robot tests.
 
index 065deb1..cb9aecf 100755 (executable)
@@ -3,3 +3,4 @@
 dcaegen2-collectors-datafile/testsuites/Functional-Single-File-Ftp-suite
 dcaegen2-collectors-datafile/testsuites/Functional-Single-File-Http-suite
 dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite
+dcaegen2-collectors-datafile/testsuites/HTTPS-Various-Connection-Types-suite
index 38b78f2..b7a595c 100755 (executable)
@@ -26,6 +26,16 @@ DOCKER_SIM_NWNAME="dfcnet"
 echo "Creating docker network $DOCKER_SIM_NWNAME, if needed"
 docker network ls | grep $DOCKER_SIM_NWNAME >/dev/null || docker network create $DOCKER_SIM_NWNAME
 
+if [ $HTTP_TYPE = "HTTPS" ]
+       then
+    docker run \
+      --name oom-certservice-post-processor \
+      --env-file $SIMGROUP_ROOT/../certservice/merger/merge-certs.env \
+      --mount type=bind,src=$SIMGROUP_ROOT/tls,dst=/opt/app/datafile/etc/cert \
+      --mount type=bind,src=$SIMGROUP_ROOT/../certservice/generated-certs/dfc-p12,dst=/opt/app/datafile/etc/ \
+      nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-post-processor:latest
+fi
+
 docker-compose up -d
 
 DFC_APP="$(docker ps -q --filter='name=dfc_app0')"
index 7d8afbb..cecb8d1 100755 (executable)
@@ -106,4 +106,6 @@ Set Default Environment Variables
     Set Environment Variable        DR_REDIR_SIM            drsim_redir
     Set Environment Variable        SFTP_SIMS               sftp-server0:22
     Set Environment Variable        FTPES_SIMS              ftpes-server-vsftpd0:21
-    Set Environment Variable        HTTP_SIMS               http-server0:80
+    Set Environment Variable        HTTP_SIMS               http-https-server0:80
+    Set Environment Variable        HTTPS_SIMS              http-https-server0:443
+    Set Environment Variable        HTTPS_SIMS_NO_AUTH      http-https-server0:8080
index e37a910..f279391 100755 (executable)
@@ -6,7 +6,7 @@ Library        Process
 Resource    ../../resources/common-keywords.robot
 
 *** Variables ***
-${CONSUL_UPL_APP}                   /usr/bin/curl -v http://127.0.0.1:8500/v1/kv/dfc_app0?dc=dc1 -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data-binary @${SIMGROUP_ROOT}/consul/c12_feed2_PM_MEAS.json
+${CONSUL_UPL_APP}                   /usr/bin/curl -v http://127.0.0.1:8500/v1/kv/dfc_app0?dc=dc1 -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data-binary @${SIMGROUP_ROOT}/consul/c12_feed2_PM_HTTPS.json
 ${CONSUL_GET_APP}                   /usr/bin/curl -v http://127.0.0.1:8500/v1/kv/dfc_app0?raw
 ${CBS_GET_MERGED_CONFIG}            /usr/bin/curl -v http://127.0.0.1:10000/service_component_all/dfc_app0
 
@@ -32,6 +32,25 @@ Verify single event with single 50MB HTTP file. From event poll to published fil
     [Documentation]                Verify single event with single HTTP 50MB file from event poll to published file.
     Verify Single Event From Event Poll To Published File   50   --tc302    HTTP
 
+######## Single file, HTTP
+Verify single event with single 1MB HTTPS (basic authentication) file. From event poll to published file
+    [TAGS]                         DFC_FUNCTIONAL_30
+    [Documentation]                Verify single event with single HTTPS (basic authentication) 1MB file from event poll to published file.
+    ${cli_cmd_output}=              Run Process             ${DFC_ROOT}/../dfc-containers-clean.sh           stderr=STDOUT
+    Verify Single Event From Event Poll To Published File   1    --tc400    HTTPS
+
+
+Verify single event with single 5MB HTTPS (basic authentication) file. From event poll to published file
+    [TAGS]                         DFC_FUNCTIONAL_31
+    [Documentation]                Verify single event with single HTTPS (basic authentication) 5MB file from event poll to published file.
+    Verify Single Event From Event Poll To Published File   5    --tc401    HTTPS
+
+
+Verify single event with single 50MB HTTPS (basic authentication) file. From event poll to published file
+    [TAGS]                         DFC_FUNCTIONAL_32
+    [Documentation]                Verify single event with single HTTPS (basic authentication) 50MB file from event poll to published file.
+    Verify Single Event From Event Poll To Published File   50   --tc402    HTTPS
+
 
 *** Keywords ***
 Verify Single Event From Event Poll To Published File
@@ -90,4 +109,6 @@ Set Default Environment Variables
     Set Environment Variable        DR_REDIR_SIM            drsim_redir
     Set Environment Variable        SFTP_SIMS               sftp-server0:22
     Set Environment Variable        FTPES_SIMS              ftpes-server-vsftpd0:21
-    Set Environment Variable        HTTP_SIMS               http-server0:80
+    Set Environment Variable        HTTP_SIMS               http-https-server0:80
+    Set Environment Variable        HTTPS_SIMS              http-https-server0:443
+    Set Environment Variable        HTTPS_SIMS_NO_AUTH      http-https-server0:8080
diff --git a/tests/dcaegen2-collectors-datafile/testsuites/HTTPS-Various-Connection-Types-suite/HttpsVariousConnectionTypes.robot b/tests/dcaegen2-collectors-datafile/testsuites/HTTPS-Various-Connection-Types-suite/HttpsVariousConnectionTypes.robot
new file mode 100755 (executable)
index 0000000..c8d09c2
--- /dev/null
@@ -0,0 +1,95 @@
+*** Settings ***
+Library        OperatingSystem
+Library        RequestsLibrary
+Library        Process
+
+Resource    ../../resources/common-keywords.robot
+
+*** Variables ***
+${CONSUL_UPL_APP}                   /usr/bin/curl -v http://127.0.0.1:8500/v1/kv/dfc_app0?dc=dc1 -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data-binary @${SIMGROUP_ROOT}/consul/c12_feed2_PM_HTTPS.json
+${CONSUL_GET_APP}                   /usr/bin/curl -v http://127.0.0.1:8500/v1/kv/dfc_app0?raw
+${CBS_GET_MERGED_CONFIG}            /usr/bin/curl -v http://127.0.0.1:10000/service_component_all/dfc_app0
+
+*** Test Cases ***
+
+######## Single file, HTTPS with various connections
+Verify single event with single 1MB file with HTTPS connection (basic authentication). From event poll to published file
+    [TAGS]                         DFC_FUNCTIONAL_40
+    [Documentation]                Verify single event with single HTTPS (basic authentication) 1MB file from event poll to published file.
+    ${cli_cmd_output}=              Run Process             ${DFC_ROOT}/../dfc-containers-clean.sh           stderr=STDOUT
+    Verify Single Event From Event Poll To Published File   1    --tc400    HTTPS
+
+
+Verify single event with single 1MB file HTTPS connection (client certificate authentication). From event poll to published file
+    [TAGS]                         DFC_FUNCTIONAL_41
+    [Documentation]                Verify single event with single HTTPS (basic authentication) 5MB file from event poll to published file.
+    Verify Single Event From Event Poll To Published File   1    --tc403    HTTPS
+
+
+Verify single event with single 1MB file HTTPS (no authentication). From event poll to published file
+    [TAGS]                         DFC_FUNCTIONAL_42
+    [Documentation]                Verify single event with single HTTPS (basic authentication) 50MB file from event poll to published file.
+    Verify Single Event From Event Poll To Published File   1   --tc404    HTTPS
+
+
+
+*** Keywords ***
+Verify Single Event From Event Poll To Published File
+    [Documentation]                 Keyword to verify single event with file with given parameters.
+    [Arguments]                     ${file_size_in_mb}    ${mr_tc}    ${http_type}
+    Set Environment Variable        MR_TC                   ${mr_tc}
+    Set Environment Variable        FILE_SIZE               ${file_size_in_mb}MB
+    Set Environment Variable        HTTP_TYPE                ${http_type}
+    Set Default Environment Variables
+
+    ${cli_cmd_output}=              Run Process     ./simulators-start.sh    cwd=${SIMGROUP_ROOT}
+    Log To Console                  Simulator-start:
+    Log To Console                  ${cli_cmd_output.stdout} ${cli_cmd_output.stderr}
+    MR Sim Emitted Files Equal      0                                                                                   #Verify 0 file emitted from MR sim
+    DR Sim Published Files Equal    0                                                                                   #Verify 0 file published to DR sim
+
+    ${cli_cmd_output}=              Run Process                     ${CONSUL_UPL_APP}           shell=yes
+    Log To Console                  Consul APP write:
+    Log To Console                  ${cli_cmd_output.stdout} ${cli_cmd_output.stderr}
+
+    ${cli_cmd_output}=              Run Process                     ${CONSUL_GET_APP}           shell=yes
+    Log To Console                  Consul APP read:
+    Log To Console                  ${cli_cmd_output.stdout} ${cli_cmd_output.stderr}
+
+    ${cli_cmd_output}=              Run Process                     ${CBS_GET_MERGED_CONFIG}    shell=yes
+    Log To Console                  CBS merged configuration:
+    Log To Console                  ${cli_cmd_output.stdout} ${cli_cmd_output.stderr}
+
+    Sleep                           10
+
+    Start DFC
+
+    Wait Until Keyword Succeeds     1 minute      10 sec    MR Sim Emitted Files Equal          1                       #Verify 1 file emitted from MR sim
+    Wait Until Keyword Succeeds     1 minute      10 sec    DR Sim Query Not Published Equal    1                       #Verify 1 query response for not published files
+    Wait Until Keyword Succeeds     1 minute      10 sec    DR Sim Published Files Equal        1                       #Verify 1 file published to DR sim
+    DR Redir Sim Downloaded Volume Equal          ${file_size_in_mb} 000 000                                            #Verify correct number of bytes published file data in DR redir sim
+
+    [Teardown]                      Test Teardown
+
+Set Default Environment Variables
+    [Documentation]                 Set default environment variables for simulators setup
+    Set Environment Variable        DR_TC                   --tc normal
+    Set Environment Variable        DR_REDIR_TC             --tc normal
+    Set Environment Variable        MR_GROUPS               OpenDcae-c12:PM_MEAS_FILES
+    Set Environment Variable        MR_FILE_PREFIX_MAPPING  PM_MEAS_FILES:A
+    Set Environment Variable        DR_REDIR_FEEDS          2:A
+    Set Environment Variable        FTP_FILE_PREFIXES       A
+    Set Environment Variable        FTP_TYPE                SFTP
+    Set Environment Variable        HTTP_FILE_PREFIXES      A
+    Set Environment Variable        NUM_FTPFILES            1
+    Set Environment Variable        NUM_HTTPFILES           1
+    Set Environment Variable        NUM_PNFS                1
+    Set Environment Variable        NUM_FTP_SERVERS         1
+    Set Environment Variable        NUM_HTTP_SERVERS        1
+    Set Environment Variable        DR_FEEDS                2:A
+    Set Environment Variable        DR_REDIR_SIM            drsim_redir
+    Set Environment Variable        SFTP_SIMS               sftp-server0:22
+    Set Environment Variable        FTPES_SIMS              ftpes-server-vsftpd0:21
+    Set Environment Variable        HTTP_SIMS               http-https-server0:80
+    Set Environment Variable        HTTPS_SIMS              http-https-server0:443
+    Set Environment Variable        HTTPS_SIMS_NO_AUTH      http-https-server0:8080
diff --git a/tests/dcaegen2-collectors-datafile/testsuites/HTTPS-Various-Connection-Types-suite/__init__.robot b/tests/dcaegen2-collectors-datafile/testsuites/HTTPS-Various-Connection-Types-suite/__init__.robot
new file mode 100755 (executable)
index 0000000..dac245f
--- /dev/null
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    DFC HTTPS various connection types test suite. Single event with single file.
index 5594620..9baf11f 100755 (executable)
@@ -90,7 +90,9 @@ Setup Strict Host Key Checking Test
     Set Environment Variable        DR_REDIR_SIM            drsim_redir
     Set Environment Variable        SFTP_SIMS               sftp-server0:22
     Set Environment Variable        FTPES_SIMS              ftpes-server-vsftpd0:21
-    Set Environment Variable        HTTP_SIMS               http-server0:80
+    Set Environment Variable        HTTP_SIMS               http-https-server0:80
+    Set Environment Variable        HTTPS_SIMS              http-https-server0:443
+    Set Environment Variable        HTTPS_SIMS_NO_AUTH      http-https-server0:8080
 
     ${cli_cmd_output}=              Run Process     ./simulators-start.sh    cwd=${SIMGROUP_ROOT}
     Log To Console                  Simulator-start:
@@ -112,6 +114,6 @@ Setup Strict Host Key Checking Test
 
     Sleep                           10
 
-    ${cli_cmd_output}=              Run Process                    ${DFC_ROOT}/dfc-start.sh    cwd=${DFC_ROOT}    env:KNOWN_HOSTS=${known_hosts_file}
+    ${cli_cmd_output}=              Run Process                    ${DFC_ROOT}/dfc-start.sh    cwd=${DFC_ROOT}    env:KNOWN_HOSTS=${known_hosts_file}    env:SIMGROUP_ROOT=${SIMGROUP_ROOT}
     Log To Console                  Dfc-start:
     Log To Console                  ${cli_cmd_output.stdout} ${cli_cmd_output.stderr}