Merge "Integrated PMS 2.0 to test env and test cases"
[nonrtric.git] / test / auto-test / FTC900.sh
1 #!/usr/bin/env 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="Preparation for test of the Control Panel and the Health Check app - populating a number of ric simulators with types and instances"
21
22 #App names to include in the test, space separated list
23 INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM"
24
25 . ../common/testcase_common.sh $@
26 . ../common/agent_api_functions.sh
27 . ../common/ricsimulator_api_functions.sh
28
29 #### TEST BEGIN ####
30
31 #Local vars in test script
32 ##########################
33 # Path to callback receiver
34 CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
35 use_cr_http
36
37 clean_containers
38
39 OSC_NUM_RICS=6
40 STD_NUM_RICS=5
41
42 start_ric_simulators  $RIC_SIM_PREFIX"_g1" $OSC_NUM_RICS OSC_2.1.0
43
44 start_ric_simulators  $RIC_SIM_PREFIX"_g2" $STD_NUM_RICS STD_1.1.3
45
46 if [ "$PMS_VERSION" == "V2" ]; then
47     start_ric_simulators  $RIC_SIM_PREFIX"_g3" $STD_NUM_RICS STD_2.0.0
48 fi
49
50 start_mr #Just to prevent errors in the agent log...
51
52 start_control_panel
53
54 start_consul_cbs
55
56 prepare_consul_config      NOSDNC  ".consul_config.json"
57 consul_config_app                  ".consul_config.json"
58
59 start_policy_agent
60
61 use_agent_rest_http
62
63 api_get_status 200
64
65 # Print the A1 version for OSC
66 for ((i=1; i<=$OSC_NUM_RICS; i++))
67 do
68     sim_print $RIC_SIM_PREFIX"_g1_"$i interface
69 done
70
71
72 # Print the A1 version for STD
73 for ((i=1; i<=$STD_NUM_RICS; i++))
74 do
75     sim_print $RIC_SIM_PREFIX"_g2_"$i interface
76 done
77
78
79 # Load the polictypes in osc
80 for ((i=1; i<=$OSC_NUM_RICS; i++))
81 do
82     sim_put_policy_type 201 $RIC_SIM_PREFIX"_g1_"$i 2 testdata/OSC/sim_hw.json
83     sim_put_policy_type 201 $RIC_SIM_PREFIX"_g1_"$i 100 testdata/OSC/sim_qos.json
84     sim_put_policy_type 201 $RIC_SIM_PREFIX"_g1_"$i 20008 testdata/OSC/sim_tsa.json
85 done
86
87
88 #Check the number of schemas and the individual schemas in OSC
89 if [ "$PMS_VERSION" == "V2" ]; then
90     api_equal json:policy-types 4 120
91
92     for ((i=1; i<=$OSC_NUM_RICS; i++))
93     do
94         api_equal json:policy-types?ric_id=$RIC_SIM_PREFIX"_g1_"$i 3 120
95     done
96
97     # Check the schemas in OSC
98     for ((i=1; i<=$OSC_NUM_RICS; i++))
99     do
100         api_get_policy_type 200 2 testdata/OSC/hw-agent-modified.json
101         api_get_policy_type 200 100 testdata/OSC/qos-agent-modified.json
102         api_get_policy_type 200 20008 testdata/OSC/tsa-agent-modified.json
103     done
104 else
105     api_equal json:policy_types 4 120
106
107     for ((i=1; i<=$OSC_NUM_RICS; i++))
108     do
109         api_equal json:policy_types?ric=$RIC_SIM_PREFIX"_g1_"$i 3 120
110     done
111
112     # Check the schemas in OSC
113     for ((i=1; i<=$OSC_NUM_RICS; i++))
114     do
115         api_get_policy_schema 200 2 testdata/OSC/hw-agent-modified.json
116         api_get_policy_schema 200 100 testdata/OSC/qos-agent-modified.json
117         api_get_policy_schema 200 20008 testdata/OSC/tsa-agent-modified.json
118     done
119 fi
120
121 # Create policies
122 use_agent_rest_http
123
124 api_put_service 201 "Emergency-response-app" 0 "$CR_PATH/1"
125
126 if [ "$PMS_VERSION" == "V2" ]; then
127     notificationurl="http://localhost:80"
128 else
129     notificationurl=""
130 fi
131
132 # Create policies in OSC
133 for ((i=1; i<=$OSC_NUM_RICS; i++))
134 do
135     generate_uuid
136     api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g1_"$i 2 $((2000+$i)) NOTRANSIENT $notificationurl testdata/OSC/pihw_template.json 1
137     generate_uuid
138     api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g1_"$i 100 $((3000+$i)) NOTRANSIENT $notificationurl testdata/OSC/piqos_template.json 1
139     generate_uuid
140     api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g1_"$i 20008 $((4000+$i)) NOTRANSIENT $notificationurl testdata/OSC/pitsa_template.json 1
141 done
142
143
144 # Check the number of policies in OSC
145 for ((i=1; i<=$OSC_NUM_RICS; i++))
146 do
147     sim_equal $RIC_SIM_PREFIX"_g1_"$i num_instances 3
148 done
149
150
151 # Create policies in STD
152 for ((i=1; i<=$STD_NUM_RICS; i++))
153 do
154     generate_uuid
155     api_put_policy 201 "Emergency-response-app" $RIC_SIM_PREFIX"_g2_"$i NOTYPE $((2100+$i)) NOTRANSIENT $notificationurl testdata/STD/pi1_template.json 1
156 done
157
158
159 # Check the number of policies in STD
160 for ((i=1; i<=$STD_NUM_RICS; i++))
161 do
162     sim_equal $RIC_SIM_PREFIX"_g2_"$i num_instances 1
163 done
164
165 check_policy_agent_logs
166
167 #### TEST COMPLETE ####
168
169 store_logs          END
170
171 print_result