blob: 9411b46f448390bb23ce15467261b4dc26dd6da6 [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 {
Victor Morales21404d72017-10-20 13:18:26 -0700161 pushd /var/onap_tests/
162 cp projects.txt remaining_projects.txt
Victor Morales54646642017-12-08 11:57:42 -0800163 for project in "${repos[@]}"; do
164 for covered_repo in $project; do
165 sed -i '/^'${covered_repo//\//\\/}'$/d' remaining_projects.txt
166 done
Victor Morales21404d72017-10-20 13:18:26 -0700167 done
168
169 threshold=75
170 num_projects=$(wc -l < projects.txt)
171 num_remaining_projects=$(wc -l < remaining_projects.txt)
172 coverage=`echo "scale=2; 100-($num_remaining_projects/$num_projects*100)" | bc | cut -d . -f 1`
173 if [ $coverage -lt $threshold ]; then
174 raise_error "There are repositories that are not covered by scripts"
175 fi
176 popd
177}
178
Victor Moralesdd074802017-07-26 16:06:35 -0500179if [ "$1" != '*' ]; then
180 unset covered_functions
181 covered_functions=$1
182fi
183main "${covered_functions[@]}"