3 # ============LICENSE_START===============================================
4 # Copyright (C) 2020 Nordix Foundation. All rights reserved.
5 # ========================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END=================================================
20 TC_ONELINE_DESCR="Change supported policy types and reconfigure rics"
22 #App names to include in the test, space separated list
23 INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM SDNC"
25 . ../common/testcase_common.sh $@
26 . ../common/agent_api_functions.sh
27 . ../common/ricsimulator_api_functions.sh
33 #Local vars in test script
34 ##########################
35 # Path to callback receiver
36 CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
40 NUM_RICS_2=$(($NUM_RICS-2))
42 # Tested variants of REST/SDNC config
43 TESTED_VARIANTS="REST REST+SDNC"
45 for interface in $TESTED_VARIANTS ; do
47 echo "#####################################################################"
48 echo "#####################################################################"
49 echo "### Testing agent: "$interface
50 echo "#####################################################################"
51 echo "#####################################################################"
54 # Clean container and start all needed containers #
57 #Start simulators and prepare two configs
59 start_ric_simulators ricsim_g1 $NUM_RICS_2 OSC_2.1.0
67 if [[ $interface = *"SDNC"* ]]; then
69 prepare_consul_config SDNC ".consul_config_2.json"
71 prepare_consul_config NOSDNC ".consul_config_2.json"
74 consul_config_app ".consul_config_2.json"
77 # Create 2nd config and save for later
78 start_ric_simulators ricsim_g1 $NUM_RICS OSC_2.1.0
80 if [[ $interface = *"SDNC"* ]]; then
81 prepare_consul_config SDNC ".consul_config_all.json"
83 prepare_consul_config NOSDNC ".consul_config_all.json"
93 for ((i=1; i<=${NUM_RICS}; i++))
95 sim_print ricsim_g1_$i interface
98 # All sims running but 2 are not configured in consul
99 api_equal json:rics 8 120
101 api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:NOTYPE:???? \
102 ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:NOTYPE:???? \
103 ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:NOTYPE:???? \
104 ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:NOTYPE:???? \
105 ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:NOTYPE:???? \
106 ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:NOTYPE:???? \
107 ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:NOTYPE:???? \
108 ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:NOTYPE:???? "
111 sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
112 sim_put_policy_type 201 ricsim_g1_2 1 testdata/OSC/sim_1.json
113 sim_put_policy_type 201 ricsim_g1_3 1 testdata/OSC/sim_1.json
114 sim_put_policy_type 201 ricsim_g1_4 1 testdata/OSC/sim_1.json
115 sim_put_policy_type 201 ricsim_g1_5 1 testdata/OSC/sim_1.json
117 sim_put_policy_type 201 ricsim_g1_2 2 testdata/OSC/sim_2.json
118 sim_put_policy_type 201 ricsim_g1_3 2 testdata/OSC/sim_2.json
119 sim_put_policy_type 201 ricsim_g1_4 2 testdata/OSC/sim_2.json
120 sim_put_policy_type 201 ricsim_g1_5 2 testdata/OSC/sim_2.json
121 sim_put_policy_type 201 ricsim_g1_6 2 testdata/OSC/sim_2.json
123 sim_put_policy_type 201 ricsim_g1_3 3 testdata/OSC/sim_3.json
124 sim_put_policy_type 201 ricsim_g1_4 3 testdata/OSC/sim_3.json
125 sim_put_policy_type 201 ricsim_g1_5 3 testdata/OSC/sim_3.json
126 sim_put_policy_type 201 ricsim_g1_6 3 testdata/OSC/sim_3.json
127 sim_put_policy_type 201 ricsim_g1_7 3 testdata/OSC/sim_3.json
129 sim_put_policy_type 201 ricsim_g1_4 4 testdata/OSC/sim_4.json
130 sim_put_policy_type 201 ricsim_g1_5 4 testdata/OSC/sim_4.json
131 sim_put_policy_type 201 ricsim_g1_6 4 testdata/OSC/sim_4.json
132 sim_put_policy_type 201 ricsim_g1_7 4 testdata/OSC/sim_4.json
133 sim_put_policy_type 201 ricsim_g1_8 4 testdata/OSC/sim_4.json
135 sim_put_policy_type 201 ricsim_g1_5 5 testdata/OSC/sim_5.json
136 sim_put_policy_type 201 ricsim_g1_6 5 testdata/OSC/sim_5.json
137 sim_put_policy_type 201 ricsim_g1_7 5 testdata/OSC/sim_5.json
138 sim_put_policy_type 201 ricsim_g1_8 5 testdata/OSC/sim_5.json
139 sim_put_policy_type 201 ricsim_g1_9 5 testdata/OSC/sim_5.json
141 if [ "$PMS_VERSION" == "V2" ]; then
142 api_equal json:policy-types 5 120
144 echo "Check the number of types in the agent for each ric"
145 api_equal json:policy-types?ric_id=ricsim_g1_1 1 120
146 api_equal json:policy-types?ric_id=ricsim_g1_2 2 120
147 api_equal json:policy-types?ric_id=ricsim_g1_3 3 120
148 api_equal json:policy-types?ric_id=ricsim_g1_4 4 120
149 api_equal json:policy-types?ric_id=ricsim_g1_5 5 120
150 api_equal json:policy-types?ric_id=ricsim_g1_6 4 120
151 api_equal json:policy-types?ric_id=ricsim_g1_7 3 120
152 api_equal json:policy-types?ric_id=ricsim_g1_8 2 120
154 api_equal json:policy_types 5 120
156 echo "Check the number of types in the agent for each ric"
157 api_equal json:policy_types?ric=ricsim_g1_1 1 120
158 api_equal json:policy_types?ric=ricsim_g1_2 2 120
159 api_equal json:policy_types?ric=ricsim_g1_3 3 120
160 api_equal json:policy_types?ric=ricsim_g1_4 4 120
161 api_equal json:policy_types?ric=ricsim_g1_5 5 120
162 api_equal json:policy_types?ric=ricsim_g1_6 4 120
163 api_equal json:policy_types?ric=ricsim_g1_7 3 120
164 api_equal json:policy_types?ric=ricsim_g1_8 2 120
167 api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
168 ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
169 ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
170 ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
171 ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,4,5:???? \
172 ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,4,5:???? \
173 ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
174 ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? "
177 #Load config with all rics
178 consul_config_app ".consul_config_all.json"
180 api_equal json:rics 10 120
182 if [ "$PMS_VERSION" == "V2" ]; then
184 echo "Check the number of types in the agent for each ric"
185 api_equal json:policy-types?ric_id=ricsim_g1_1 1 120
186 api_equal json:policy-types?ric_id=ricsim_g1_2 2 120
187 api_equal json:policy-types?ric_id=ricsim_g1_3 3 120
188 api_equal json:policy-types?ric_id=ricsim_g1_4 4 120
189 api_equal json:policy-types?ric_id=ricsim_g1_5 5 120
190 api_equal json:policy-types?ric_id=ricsim_g1_6 4 120
191 api_equal json:policy-types?ric_id=ricsim_g1_7 3 120
192 api_equal json:policy-types?ric_id=ricsim_g1_8 2 120
193 api_equal json:policy-types?ric_id=ricsim_g1_9 1 120
194 api_equal json:policy-types?ric_id=ricsim_g1_10 0 120
197 echo "Check the number of types in the agent for each ric"
198 api_equal json:policy_types?ric=ricsim_g1_1 1 120
199 api_equal json:policy_types?ric=ricsim_g1_2 2 120
200 api_equal json:policy_types?ric=ricsim_g1_3 3 120
201 api_equal json:policy_types?ric=ricsim_g1_4 4 120
202 api_equal json:policy_types?ric=ricsim_g1_5 5 120
203 api_equal json:policy_types?ric=ricsim_g1_6 4 120
204 api_equal json:policy_types?ric=ricsim_g1_7 3 120
205 api_equal json:policy_types?ric=ricsim_g1_8 2 120
206 api_equal json:policy_types?ric=ricsim_g1_9 1 120
207 api_equal json:policy_types?ric=ricsim_g1_10 0 120
210 api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
211 ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
212 ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
213 ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
214 ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,4,5:???? \
215 ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,4,5:???? \
216 ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
217 ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? \
218 ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
219 ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
222 #No policy type in sim #10
224 if [ "$PMS_VERSION" == "V2" ]; then
225 api_equal json:policy-types 5
227 api_equal json:policy_types 5
230 api_put_service 201 "serv1" 3600 "$CR_PATH/serv1"
232 if [ "$PMS_VERSION" == "V2" ]; then
233 notificationurl="http://localhost:80"
238 api_put_policy 201 "serv1" ricsim_g1_9 5 2000 NOTRANSIENT $notificationurl testdata/OSC/pi5_template.json 1
240 if [ "$PMS_VERSION" == "V2" ]; then
241 api_equal json:policy_instances 1
243 api_equal json:policy_ids 1
246 sim_equal ricsim_g1_9 num_instances 1
249 # Load config with reduced number of rics
250 consul_config_app ".consul_config_2.json"
252 api_equal json:rics 8 120
254 if [ "$PMS_VERSION" == "V2" ]; then
255 echo "Check the number of types in the agent for each ric"
256 api_equal json:policy-types?ric_id=ricsim_g1_1 1 120
257 api_equal json:policy-types?ric_id=ricsim_g1_2 2 120
258 api_equal json:policy-types?ric_id=ricsim_g1_3 3 120
259 api_equal json:policy-types?ric_id=ricsim_g1_4 4 120
260 api_equal json:policy-types?ric_id=ricsim_g1_5 5 120
261 api_equal json:policy-types?ric_id=ricsim_g1_6 4 120
262 api_equal json:policy-types?ric_id=ricsim_g1_7 3 120
263 api_equal json:policy-types?ric_id=ricsim_g1_8 2 120
265 echo "Check the number of types in the agent for each ric"
266 api_equal json:policy_types?ric=ricsim_g1_1 1 120
267 api_equal json:policy_types?ric=ricsim_g1_2 2 120
268 api_equal json:policy_types?ric=ricsim_g1_3 3 120
269 api_equal json:policy_types?ric=ricsim_g1_4 4 120
270 api_equal json:policy_types?ric=ricsim_g1_5 5 120
271 api_equal json:policy_types?ric=ricsim_g1_6 4 120
272 api_equal json:policy_types?ric=ricsim_g1_7 3 120
273 api_equal json:policy_types?ric=ricsim_g1_8 2 120
276 api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
277 ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
278 ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
279 ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
280 ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,4,5:???? \
281 ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,4,5:???? \
282 ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
283 ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? "
287 if [ "$PMS_VERSION" == "V2" ]; then
288 api_equal json:policy_instances 0
290 api_equal json:policy_ids 0
293 api_get_policy_types 404 ricsim_g1_9
295 sim_equal ricsim_g1_9 num_instances 0
297 api_delete_policy 404 2000
299 # Load config with all rics
300 consul_config_app ".consul_config_all.json"
302 api_equal json:rics 10 120
304 if [ "$PMS_VERSION" == "V2" ]; then
305 echo "Check the number of types in the agent for each ric"
306 api_equal json:policy-types?ric_id=ricsim_g1_1 1 120
307 api_equal json:policy-types?ric_id=ricsim_g1_2 2 120
308 api_equal json:policy-types?ric_id=ricsim_g1_3 3 120
309 api_equal json:policy-types?ric_id=ricsim_g1_4 4 120
310 api_equal json:policy-types?ric_id=ricsim_g1_5 5 120
311 api_equal json:policy-types?ric_id=ricsim_g1_6 4 120
312 api_equal json:policy-types?ric_id=ricsim_g1_7 3 120
313 api_equal json:policy-types?ric_id=ricsim_g1_8 2 120
314 api_equal json:policy-types?ric_id=ricsim_g1_9 1 120
315 api_equal json:policy-types?ric_id=ricsim_g1_10 0 120
317 echo "Check the number of types in the agent for each ric"
318 api_equal json:policy_types?ric=ricsim_g1_1 1 120
319 api_equal json:policy_types?ric=ricsim_g1_2 2 120
320 api_equal json:policy_types?ric=ricsim_g1_3 3 120
321 api_equal json:policy_types?ric=ricsim_g1_4 4 120
322 api_equal json:policy_types?ric=ricsim_g1_5 5 120
323 api_equal json:policy_types?ric=ricsim_g1_6 4 120
324 api_equal json:policy_types?ric=ricsim_g1_7 3 120
325 api_equal json:policy_types?ric=ricsim_g1_8 2 120
326 api_equal json:policy_types?ric=ricsim_g1_9 1 120
327 api_equal json:policy_types?ric=ricsim_g1_10 0 120
330 api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
331 ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
332 ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
333 ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
334 ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,4,5:???? \
335 ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,4,5:???? \
336 ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
337 ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? \
338 ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
339 ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
343 if [ "$PMS_VERSION" == "V2" ]; then
344 api_equal json:policy_instances 0
346 api_equal json:policy_ids 0
349 sim_equal ricsim_g1_9 num_instances 0
352 sim_delete_policy_type 204 ricsim_g1_4 4
353 sim_delete_policy_type 204 ricsim_g1_5 4
354 sim_delete_policy_type 204 ricsim_g1_6 4
355 sim_delete_policy_type 204 ricsim_g1_7 4
359 if [ "$PMS_VERSION" == "V2" ]; then
360 api_equal json:policy-types?ric_id=ricsim_g1_1 1 120
361 api_equal json:policy-types?ric_id=ricsim_g1_2 2 120
362 api_equal json:policy-types?ric_id=ricsim_g1_3 3 120
363 api_equal json:policy-types?ric_id=ricsim_g1_4 3 120
364 api_equal json:policy-types?ric_id=ricsim_g1_5 4 120
365 api_equal json:policy-types?ric_id=ricsim_g1_6 3 120
366 api_equal json:policy-types?ric_id=ricsim_g1_7 2 120
367 api_equal json:policy-types?ric_id=ricsim_g1_8 2 120
368 api_equal json:policy-types?ric_id=ricsim_g1_9 1 120
369 api_equal json:policy-types?ric_id=ricsim_g1_10 0 120
371 api_equal json:policy_types?ric=ricsim_g1_1 1 120
372 api_equal json:policy_types?ric=ricsim_g1_2 2 120
373 api_equal json:policy_types?ric=ricsim_g1_3 3 120
374 api_equal json:policy_types?ric=ricsim_g1_4 3 120
375 api_equal json:policy_types?ric=ricsim_g1_5 4 120
376 api_equal json:policy_types?ric=ricsim_g1_6 3 120
377 api_equal json:policy_types?ric=ricsim_g1_7 2 120
378 api_equal json:policy_types?ric=ricsim_g1_8 2 120
379 api_equal json:policy_types?ric=ricsim_g1_9 1 120
380 api_equal json:policy_types?ric=ricsim_g1_10 0 120
383 api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
384 ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
385 ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
386 ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3:???? \
387 ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,5:???? \
388 ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,5:???? \
389 ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,5:???? \
390 ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? \
391 ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
392 ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
394 sim_delete_policy_type 204 ricsim_g1_8 4
396 if [ "$PMS_VERSION" == "V2" ]; then
397 api_equal json:policy-types?ric_id=ricsim_g1_8 1 120
399 api_equal json:policy_types?ric=ricsim_g1_8 1 120
402 api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
403 ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
404 ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
405 ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3:???? \
406 ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,5:???? \
407 ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,5:???? \
408 ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,5:???? \
409 ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:5:???? \
410 ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
411 ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
415 check_policy_agent_logs
416 store_logs ${interface}
424 #### TEST COMPLETE ####
429 auto_clean_containers