blob: 1ccb425e275acd6409ea876a470af14deb7a678c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
#!/bin/bash
# ============LICENSE_START===============================================
# Copyright (C) 2020 Nordix Foundation. All rights reserved.
# ========================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=================================================
#
TC_ONELINE_DESCR="Sanity test, create service and then create,update and delete a policy using http/https and Agent REST/DMAAP with/without SDNC controller"
#App names to include in the test, space separated list
INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM SDNC"
. ../common/testcase_common.sh $@
. ../common/agent_api_functions.sh
. ../common/ricsimulator_api_functions.sh
#### TEST BEGIN ####
generate_uuid
# Tested variants of REST/DMAAP/SDNC config
TESTED_VARIANTS="REST DMAAP"
#Test agent and simulator protocol versions (others are http only)
TESTED_PROTOCOLS="HTTP HTTPS"
for __httpx in $TESTED_PROTOCOLS ; do
for interface in $TESTED_VARIANTS ; do
echo "#####################################################################"
echo "#####################################################################"
echo "### Testing agent: $interface using $__httpx"
echo "#####################################################################"
echo "#####################################################################"
#Local vars in test script
##########################
if [ $__httpx == "HTTPS" ]; then
# Path to callback receiver
CR_PATH="https://$CR_APP_NAME:$CR_EXTERNAL_SECURE_PORT/callbacks"
use_cr_https
else
# Path to callback receiver
CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
use_cr_http
fi
# Clean container and start all needed containers #
clean_containers
if [ $__httpx == "HTTPS" ]; then
#"Using secure ports towards simulators"
use_simulator_https
else
#"Using non-secure ports towards simulators"
use_simulator_http
fi
start_ric_simulators ricsim_g1 1 OSC_2.1.0
start_ric_simulators ricsim_g2 1 STD_1.1.3
start_mr
if [ $__httpx == "HTTPS" ]; then
#echo "Using secure ports between agent and MR"
use_mr_https
else
#"Using non-secure ports between agent and MR"
use_mr_http
fi
start_cr
if [ $interface == "REST+SDNC" ] || [ $interface == "DMAAP+SDNC" ]; then
start_sdnc
if [ $__httpx == "HTTPS" ]; then
# "Using secure ports towards SDNC"
use_sdnc_https
else
#"Using non-secure ports towards SDNC"
use_sdnc_http
fi
fi
start_consul_cbs
if [ $interface == "REST+SDNC" ] || [ $interface == "DMAAP+SDNC" ]; then
prepare_consul_config SDNC ".consul_config.json"
else
prepare_consul_config NOSDNC ".consul_config.json"
fi
consul_config_app ".consul_config.json"
start_control_panel
start_policy_agent
set_agent_debug
if [ $interface == "DMAAP" ] || [ $interface == "DMAAP+SDNC" ]; then
if [ $__httpx == "HTTPS" ]; then
echo "Using secure ports towards dmaap"
use_agent_dmaap_https
else
echo "Using non-secure ports towards dmaap"
use_agent_dmaap_http
fi
else
if [ $__httpx == "HTTPS" ]; then
echo "Using secure ports towards the agent"
use_agent_rest_https
else
echo "Using non-secure ports towards the agent"
use_agent_rest_http
fi
fi
cr_equal received_callbacks 0
mr_equal requests_submitted 0
sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
api_equal json:rics 2 60
api_equal json:policy_schemas 2 120
api_equal json:policy_types 2
api_equal json:policies 0
api_equal json:policy_ids 0
echo "############################################"
echo "############## Health check ################"
echo "############################################"
api_get_status 200
echo "############################################"
echo "##### Service registry and supervision #####"
echo "############################################"
api_put_service 201 "serv1" 1000 "$CR_PATH/1"
api_get_service_ids 200 "serv1"
api_put_services_keepalive 200 "serv1"
echo "############################################"
echo "############## RIC Repository ##############"
echo "############################################"
api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:AVAILABLE ricsim_g2_1:me1_ricsim_g2_1,me2_ricsim_g2_1:EMPTYTYPE:AVAILABLE"
echo "############################################"
echo "########### A1 Policy Management ###########"
echo "############################################"
api_put_policy 201 "serv1" ricsim_g1_1 1 5000 NOTRANSIENT testdata/OSC/pi1_template.json
api_put_policy 200 "serv1" ricsim_g1_1 1 5000 NOTRANSIENT testdata/OSC/pi1_template.json
api_put_policy 201 "serv1" ricsim_g2_1 NOTYPE 5100 NOTRANSIENT testdata/STD/pi1_template.json
api_put_policy 200 "serv1" ricsim_g2_1 NOTYPE 5100 NOTRANSIENT testdata/STD/pi1_template.json
api_delete_policy 204 5000
api_delete_policy 204 5100
api_equal json:policies 0
api_equal json:policy_ids 0
cr_equal received_callbacks 0
if [ $interface == "DMAAP" ] || [ $interface == "DMAAP+SDNC" ]; then
VAL=11 # Number of Agent API calls over DMAAP
mr_equal requests_fetched $VAL
mr_equal responses_submitted $VAL
mr_equal responses_fetched $VAL
mr_equal current_requests 0
mr_equal current_responses 0
else
mr_equal requests_submitted 0
fi
if [ $interface == "REST+SDNC" ] || [ $interface == "DMAAP+SDNC" ]; then
sim_contains_str ricsim_g1_1 remote_hosts "a1-controller"
sim_contains_str ricsim_g2_1 remote_hosts "a1-controller"
else
sim_contains_str ricsim_g1_1 remote_hosts "policy-agent"
sim_contains_str ricsim_g2_1 remote_hosts "policy-agent"
fi
check_policy_agent_logs
check_control_panel_logs
store_logs "${__httpx}__${interface}"
done
done
#### TEST COMPLETE ####
print_result
auto_clean_containers
|