#!/bin/bash TC_ONELINE_DESCR="<test case description>" . ../common/testcase_common.sh $1 $2 #### TEST BEGIN #### <tests here> #### TEST COMPLETE #### store_logs END 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.
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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable is equal to the targer or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable is greater the target or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable is less than the target or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable contains the target substring or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable is equal to the target or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable is greater the target or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable is less than the target or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable contains the target substring or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable is equal to the target or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable is greater the target or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable is less than the target or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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: <variable-name> <target-value>
- This test set pass or fail depending on if the variable contains the target substring or not. Arg: <variable-name> <target-value> <timeout-in-sec>
- 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 "<msg>"
.
##Test suite files## A test suite file contains one or more test cases to run in sequence. A description of the test case should be given to the TS_ONELINE_DESCR
var. The description will be printed in the test result.
The empty template for a test suite files looks like this:
(Only the parts noted with <
and >
shall be changed.)
#!/bin/bash TS_ONELINE_DESCR="<test-suite-description>" . ../common/testsuite_common.sh suite_setup ############# TEST CASES ################# run_tc <tc-id or ts-id>.sh $1 $2 ... ... ########################################## 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.
run_tc <$1 from test suite script> <$2 from test suite script> Execute a test case with arg from test suite script
suite_complete Print out the overall result of the executed test cases.