From 69311bf8082471be45574c9a99b23e31e606669c Mon Sep 17 00:00:00 2001 From: maximesson Date: Fri, 30 Aug 2019 14:05:15 +0000 Subject: Updated README files and adaptation of consul/cbs config Change-Id: I81494f56978a3d0ff06ec0d66968f33f08114103 Issue-ID: DCAEGEN2-1719 Signed-off-by: maximesson --- .../auto-test/README.md | 217 ++------------------- 1 file changed, 13 insertions(+), 204 deletions(-) (limited to 'test/mocks/datafilecollector-testharness/auto-test/README.md') diff --git a/test/mocks/datafilecollector-testharness/auto-test/README.md b/test/mocks/datafilecollector-testharness/auto-test/README.md index a94076f58..b73067dee 100644 --- a/test/mocks/datafilecollector-testharness/auto-test/README.md +++ b/test/mocks/datafilecollector-testharness/auto-test/README.md @@ -1,6 +1,8 @@ ## Running automated test case and test suites Test cases run a single test case and test suites run one or more test cases in a sequence. +The test cases and test suites are possible to run on both Ubuntu and Mac-OS. + ##Overall structure and setup Test cases and test suites are written as bash scripts which call predefined functions in two other bash scripts located in ../common dir. @@ -69,201 +71,8 @@ print_result ``` ----------------------------------------------------------- -The ../common/testcase_common.sh contains all functions needed for the test case file. - -The following is a list of the available functions in a test case file. Please see some of the defined test case for examples. - -**log_sim_settings**
-Print the env variables needed for the simulators and their setup - -**clean_containers**
-Stop and remove all containers including dfc apps and simulators - -**start_simulators**
-Start all simulators in the simulator group - -**start_dfc **
-Start the dfc application. The arg shall be an integer from 0 to 5 reprenting the dfc instance to start. DFC app will get a name like 'dfc_app0' to 'dfc_app4'. - -**kill_dfc **
-Stop and remove the dfc app container with the instance id. - -**consul_config_app **
-Configure consul with json file with app config for a dfc instance using the dfc instance id and the json file. - -**consul_config_dmaap **
-Configure consul with json file with dmaap config for a dfc instance using the dfc instance id and the json file. +The ../common/testcase_common.sh contains all functions needed for the test case file. See the README.md file in the ../common dir for a description of all available functions. -**kill_dr**
-Stop and remove the DR simulator container - -**kill_drr**
-Stop and remove the DR redir simulator container - -**kill_mr**
-Stop and remove the MR simulator container - -**kill_sftp **
-Stop and remove a SFTP container with the supplied instance id (0-5). - -**stop_sftp **
-Stop a SFTP container with the supplied instance id (0-5). - -**start_sftp **
-Start a previously stopped SFTP container with the supplied instance id (0-5). - -**kill_ftps **
-Stop and remove a FTPS container with the supplied instance id (0-5). - -**stop_ftps **
-Stop a FTPS container with the supplied instance id (0-5). - -**start_ftps **
-Start a previously stopped FTPS container with the supplied instance id (0-5). - -**mr_print **
-Print a variable value from the MR simulator. - -**dr_print **
-Print a varialle value from the DR simulator. - -**drr_print **
-Print a variable value from the DR redir simulator. - -**dfc_print **
-Print a variable value from an dfc instance with the supplied instance id (0-5). - -**mr_read **
-Read a variable value from MR sim and send to stdout - -**dr_read **
-Read a variable value from DR sim and send to stdout - -**drr_read **
-Read a variable value from DR redir sim and send to stdout - -**sleep_wait **
-Sleep for a number of seconds - -**sleep_heartbeat **
-Sleep for a number of seconds and prints dfc heartbeat output every 30 sec - -**mr_equal []**
-Tests if a variable value in the MR simulator is equal to a target value and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable is -equal to the targer or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value becomes equal to the target -value or not. - -**mr_greater []**
-Tests if a variable value in the MR simulator is greater than a target value and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable is -greater the target or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value is greater than the target -value or not. - -**mr_less []**
-Tests if a variable value in the MR simulator is less than a target value and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable is -less than the target or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value is less than the target -value or not. - -**mr_contain_str []**
-Tests if a variable value in the MR simulator contains a substring target and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable contains -the target substring or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value contains the target -substring or not. - -**dr_equal []**
-Tests if a variable value in the DR simulator is equal to a target value and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable is -equal to the target or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value becomes equal to the target -value or not. - -**dr_greater []**
-Tests if a variable value in the DR simulator is greater than a target value and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable is -greater the target or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value is greater than the target -value or not. - -**dr_less []**
-Tests if a variable value in the DR simulator is less than a target value and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable is -less than the target or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value is less than the target -value or not. - -**dr_contain_str []**
-Tests if a variable value in the DR simulator contains a substring target and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable contains -the target substring or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value contains the target -substring or not. - -**drr_equal []**
-Tests if a variable value in the DR Redir simulator is equal to a target value and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable is -equal to the target or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value becomes equal to the target -value or not. - -**drr_greater []**
-Tests if a variable value in the DR Redir simulator is greater than a target value and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable is -greater the target or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value is greater than the target -value or not. - -**drr_less []**
-Tests if a variable value in the DR Redir simulator is less than a target value and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable is -less than the target or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value is less than the target -value or not. - -**drr_contain_str []**
-Tests if a variable value in the DR Redir simulator contains a substring target and and optional timeout. -
Arg: `` `` - This test set pass or fail depending on if the variable contains -the target substring or not. -
Arg: `` `` - This test waits up to the timeout seconds -before setting pass or fail depending on if the variable value contains the target -substring or not. - -**dfc_contain_str **
-Test is a variable in the DFC contains a substring. - -**store_logs **
-Store all dfc app and simulators log to the test case log dir. All logs gets a prefix to -separate logs stored at different steps in the test script. -If logs need to be stored in several locations, use different prefix to easily identify the location -when the logs where taken. - -**check_dfc_log**
-Check the dfc application log for WARN and ERR messages and print the count. - -**print_result**
-Print the test result. Only once at the very end of the script. - -**print_all**
-Print all variables from the simulators and the dfc heartbeat. - -In addition, comment in the file can be added using the normal comment sign in bash '#'. -Comments that shall be visible on the screen as well as in the test case log, use ``echo ""``. ##Test suite files## A test suite file contains one or more test cases to run in sequence. @@ -297,15 +106,15 @@ suite_complete ``` ----------------------------------------------------------- -The ../common/testsuite_common.sh contains all functions needed for a test suite file. - -The following is a list of the available functions in a test case file. Please see a existing test suite for examples. - -**suite_setup**
-Sets up the test suite and print out a heading. +The ../common/testsuite_common.sh contains all functions needed for a test suite file. See the README.md file in the ../common dir for a description of all available functions. -**run_tc <$1 from test suite script> <$2 from test suite script>**
-Execute a test case with arg from test suite script +##Known limitations## +When DFC has polled a new event from the MR simulator, DFC starts to check each file whether it has been already published or not. This check is done per file towards the DR simulator. +If the event contains a large amount of files, there is a risk that DFC will flood the DR simulator with requests for these checks. The timeout in DFC for the response is currently 4 sec and the DR simulator may not be able to answer all request within the timeout. +DR simulator is single threaded. This seem to be a problem only for the first polled event. For subsequent events these requests seem to be spread out in time by DFC so the DR simulator can respond in time. +The problem is visible in the DR simulator counters `ctr_publish_query` and`ctr_publish_query_not_published` in the auto-test scripts. They will have a count slightly less (1 to 5) than the actual number of files in the event. The application log in DFC also prints a timeout error for each failed request. +A number of the test script will report failure due to this limitation in the DR simulator. -**suite_complete**
-Print out the overall result of the executed test cases. \ No newline at end of file +The FTP servers may deny connection when too many file download requests are made in a short time from DFC. +This is visible in the DFC application log as WARNINGs for failed downloads. However, DFC always retry the failed download a number of times to +minimize the risk of giving up download completely for these files. \ No newline at end of file -- cgit 1.2.3-korg