Removal of older test profiles
[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 when running docker, space separated list
23 DOCKER_INCLUDED_IMAGES="CP CR MR A1PMS RICSIM SDNC KUBEPROXY"
24
25 #App names to include in the test when running kubernetes, space separated list
26 KUBE_INCLUDED_IMAGES="CP CR MR A1PMS RICSIM SDNC KUBEPROXY"
27 #Prestarted app (not started by script) to include in the test when running kubernetes, space separated list
28 KUBE_PRESTARTED_IMAGES=""
29
30 #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
33 CONDITIONALLY_IGNORED_IMAGES=""
34
35 #Supported test environment profiles
36 SUPPORTED_PROFILES="ONAP-JAKARTA ONAP-KOHN ONAP-LONDON  ORAN-F-RELEASE ORAN-G-RELEASE ORAN-H-RELEASE"
37 #Supported run modes
38 SUPPORTED_RUNMODES="DOCKER KUBE"
39
40 . ../common/testcase_common.sh $@
41
42 setup_testenvironment
43
44 #### TEST BEGIN ####
45
46 generate_policy_uuid
47
48 use_cr_http
49
50 NUM_RICS=10
51 NUM_RICS_2=$(($NUM_RICS-2))
52
53 # Tested variants of REST/SDNC config
54 TESTED_VARIANTS="REST   REST+SDNC"
55
56 for interface in $TESTED_VARIANTS ; do
57
58     echo "#####################################################################"
59     echo "#####################################################################"
60     echo "### Testing a1pms: "$interface
61     echo "#####################################################################"
62     echo "#####################################################################"
63
64
65     # Clean container and start all needed containers #
66     clean_environment
67
68     start_kube_proxy
69
70     #Start simulators and prepare two configs
71
72     start_ric_simulators ricsim_g1 $NUM_RICS_2 OSC_2.1.0
73
74     start_cr 1
75
76     start_mr
77
78
79
80     # Create first config
81     if [[ $interface = *"SDNC"* ]]; then
82         start_sdnc
83         prepare_a1pms_config      SDNC  ".a1pms_config_initial.json"
84     else
85         prepare_a1pms_config      NOSDNC  ".a1pms_config_initial.json"
86     fi
87
88     # Create 2nd config and save for later
89     start_ric_simulators ricsim_g1 $NUM_RICS OSC_2.1.0
90
91     if [[ $interface = *"SDNC"* ]]; then
92         prepare_a1pms_config      SDNC  ".a1pms_config_all.json"
93     else
94         prepare_a1pms_config      NOSDNC  ".a1pms_config_all.json"
95     fi
96
97     if [ $RUNMODE == "KUBE" ]; then
98         start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/application2.yaml
99     else
100         start_a1pms NORPOXY $SIM_GROUP/$A1PMS_COMPOSE_DIR/$A1PMS_CONFIG_FILE
101     fi
102
103     set_a1pms_trace
104
105     sleep_wait 120 "Let A1PMS cofiguration take effect"
106
107     a1pms_api_get_status 200
108
109     # Create service to be able to receive events when rics becomes available
110     # Must use rest towards the a1pms since dmaap is not configured yet
111     a1pms_api_put_service 201 "ric-registration" 0 "$CR_SERVICE_APP_PATH_0/ric-registration"
112
113     #Load first config
114     a1pms_api_put_configuration 200              ".a1pms_config_initial.json"
115     a1pms_api_get_configuration 200              ".a1pms_config_initial.json"
116
117     for ((i=1; i<=${NUM_RICS}; i++))
118     do
119         sim_print ricsim_g1_$i interface
120     done
121
122     # All sims running but 2 are not configured in consul
123     a1pms_equal json:rics 8 300
124
125     cr_equal 0 received_callbacks?id=ric-registration 8 120
126     cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_1 ricsim_g1_2  ricsim_g1_3 ricsim_g1_4 ricsim_g1_5 ricsim_g1_6  ricsim_g1_7  ricsim_g1_8
127
128     a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:NOTYPE:???? \
129                              ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:NOTYPE:???? \
130                              ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:NOTYPE:???? \
131                              ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:NOTYPE:???? \
132                              ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:NOTYPE:???? \
133                              ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:NOTYPE:???? \
134                              ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:NOTYPE:???? \
135                              ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:NOTYPE:???? "
136
137
138     sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
139     sim_put_policy_type 201 ricsim_g1_2 1 testdata/OSC/sim_1.json
140     sim_put_policy_type 201 ricsim_g1_3 1 testdata/OSC/sim_1.json
141     sim_put_policy_type 201 ricsim_g1_4 1 testdata/OSC/sim_1.json
142     sim_put_policy_type 201 ricsim_g1_5 1 testdata/OSC/sim_1.json
143
144     sim_put_policy_type 201 ricsim_g1_2 2 testdata/OSC/sim_2.json
145     sim_put_policy_type 201 ricsim_g1_3 2 testdata/OSC/sim_2.json
146     sim_put_policy_type 201 ricsim_g1_4 2 testdata/OSC/sim_2.json
147     sim_put_policy_type 201 ricsim_g1_5 2 testdata/OSC/sim_2.json
148     sim_put_policy_type 201 ricsim_g1_6 2 testdata/OSC/sim_2.json
149
150     sim_put_policy_type 201 ricsim_g1_3 3 testdata/OSC/sim_3.json
151     sim_put_policy_type 201 ricsim_g1_4 3 testdata/OSC/sim_3.json
152     sim_put_policy_type 201 ricsim_g1_5 3 testdata/OSC/sim_3.json
153     sim_put_policy_type 201 ricsim_g1_6 3 testdata/OSC/sim_3.json
154     sim_put_policy_type 201 ricsim_g1_7 3 testdata/OSC/sim_3.json
155
156     sim_put_policy_type 201 ricsim_g1_4 4 testdata/OSC/sim_4.json
157     sim_put_policy_type 201 ricsim_g1_5 4 testdata/OSC/sim_4.json
158     sim_put_policy_type 201 ricsim_g1_6 4 testdata/OSC/sim_4.json
159     sim_put_policy_type 201 ricsim_g1_7 4 testdata/OSC/sim_4.json
160     sim_put_policy_type 201 ricsim_g1_8 4 testdata/OSC/sim_4.json
161
162     sim_put_policy_type 201 ricsim_g1_5 5 testdata/OSC/sim_5.json
163     sim_put_policy_type 201 ricsim_g1_6 5 testdata/OSC/sim_5.json
164     sim_put_policy_type 201 ricsim_g1_7 5 testdata/OSC/sim_5.json
165     sim_put_policy_type 201 ricsim_g1_8 5 testdata/OSC/sim_5.json
166
167     a1pms_equal json:policy-types 5 120
168
169     echo "Check the number of types in the a1pms for each ric"
170     a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
171     a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
172     a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
173     a1pms_equal json:policy-types?ric_id=ricsim_g1_4 4 120
174     a1pms_equal json:policy-types?ric_id=ricsim_g1_5 5 120
175     a1pms_equal json:policy-types?ric_id=ricsim_g1_6 4 120
176     a1pms_equal json:policy-types?ric_id=ricsim_g1_7 3 120
177     a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
178
179     a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
180                              ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
181                              ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
182                              ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
183                              ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,4,5:???? \
184                              ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,4,5:???? \
185                              ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
186                              ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? "
187
188     cr_equal 0 received_callbacks?id=ric-registration 16 120
189     cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_1 ricsim_g1_2  ricsim_g1_3 ricsim_g1_4 ricsim_g1_5 ricsim_g1_6  ricsim_g1_7  ricsim_g1_8
190
191     #Load config with all rics
192     a1pms_api_put_configuration 200               ".a1pms_config_all.json"
193     a1pms_api_get_configuration 200               ".a1pms_config_all.json"
194
195     a1pms_equal json:rics 10 120
196
197     cr_equal 0 received_callbacks?id=ric-registration 18 120
198     cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_9  ricsim_g1_10
199
200     sim_put_policy_type 201 ricsim_g1_9 5 testdata/OSC/sim_5.json
201
202     a1pms_equal json:policy-types 5 120
203
204     echo "Check the number of types in the a1pms for each ric"
205     a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
206     a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
207     a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
208     a1pms_equal json:policy-types?ric_id=ricsim_g1_4 4 120
209     a1pms_equal json:policy-types?ric_id=ricsim_g1_5 5 120
210     a1pms_equal json:policy-types?ric_id=ricsim_g1_6 4 120
211     a1pms_equal json:policy-types?ric_id=ricsim_g1_7 3 120
212     a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
213     a1pms_equal json:policy-types?ric_id=ricsim_g1_9 1 120
214     a1pms_equal json:policy-types?ric_id=ricsim_g1_10 0 120
215
216     a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
217                              ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
218                              ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
219                              ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
220                              ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,4,5:???? \
221                              ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,4,5:???? \
222                              ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
223                              ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? \
224                              ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
225                              ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
226
227     cr_equal 0 received_callbacks?id=ric-registration 19 120
228     cr_api_check_all_sync_events 200 0 ric-registration ricsim_g1_9
229
230     #No policy type in sim #10
231
232     a1pms_equal json:policy-types 5
233
234     a1pms_api_put_service 201 "serv1" 3600 "$CR_SERVICE_APP_PATH_0/serv1"
235
236     notificationurl=$CR_SERVICE_APP_PATH_0"/test"
237
238     sleep_wait 120
239
240     # Load config with reduced number of rics
241     a1pms_api_put_configuration 200              ".a1pms_config_initial.json"
242     a1pms_api_get_configuration 200              ".a1pms_config_initial.json"
243
244     a1pms_equal json:rics 8 120
245
246     cr_equal 0 received_callbacks?id=ric-registration 19 120
247     cr_api_check_all_sync_events 200 0 ric-registration EMPTY
248
249     a1pms_equal json:policy-types 5 120
250
251     echo "Check the number of types in the a1pms for each ric"
252     a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
253     a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
254     a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
255     a1pms_equal json:policy-types?ric_id=ricsim_g1_4 4 120
256     a1pms_equal json:policy-types?ric_id=ricsim_g1_5 5 120
257     a1pms_equal json:policy-types?ric_id=ricsim_g1_6 4 120
258     a1pms_equal json:policy-types?ric_id=ricsim_g1_7 3 120
259     a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
260
261     a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
262                              ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
263                              ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
264                              ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
265                              ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,4,5:???? \
266                              ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,4,5:???? \
267                              ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
268                              ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? "
269
270     sleep_wait 120
271
272     a1pms_equal json:policy-instances 0
273
274     a1pms_api_get_policy_types 404 ricsim_g1_9
275
276     # Load config with all rics
277     a1pms_api_put_configuration 200              ".a1pms_config_all.json"
278     a1pms_api_get_configuration 200              ".a1pms_config_all.json"
279
280     a1pms_equal json:rics 10 120
281
282     a1pms_equal json:policy-types 5 120
283
284     echo "Check the number of types in the a1pms for each ric"
285     a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
286     a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
287     a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
288     a1pms_equal json:policy-types?ric_id=ricsim_g1_4 4 120
289     a1pms_equal json:policy-types?ric_id=ricsim_g1_5 5 120
290     a1pms_equal json:policy-types?ric_id=ricsim_g1_6 4 120
291     a1pms_equal json:policy-types?ric_id=ricsim_g1_7 3 120
292     a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
293     a1pms_equal json:policy-types?ric_id=ricsim_g1_9 1 120
294     a1pms_equal json:policy-types?ric_id=ricsim_g1_10 0 120
295
296     a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
297                              ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
298                              ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
299                              ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3,4:???? \
300                              ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,4,5:???? \
301                              ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,4,5:???? \
302                              ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,4,5:???? \
303                              ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? \
304                              ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
305                              ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
306
307     sleep_wait 120
308
309     a1pms_equal json:policy-instances 0
310
311     sim_equal ricsim_g1_9 num_instances 0
312
313
314     sim_delete_policy_type 204 ricsim_g1_4 4
315     sim_delete_policy_type 204 ricsim_g1_5 4
316     sim_delete_policy_type 204 ricsim_g1_6 4
317     sim_delete_policy_type 204 ricsim_g1_7 4
318
319     sleep_wait 120
320
321     a1pms_equal json:policy-types 5 120
322
323     a1pms_equal json:policy-types?ric_id=ricsim_g1_1 1 120
324     a1pms_equal json:policy-types?ric_id=ricsim_g1_2 2 120
325     a1pms_equal json:policy-types?ric_id=ricsim_g1_3 3 120
326     a1pms_equal json:policy-types?ric_id=ricsim_g1_4 3 120
327     a1pms_equal json:policy-types?ric_id=ricsim_g1_5 4 120
328     a1pms_equal json:policy-types?ric_id=ricsim_g1_6 3 120
329     a1pms_equal json:policy-types?ric_id=ricsim_g1_7 2 120
330     a1pms_equal json:policy-types?ric_id=ricsim_g1_8 2 120
331     a1pms_equal json:policy-types?ric_id=ricsim_g1_9 1 120
332     a1pms_equal json:policy-types?ric_id=ricsim_g1_10 0 120
333
334     a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
335                              ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
336                              ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
337                              ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3:???? \
338                              ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,5:???? \
339                              ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,5:???? \
340                              ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,5:???? \
341                              ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:4,5:???? \
342                              ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
343                              ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
344
345     sim_delete_policy_type 204 ricsim_g1_8 4
346
347     a1pms_equal json:policy-types 5 120
348     a1pms_equal json:policy-types?ric_id=ricsim_g1_8 1 120
349
350     a1pms_api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:???? \
351                             ricsim_g1_2:me1_ricsim_g1_2,me2_ricsim_g1_2:1,2:???? \
352                             ricsim_g1_3:me1_ricsim_g1_3,me2_ricsim_g1_3:1,2,3:???? \
353                             ricsim_g1_4:me1_ricsim_g1_4,me2_ricsim_g1_4:1,2,3:???? \
354                             ricsim_g1_5:me1_ricsim_g1_5,me2_ricsim_g1_5:1,2,3,5:???? \
355                             ricsim_g1_6:me1_ricsim_g1_6,me2_ricsim_g1_6:2,3,5:???? \
356                             ricsim_g1_7:me1_ricsim_g1_7,me2_ricsim_g1_7:3,5:???? \
357                             ricsim_g1_8:me1_ricsim_g1_8,me2_ricsim_g1_8:5:???? \
358                             ricsim_g1_9:me1_ricsim_g1_9,me2_ricsim_g1_9:5:???? \
359                             ricsim_g1_10:me1_ricsim_g1_10,me2_ricsim_g1_10:NOTYPE:???? "
360
361
362
363     check_a1pms_logs
364     if [[ $interface = *"SDNC"* ]]; then
365         check_sdnc_logs
366     fi
367
368     store_logs          ${interface}
369
370 done
371
372
373 #### TEST COMPLETE ####
374
375
376 print_result
377
378 auto_clean_environment