summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Morales <victor.morales@intel.com>2017-09-01 18:42:40 -0500
committerGary Wu <gary.i.wu@huawei.com>2017-09-05 17:25:41 +0000
commit0f94b4afe8fc7ae259afd2ddd89be20a482b0664 (patch)
tree27952a7db1d8e8bd7f95ba1ddf838062febe1abd
parente51891b6827f33390d4e81ac34222d862ad24880 (diff)
Add Robot UTs
This commit adds the required Unit Tests for covering Robot script functions and the refactoring process for adapting them. Change-Id: Id6b8be035461a37f6a399b6e04f8ce2d72d68cf4 Signed-off-by: Victor Morales <victor.morales@intel.com> Issue-Id: INT-19
-rwxr-xr-xbootstrap/vagrant-onap/lib/robot49
-rw-r--r--bootstrap/vagrant-onap/tests/test_robot48
2 files changed, 89 insertions, 8 deletions
diff --git a/bootstrap/vagrant-onap/lib/robot b/bootstrap/vagrant-onap/lib/robot
index 4102680ef..34b431a54 100755
--- a/bootstrap/vagrant-onap/lib/robot
+++ b/bootstrap/vagrant-onap/lib/robot
@@ -2,12 +2,34 @@
set -o xtrace
-# install_testsuite_properties() - Download and install testsuite properties
-function install_testsuite_properties {
+source /var/onap/functions
+
+robot_src_folder=$git_src_folder/testsuite
+robot_repos=("heatbridge" "properties" "python-testing-utils")
+
+# clone_robot_repos() - Function that clones Robot source repo.
+function clone_robot_repos {
+ clone_repo testsuite $robot_src_folder
+
+ for dirc in ${robot_repos[@]}; do
+ clone_repo testsuite/$dirc $robot_src_folder/$dirc
+ done
+}
+
+# compile_robot_repos() - Function that compile Robot source repo.
+function compile_robot_repos {
+ install_python_package tox
+ compile_src $robot_src_folder
+
+ for dirc in ${robot_repos[@]}; do
+ compile_src $robot_src_folder/$dirc
+ done
+}
+
+# _setup_ete_folder() - Create and copy ete folder structure
+function _setup_ete_folder {
mkdir -p /opt/eteshare/config
- local src_folder=/opt/testsuite/properties
- clone_repo testsuite/properties $src_folder
cp $src_folder/integration_* /opt/eteshare/config
cp $src_folder/vm_config2robot.sh /opt/eteshare/config
cp $src_folder/ete.sh /opt
@@ -17,15 +39,26 @@ function install_testsuite_properties {
chmod +x /opt/demo.sh
}
-# run_testsuite_image() - Pull and run testsuite docker image
-function run_testsuite_image {
+# get_robot_images() - Pull or build the Robot Docker images
+function get_robot_images {
pull_openecomp_image testsuite
+}
+
+# install_robot() - Run Robot services
+function install_robot {
docker rm -f openecompete_container
docker run -d --name openecompete_container -v /opt/eteshare:/share -p 88:88 $nexus_docker_repo/openecomp/testsuite:$docker_version
}
# init_robot() - Function that initialize Robot services
function init_robot {
- install_testsuite_properties
- run_testsuite_image
+ if [[ "$clone_repo" == "True" ]]; then
+ clone_robot_repos
+ _setup_ete_folder
+ if [[ "$compile_repo" == "True" ]]; then
+ compile_robot_repos
+ fi
+ fi
+ get_robot_images
+ install_robot
}
diff --git a/bootstrap/vagrant-onap/tests/test_robot b/bootstrap/vagrant-onap/tests/test_robot
new file mode 100644
index 000000000..702401e2a
--- /dev/null
+++ b/bootstrap/vagrant-onap/tests/test_robot
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+source /var/onap_tests/_test_base
+source /var/onap/robot
+
+covered_functions=(
+"clone_robot_repos" "compile_robot_repos" "get_robot_images" "install_robot"
+)
+
+# test_clone_robot_repos() - Verify that Robot repositories are cloned properly
+function test_clone_robot_repos {
+ clone_robot_repos
+
+ asserts_file_exist $robot_src_folder/LICENSE.TXT
+ asserts_file_exist $robot_src_folder/heatbridge/pom.xml
+ asserts_file_exist $robot_src_folder/properties/LICENSE.TXT
+ asserts_file_exist $robot_src_folder/python-testing-utils/LICENSE.TXT
+}
+
+# test_compile_robot_repos() - Verify that Robot source code can be compiled properly
+function test_compile_robot_repos {
+ clone_robot_repos
+ compile_robot_repos
+
+ asserts_file_exist $robot_src_folder/heatbridge/target/maven-python/dist/heatbridge-0.3.0.dev0-py2-none-any.whl
+}
+
+# test_get_robot_images() - Verify that Robot Docker images are retrieved
+function test_get_mr_images {
+ get_robot_images
+
+ asserts_image testsuite
+}
+
+# test_install_robot() - Verify the built and start of Robot services
+function test_install_message_router {
+ clone_robot_repos
+ get_robot_images
+ install_robot
+
+ asserts_image_running testsuite
+}
+
+if [ "$1" != '*' ]; then
+ unset covered_functions
+ covered_functions=$1
+fi
+main "${covered_functions[@]}"