blob: 547492cadd878f53265f794e31b14df433c2bb4e [file] [log] [blame]
BjornMagnussonXA83a750f2021-09-21 20:39:58 +02001#!/usr/bin/env bash
2
3# ============LICENSE_START===============================================
BjornMagnussonXA7d7cb5f2023-04-11 10:32:56 +02004# Copyright (C) 2020-2023 Nordix Foundation. All rights reserved.
rohithrajneesh927c17e2023-12-01 14:26:03 +00005# Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
BjornMagnussonXA83a750f2021-09-21 20:39:58 +02006# ========================================================================
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18# ============LICENSE_END=================================================
19#
20
21TC_ONELINE_DESCR="Testing southbound proxy for SDNC - docker only"
22
23#App names to include in the test when running docker, space separated list
BjornMagnussonXA663566c2021-11-08 10:25:07 +010024DOCKER_INCLUDED_IMAGES="RICSIM SDNC HTTPPROXY KUBEPROXY"
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020025#App names to include in the test when running kubernetes, space separated list
26KUBE_INCLUDED_IMAGES=""
BjornMagnussonXAd54225b2023-04-19 14:03:49 +020027#Pre-started app (not started by script) to include in the test when running kubernetes, space separated list
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020028KUBE_PRESTARTED_IMAGES=" "
29
BjornMagnussonXA8fbb2262022-01-24 15:20:15 +010030#Ignore image in DOCKER_INCLUDED_IMAGES, KUBE_INCLUDED_IMAGES if
31#the image is not configured in the supplied env_file
32#Used for images not applicable to all supported profile
33CONDITIONALLY_IGNORED_IMAGES=""
34
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020035#Supported test environment profiles
rohithrajneesh927c17e2023-12-01 14:26:03 +000036SUPPORTED_PROFILES="ONAP-KOHN ONAP-LONDON ONAP-MONTREAL"
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020037#Supported run modes
38SUPPORTED_RUNMODES="DOCKER"
39
BjornMagnussonXA79e37002021-11-22 13:36:04 +010040. ../common/testcase_common.sh $@
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020041
42setup_testenvironment
43
44#### TEST BEGIN ####
45
BjornMagnussonXA7d7cb5f2023-04-11 10:32:56 +020046sim_generate_policy_uuid
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020047
BjornMagnussonXAd2aeca82022-03-07 11:04:55 +010048#Test a1pms and simulator protocol versions (others are http only)
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020049NB_TESTED_PROTOCOLS="HTTP HTTPS"
50SB_TESTED_PROTOCOLS="HTTP HTTPS"
51
52for __nb_httpx in $NB_TESTED_PROTOCOLS ; do
53 for __sb_httpx in $SB_TESTED_PROTOCOLS ; do
54
55 echo "#####################################################################"
56 echo "#####################################################################"
57 echo "### Testing SDNC using Northbound: $__nb_httpx and Southbound: $__sb_httpx"
58 echo "#####################################################################"
59 echo "#####################################################################"
60
61 if [ $__sb_httpx == "HTTPS" ]; then
62 deviation "Southbound https proxy is currently not supported"
63 break
64 fi
65
66
67 # Clean container and start all needed containers #
68 clean_environment
69
BjornMagnussonXA663566c2021-11-08 10:25:07 +010070 start_kube_proxy
71
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020072 start_http_proxy
73
74 start_ric_simulators ricsim_g1 1 OSC_2.1.0
75 start_ric_simulators ricsim_g2 1 STD_1.1.3
BjornMagnussonXAf83c3622023-02-28 10:05:51 +010076 start_ric_simulators ricsim_g3 1 STD_2.0.0
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020077
78 start_sdnc
BjornMagnussonXA7d7cb5f2023-04-11 10:32:56 +020079 controller_api_wait_for_status_ok 200 ricsim_g1_1
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020080
81 if [ $__nb_httpx == "HTTPS" ]; then
82 # "Using secure ports towards SDNC"
BjornMagnussonXA7d7cb5f2023-04-11 10:32:56 +020083 if [[ "$SDNC_FEATURE_LEVEL" == *"NO_NB_HTTPS"* ]]; then
84 deviation "SDNC does not support NB https"
85 use_sdnc_http
86 else
87 use_sdnc_https
88 fi
BjornMagnussonXA83a750f2021-09-21 20:39:58 +020089 else
90 #"Using non-secure ports towards SDNC"
91 use_sdnc_http
92 fi
93
94 if [ $__sb_httpx == "HTTPS" ]; then
95 # "Using secure ports towards SDNC"
96 use_simulator_https
97 use_http_proxy_https
98 else
99 #"Using non-secure ports towards SDNC"
100 use_simulator_http
101 use_http_proxy_http
102 fi
103
104 echo -e $BOLD"Configure proxy in SDNC"$EBOLD
105 echo ""
106
107 if [ $__sb_httpx == "HTTPS" ]; then
108 echo "
109 sed -i 's/a1Mediator.proxy.url=/a1Mediator.proxy.url=https:\/\/httpproxy:8433/g' /opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties
110 " | docker exec -i a1controller bash
111 else
112 echo "
113 sed -i 's/a1Mediator.proxy.url=/a1Mediator.proxy.url=http:\/\/httpproxy:8080/g' /opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties
114 " | docker exec -i a1controller bash
115 fi
116
117 # Restart SDNC to use the updated config
118 stop_sdnc
119 start_stopped_sdnc
120
121 # API tests
122
123 controller_api_get_A1_policy_type 404 OSC ricsim_g1_1 1
124
125 sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
126
127
128 controller_api_get_A1_policy_ids 200 OSC ricsim_g1_1 1
129 controller_api_get_A1_policy_ids 200 STD ricsim_g2_1
130
131 controller_api_get_A1_policy_type 200 OSC ricsim_g1_1 1
132 controller_api_get_A1_policy_type 200 OSC ricsim_g1_1 1 testdata/OSC/sim_1.json
133 controller_api_get_A1_policy_type 404 OSC ricsim_g1_1 99
134
135 controller_api_put_A1_policy 202 OSC ricsim_g1_1 1 4000 testdata/OSC/pi1_template.json
136 controller_api_put_A1_policy 404 OSC ricsim_g1_1 5 1001 testdata/OSC/pi1_template.json
137
138 controller_api_put_A1_policy 201 STD ricsim_g2_1 5000 testdata/STD/pi1_template.json
139
140 controller_api_get_A1_policy_ids 200 OSC ricsim_g1_1 1 4000
141 controller_api_get_A1_policy_ids 200 STD ricsim_g2_1 5000
142
143 controller_api_get_A1_policy_status 200 OSC ricsim_g1_1 1 4000
144 controller_api_get_A1_policy_status 200 STD ricsim_g2_1 5000
145
146 VAL='NOT IN EFFECT'
147 controller_api_get_A1_policy_status 200 OSC ricsim_g1_1 1 4000 "$VAL" "false"
148 controller_api_get_A1_policy_status 200 STD ricsim_g2_1 5000 "UNDEFINED"
149
150
151 deviation "SDNC does not return original response code from sim"
152 controller_api_delete_A1_policy 202 OSC ricsim_g1_1 1 4000
153
154 deviation "SDNC does not return original response code from sim"
155 controller_api_delete_A1_policy 204 STD ricsim_g2_1 5000
156
157 sim_contains_str ricsim_g1_1 remote_hosts httpproxy.nonrtric-docker-net
158 sim_contains_str ricsim_g2_1 remote_hosts httpproxy.nonrtric-docker-net
159
160 check_sdnc_logs
161
162 store_logs "NB_"$__nb_httpx"_SB_"$__sb_httpx
163
164 done
165
166done
167
168#### TEST COMPLETE ####
169
170print_result
171
172auto_clean_environment