From 90553671625d131d7aa7bd994bd17655bd905da6 Mon Sep 17 00:00:00 2001 From: Remigiusz Janeczek Date: Tue, 14 Jul 2020 10:08:01 +0200 Subject: Add sftp strict host key checking to DFC tests Issue-ID: DCAEGEN2-2219 Signed-off-by: Remigiusz Janeczek Change-Id: I77438c7215bc80c65080f7c773fb9401edef6e79 --- .../resources/common-keywords.robot | 10 ++ .../FuncSingleFile.robot | 7 +- .../StrictHostChecking.robot | 112 +++++++++++++++++++++ .../Strict-Host-Checking-suite/__init__.robot | 2 + 4 files changed, 126 insertions(+), 5 deletions(-) create mode 100755 tests/dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite/StrictHostChecking.robot create mode 100755 tests/dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite/__init__.robot (limited to 'tests') diff --git a/tests/dcaegen2-collectors-datafile/resources/common-keywords.robot b/tests/dcaegen2-collectors-datafile/resources/common-keywords.robot index a36833e1..c425fe2a 100644 --- a/tests/dcaegen2-collectors-datafile/resources/common-keywords.robot +++ b/tests/dcaegen2-collectors-datafile/resources/common-keywords.robot @@ -44,3 +44,13 @@ Start DFC ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT} env:SIMGROUP_ROOT=${SIMGROUP_ROOT} Log To Console Dfc-start: Log To Console ${cli_cmd_output.stdout} ${cli_cmd_output.stderr} + + +Test Teardown + [Documentation] Cleanup containers + ${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh + Log To Console ${cli_cmd_output.stdout} ${cli_cmd_output.stderr} + ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh + Log To Console ${cli_cmd_output.stdout} ${cli_cmd_output.stderr} + ${cli_cmd_output}= Run Process ${DFC_ROOT}/../dfc-containers-clean.sh stderr=STDOUT + Log To Console Dfc containter clean: ${cli_cmd_output.stdout} ${cli_cmd_output.stderr} diff --git a/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot b/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot index 5b9048ff..1d87cfb7 100755 --- a/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot +++ b/tests/dcaegen2-collectors-datafile/testsuites/Functional-Single-File-suite/FuncSingleFile.robot @@ -53,7 +53,6 @@ Verify single event with single 1MB FTPS file. From event poll to published file 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} ${ftp_type} - ${cli_cmd_output}= Run Process ${DFC_ROOT}/../dfc-containers-clean.sh Set Environment Variable MR_TC ${mr_tc} Set Environment Variable FILE_SIZE ${file_size_in_mb}MB Set Environment Variable FTP_TYPE ${ftp_type} @@ -85,10 +84,8 @@ Verify Single Event From Event Poll To Published File 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 - ${cli_cmd_output}= Run Process ${SIMGROUP_ROOT}/simulators-kill.sh - Log To Console ${cli_cmd_output.stdout} ${cli_cmd_output.stderr} - ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-kill.sh - Log To Console ${cli_cmd_output.stdout} ${cli_cmd_output.stderr} + + [Teardown] Test Teardown Set Default Environment Variables [Documentation] Set default environment variables for simulators setup diff --git a/tests/dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite/StrictHostChecking.robot b/tests/dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite/StrictHostChecking.robot new file mode 100755 index 00000000..3962d4e5 --- /dev/null +++ b/tests/dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite/StrictHostChecking.robot @@ -0,0 +1,112 @@ +*** Settings *** +Library OperatingSystem +Library RequestsLibrary +Library Process + +Resource ../../resources/common-keywords.robot + +Test Teardown + +*** 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_INSECURE_SFTP} /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_no_strict_host_key_checking.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, SFTP, various SFTP Strict host key checking settings + +Verify single event with SFTP file, when host known and strict host key checking enabled. From event poll to published file + [TAGS] DFC_STRICT_HOST_KEY_CHECKING_1 + [Documentation] Verify single event with SFTP file, when host known and strict host key checking enabled. From event poll to published file. + [Setup] Setup Strict Host Key Checking Test ${CONSUL_UPL_APP} all_hosts_keys + + 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 1 000 000 #Verify 1 000 000 bytes published file data in DR redir sim + + [Teardown] Test Teardown + +Verify single event with SFTP file, when host unknown and strict host key checking disabled. From event poll to published file + [TAGS] DFC_STRICT_HOST_KEY_CHECKING_2 + [Documentation] Verify single event with SFTP file, when host unknown and strict host key checking disabled. From event poll to published file. + [Setup] Setup Strict Host Key Checking Test ${CONSUL_UPL_APP_INSECURE_SFTP} known_hosts_empty + + 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 1 000 000 #Verify 1 000 000 bytes published file data in DR redir sim + + [Teardown] Test Teardown + +Verify single event with SFTP file, when no known hosts file and strict host key checking enabled. From event poll to published file + [TAGS] DFC_STRICT_HOST_KEY_CHECKING_3 + [Documentation] Verify single event with SFTP file, when host unknown and strict host key checking enabled. File not published. + [Setup] Setup Strict Host Key Checking Test ${CONSUL_UPL_APP} no_known_hosts_file + + 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 1 000 000 #Verify 1 000 000 bytes published file data in DR redir sim + + [Teardown] Test Teardown + + + +Verify single event with SFTP file, when host unknown and strict host key checking enabled. File not published + [TAGS] DFC_STRICT_HOST_KEY_CHECKING_4 + [Documentation] Verify single event with SFTP file, when host unknown and strict host key checking enabled. File not published. + [Setup] Setup Strict Host Key Checking Test ${CONSUL_UPL_APP} known_hosts_empty + 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 + Sleep 60 + DR Sim Published Files Equal 0 #Verify no file was published to DR sim + [Teardown] Test Teardown + +*** Keywords *** + +Setup Strict Host Key Checking Test + [Documentation] Sets up strict host key checking test with single 1MB file + [Arguments] ${consul_config_request} ${known_hosts_file} + Set Environment Variable MR_TC --tc100 + 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 NUM_FTPFILES 1 + Set Environment Variable NUM_PNFS 1 + Set Environment Variable FILE_SIZE 1MB + Set Environment Variable FTP_TYPE SFTP + Set Environment Variable NUM_FTP_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 FTPS_SIMS ftpes-server-vsftpd0:21 + + ${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_config_request} 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 + + ${cli_cmd_output}= Run Process ${DFC_ROOT}/dfc-start.sh cwd=${DFC_ROOT} env:KNOWN_HOSTS=${known_hosts_file} + Log To Console Dfc-start: + Log To Console ${cli_cmd_output.stdout} ${cli_cmd_output.stderr} diff --git a/tests/dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite/__init__.robot b/tests/dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite/__init__.robot new file mode 100755 index 00000000..77743849 --- /dev/null +++ b/tests/dcaegen2-collectors-datafile/testsuites/Strict-Host-Checking-suite/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation DFC Strict Host Checking test suite. Single event with single file. -- cgit 1.2.3-korg