Integrated PMS 2.0 to test env and test cases
[nonrtric.git] / test / auto-test / FTC350.sh
1 #!/bin/bash
2
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
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
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=================================================
18 #
19
20 TC_ONELINE_DESCR="Change supported policy types and reconfigure rics"
21
22 #App names to include in the test, space separated list
23 INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM SDNC"
24
25 . ../common/testcase_common.sh  $@
26 . ../common/agent_api_functions.sh
27 . ../common/ricsimulator_api_functions.sh
28
29 #### TEST BEGIN ####
30
31 generate_uuid
32
33 #Local vars in test script
34 ##########################
35 # Path to callback receiver
36 CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
37 use_cr_http
38
39 NUM_RICS=10
40 NUM_RICS_2=$(($NUM_RICS-2))
41
42 # Tested variants of REST/SDNC config
43 TESTED_VARIANTS="REST   REST+SDNC"
44
45 for interface in $TESTED_VARIANTS ; do
46
47     echo "#####################################################################"
48     echo "#####################################################################"
49     echo "### Testing agent: "$interface
50     echo "#####################################################################"
51     echo "#####################################################################"
52
53
54     # Clean container and start all needed containers #
55     clean_containers
56
57     #Start simulators and prepare two configs
58
59     start_ric_simulators ricsim_g1 $NUM_RICS_2 OSC_2.1.0
60
61     start_cr
62
63     start_mr
64
65     start_consul_cbs
66
67     if [[ $interface = *"SDNC"* ]]; then
68         start_sdnc
69         prepare_consul_config      SDNC  ".consul_config_2.json"
70     else
71         prepare_consul_config      NOSDNC  ".consul_config_2.json"
72     fi
73
74     consul_config_app                  ".consul_config_2.json"
75
76
77     # Create 2nd config and save for later
78     start_ric_simulators ricsim_g1 $NUM_RICS OSC_2.1.0
79
80     if [[ $interface = *"SDNC"* ]]; then
81         prepare_consul_config      SDNC  ".consul_config_all.json"
82     else
83         prepare_consul_config      NOSDNC  ".consul_config_all.json"
84     fi
85
86     start_policy_agent
87
88     set_agent_debug
89     set_agent_trace
90
91     api_get_status 200
92
93     for ((i=1; i<=${NUM_RICS}; i++))
94     do
95         sim_print ricsim_g1_$i interface
96     done
97
98     # All sims running but 2 are not configured in consul
99     api_equal json:rics 8 120
100
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:???? "
109
110
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
116
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
122
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
128
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
134
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
140
141     if [ "$PMS_VERSION" == "V2" ]; then
142         api_equal json:policy-types 5 120
143
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
153     else
154         api_equal json:policy_types 5 120
155
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
165     fi
166
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:???? "
175
176
177     #Load config with all rics
178     consul_config_app                  ".consul_config_all.json"
179
180     api_equal json:rics 10 120
181
182     if [ "$PMS_VERSION" == "V2" ]; then
183
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
195     else
196
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
208     fi
209
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:???? "
220
221
222     #No policy type in sim #10
223
224     if [ "$PMS_VERSION" == "V2" ]; then
225         api_equal json:policy-types 5
226     else
227         api_equal json:policy_types 5
228     fi
229
230     api_put_service 201 "serv1" 3600 "$CR_PATH/serv1"
231
232     if [ "$PMS_VERSION" == "V2" ]; then
233         notificationurl="http://localhost:80"
234     else
235         notificationurl=""
236     fi
237
238     api_put_policy 201 "serv1" ricsim_g1_9 5 2000 NOTRANSIENT $notificationurl testdata/OSC/pi5_template.json 1
239
240     if [ "$PMS_VERSION" == "V2" ]; then
241          api_equal json:policy_instances 1
242     else
243         api_equal json:policy_ids 1
244     fi
245
246     sim_equal ricsim_g1_9 num_instances 1
247
248
249     # Load config with reduced number of rics
250     consul_config_app                  ".consul_config_2.json"
251
252     api_equal json:rics 8 120
253
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
264     else
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
274     fi
275
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:???? "
284
285     sleep_wait 120
286
287     if [ "$PMS_VERSION" == "V2" ]; then
288         api_equal json:policy_instances 0
289     else
290         api_equal json:policy_ids 0
291     fi
292
293     api_get_policy_types 404 ricsim_g1_9
294
295     sim_equal ricsim_g1_9 num_instances 0
296
297     api_delete_policy 404 2000
298
299     # Load config with all rics
300     consul_config_app                  ".consul_config_all.json"
301
302     api_equal json:rics 10 120
303
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
316     else
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
328     fi
329
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:???? "
340
341     sleep_wait 120
342
343     if [ "$PMS_VERSION" == "V2" ]; then
344         api_equal json:policy_instances 0
345     else
346         api_equal json:policy_ids 0
347     fi
348
349     sim_equal ricsim_g1_9 num_instances 0
350
351
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
356
357     sleep_wait 120
358
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
370     else
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
381     fi
382
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:???? "
393
394     sim_delete_policy_type 204 ricsim_g1_8 4
395
396     if [ "$PMS_VERSION" == "V2" ]; then
397         api_equal json:policy-types?ric_id=ricsim_g1_8 1 120
398     else
399         api_equal json:policy_types?ric=ricsim_g1_8 1 120
400     fi
401
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:???? "
412
413
414
415     check_policy_agent_logs
416     store_logs          ${interface}
417
418 done
419
420
421
422
423
424 #### TEST COMPLETE ####
425
426
427 print_result
428
429 auto_clean_containers