blob: a6d225bc6cf4829090b380723c19e1cde6926cbd [file] [log] [blame]
Victor Moralesdd074802017-07-26 16:06:35 -05001#!/bin/bash
2
3source /var/onap_tests/_test_base
4source /var/onap/functions
5
6covered_functions=(
Victor Morales071b81c2017-11-07 14:13:07 -08007"create_configuration_files" "clone_repo"
Victor Moralesdd074802017-07-26 16:06:35 -05008"configure_bind" "install_java" "install_maven" "install_nodejs" "install_python"
9"install_docker" "pull_docker_image" "install_docker_compose" "configure_service"
Victor Moralescf269992017-10-18 09:29:55 -070010"start_ODL" "compile_src" "build_docker_image" "docker_openecomp_login"
Victor Morales21404d72017-10-20 13:18:26 -070011"pull_openecomp_image" "pull_onap_image" "coverity_repos"
Victor Moralesdd074802017-07-26 16:06:35 -050012)
13
Victor Moralesdd074802017-07-26 16:06:35 -050014# test_create_configuration_files() - Verify the creation of a configuration files
15function test_create_configuration_files {
16 create_configuration_files
17
18 asserts_file_exist /opt/config/nexus_docker_repo.txt
19 asserts_file_exist /opt/config/nexus_username.txt
20 asserts_file_exist /opt/config/nexus_password.txt
21 asserts_file_exist /opt/config/openstack_username.txt
22 asserts_file_exist /opt/config/tenant_id.txt
23 asserts_file_exist /opt/config/dmaap_topic.txt
24 asserts_file_exist /opt/config/docker_version.txt
25}
26
27# test_docker_openecomp_login() - Verify the proper login to OpenECOMP Docker Hub
28function test_docker_openecomp_login {
29 docker_openecomp_login
30}
31
Victor Moralescf269992017-10-18 09:29:55 -070032# test_pull_openecomp_image() - Verify the OpenECOMP container image pulling process
Victor Moralesdd074802017-07-26 16:06:35 -050033function test_pull_openecomp_image {
Victor Moralescf269992017-10-18 09:29:55 -070034 local image_name=portal-apps
35 unset docker_version
36 pull_openecomp_image $image_name
Victor Moralesdd074802017-07-26 16:06:35 -050037
Victor Moralescf269992017-10-18 09:29:55 -070038 asserts_image $nexus_docker_repo/openecomp/$image_name
39}
Victor Moralesdd074802017-07-26 16:06:35 -050040
Victor Moralescf269992017-10-18 09:29:55 -070041# test_pull_onap_image() - Verify the ONAP cointainer pulling process
42function test_pull_onap_image {
43 local image_name=portal-apps
44 unset docker_version
45 pull_onap_image $image_name
46
47 asserts_image $nexus_docker_repo/onap/$image_name
Victor Moralesdd074802017-07-26 16:06:35 -050048}
49
50# test_clone_repo() - Verify cloning and pulling source code from repositories
51function test_clone_repo {
52 clone_repo demo
53
54 asserts_installed_package git
55 asserts_file_exist $git_src_folder/demo/LICENSE.TXT
56}
57
Victor Moralesdd074802017-07-26 16:06:35 -050058# test_configure_bind() - Verify the correct installation and configuration of bind
59function test_configure_bind {
60 configure_bind
61
62 asserts_installed_package bind9
63 asserts_installed_package bind9utils
64 asserts_file_exist /etc/bind/zones/db.simpledemo.openecomp.org
65 asserts_file_exist /etc/bind/named.conf.options
66 asserts_file_exist /etc/bind/named.conf.local
67
68 rm -rf /etc/bind/
69}
70
71# test_install_java() - Verify the correct installation of java
72function test_install_java {
73 install_java
74
75 asserts_installed_package openjdk-8-jdk
76}
77
78# test_install_maven() - Verify the correct installation and configuration of maven
79function test_install_maven {
80 install_maven
81
82 asserts_installed_package maven3
83 asserts_installed_package openjdk-8-jdk
84 asserts_file_exist $mvn_conf_file
85}
86
87# test_install_nodejs() - Verify the correct installation of NodeJS tools
88function test_install_nodejs {
89 install_nodejs
90
91 asserts_installed_package nodejs
92 asserts_file_exist /usr/bin/npm
93}
94
95# test_install_python() - Verify the correct installation of Python
96function test_install_python {
97 install_python
98 asserts_installed_package python2.7
99 asserts_installed_package python-dev
Victor Moralesdd074802017-07-26 16:06:35 -0500100}
101
102# test_install_docker() - Verify the correct installation of Docker
103function test_install_docker {
104 install_docker
105
106 asserts_installed_package docker-ce
107}
108
109# test_pull_docker_image() - Verify the correct retrieve of a specific docker image
110function test_pull_docker_image {
111 local image=attos/dmaap
112 pull_docker_image $image
113
114 asserts_image $image
Victor Moralesdd074802017-07-26 16:06:35 -0500115}
116
117# test_install_docker_compose() - Verify the correct installation of Docker Compose tool
118function test_install_docker_compose {
119 install_docker_compose
120
121 asserts_file_exist /opt/docker/docker-compose
122}
123
124# test_configure_service() - Verify the correct configuration of a specific init service
125function test_configure_service {
126 local service=mso
127
128 configure_service $service
129
130 asserts_file_exist /etc/init.d/$service
131
132 rm -rf /etc/init.d/$service
133}
134
135# test_start_ODL() - Verify the installation and configuration of OpenDayLight controller
136function test_start_ODL {
137 start_ODL
138
139 asserts_file_exist /opt/opendaylight/current/bin/start
140}
141
142# test_compile_src() - Verify the compilation of java code using maven tools
143function test_compile_src {
144 local repo=vid/asdcclient
145 clone_repo $repo
146 compile_src $git_src_folder/$repo
147
148 asserts_file_exist $git_src_folder/$repo/target/asdcclient-1.0.2-SNAPSHOT.jar
149}
150
151# test_build_docker_image() - Verify that a docker image is created from source code
152function test_build_docker_image {
Victor Moralesa898f562017-09-14 15:43:21 -0700153 clone_repo ccsdk/distribution
154 build_docker_image $git_src_folder/ccsdk/distribution/ubuntu docker
Victor Moralesdd074802017-07-26 16:06:35 -0500155
Victor Moralesa898f562017-09-14 15:43:21 -0700156 asserts_image onap/ccsdk-ubuntu-image
Victor Moralesdd074802017-07-26 16:06:35 -0500157}
158
Victor Morales21404d72017-10-20 13:18:26 -0700159# test_coverity_repos() - Verify that all the repos are covered by scripts
160function test_coverity_repos {
161 # Get repositories list from source code files
162 repos_list=()
163 for module in $( stat -c "%F %n" /var/onap/* | grep -v "_\|functions\|commons\|files" | cut -d' ' -f 3-); do
164 source $module
165 module_repo_list=$(eval echo \${$(basename $module)_repos[@]})
166 repos_list=(${repos_list[@]} ${module_repo_list[@]})
167 done
168
169 pushd /var/onap_tests/
170 cp projects.txt remaining_projects.txt
171 for covered_repo in "${repos_list[@]}"; do
Victor Moralesf6c0bf12017-10-27 11:08:04 -0700172 sed -i '/^'${covered_repo//\//\\/}'$/d' remaining_projects.txt
Victor Morales21404d72017-10-20 13:18:26 -0700173 done
174
175 threshold=75
176 num_projects=$(wc -l < projects.txt)
177 num_remaining_projects=$(wc -l < remaining_projects.txt)
178 coverage=`echo "scale=2; 100-($num_remaining_projects/$num_projects*100)" | bc | cut -d . -f 1`
179 if [ $coverage -lt $threshold ]; then
180 raise_error "There are repositories that are not covered by scripts"
181 fi
182 popd
183}
184
Victor Moralesdd074802017-07-26 16:06:35 -0500185if [ "$1" != '*' ]; then
186 unset covered_functions
187 covered_functions=$1
188fi
189main "${covered_functions[@]}"