Updated some function test cases with https
[nonrtric.git] / test / auto-test / FTC800.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="Create 10000 policies in sequence using http/https and Agent REST/DMAAP with/without SDNC controller"
21
22 #App names to exclude checking pulling images for, space separated list
23 EXCLUDED_IMAGES="SDNC_ONAP"
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 # Number of policies in each sequence
36 NUM_POLICIES=10000
37
38 # Tested variants of REST/DMAAP/SDNC config
39 TESTED_VARIANTS="NOSDNC   SDNC"
40
41 #Test agent and simulator protocol versions (others are http only)
42 TESTED_PROTOCOLS="HTTP HTTPS"
43 for __httpx in $TESTED_PROTOCOLS ; do
44     for interface in $TESTED_VARIANTS ; do
45
46         echo "#####################################################################"
47         echo "#####################################################################"
48         echo "### Testing agent via $interface using $__httpx"
49         echo "#####################################################################"
50         echo "#####################################################################"
51
52         #Local vars in test script
53         ##########################
54
55         if [ $__httpx == "HTTPS" ]; then
56             # Path to callback receiver
57             CR_PATH="https://$CR_APP_NAME:$CR_EXTERNAL_SECURE_PORT/callbacks"
58             use_cr_https
59         else
60             # Path to callback receiver
61             CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks"
62             use_cr_http
63         fi
64
65         # Policy instance start id
66         START_ID=1
67
68         clean_containers
69
70         if [ $__httpx == "HTTPS" ]; then
71             #"Using secure ports towards simulators"
72             use_simulator_https
73         else
74             #"Using non-secure ports towards simulators"
75             use_simulator_http
76         fi
77
78         start_ric_simulators ricsim_g1 1 OSC_2.1.0
79         start_ric_simulators ricsim_g2 1 STD_1.1.3
80
81         start_mr
82
83         if [ $__httpx == "HTTPS" ]; then
84             #echo "Using secure ports between agent and MR"
85             use_mr_https
86         else
87             #"Using non-secure ports between agent and MR"
88             use_mr_http
89         fi
90
91         start_cr
92
93         if [ $interface == "SDNC" ]; then
94
95             start_sdnc
96
97             if [ $__httpx == "HTTPS" ]; then
98                 # "Using secure ports towards SDNC"
99                 use_sdnc_https
100             else
101                 #"Using non-secure ports towards SDNC"
102                 use_sdnc_http
103             fi
104         fi
105
106         start_consul_cbs
107
108         if [ $interface == "SDNC" ]; then
109             prepare_consul_config      SDNC    ".consul_config.json"
110         else
111             prepare_consul_config      NOSDNC  ".consul_config.json"
112         fi
113
114         consul_config_app                      ".consul_config.json"
115
116         start_control_panel
117
118         start_policy_agent
119
120         set_agent_debug
121
122         if [ $__httpx == "HTTPS" ]; then
123             # "Using secure ports towards the agent"
124             use_agent_rest_https
125         else
126             # "Using non-secure ports towards the agent"
127             use_agent_rest_http
128         fi
129
130
131         cr_equal received_callbacks 0
132         mr_equal requests_submitted 0
133
134
135         api_get_status 200
136
137         sim_print ricsim_g1_1 interface
138         sim_print ricsim_g2_1 interface
139
140         sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json
141
142
143         api_equal json:policy_types 2 120  #Wait for the agent to refresh types from the simulators
144
145         api_put_service 201 "serv1" 3600 "$CR_PATH/1"
146
147         start_timer "Create polices in OSC via agent REST and $interface using "$__httpx
148         api_put_policy 201 "serv1" ricsim_g1_1 1 $START_ID NOTRANSIENT testdata/OSC/pi1_template.json $NUM_POLICIES
149         print_timer "Create polices in OSC via agent REST and $interface using "$__httpx
150
151         sim_equal ricsim_g1_1 num_instances $NUM_POLICIES
152
153         START_ID=$(($START_ID+$NUM_POLICIES))
154
155         start_timer "Create polices in STD via agent REST and $interface using "$__httpx
156         api_put_policy 201 "serv1" ricsim_g2_1 NOTYPE $START_ID NOTRANSIENT testdata/STD/pi1_template.json $NUM_POLICIES
157         print_timer "Create polices in STD via agent REST and $interface using "$__httpx
158
159         sim_equal ricsim_g2_1 num_instances $NUM_POLICIES
160
161         if [ $__httpx == "HTTPS" ]; then
162             echo "Using secure ports towards dmaap"
163             use_agent_dmaap_https
164         else
165             echo "Using non-secure ports towards dmaap"
166             use_agent_dmaap_http
167         fi
168
169         START_ID=$(($START_ID+$NUM_POLICIES))
170
171         start_timer "Create polices in OSC via agent DMAAP, one by one, and $interface using "$__httpx
172         api_put_policy 201 "serv1" ricsim_g1_1 1 $START_ID NOTRANSIENT testdata/OSC/pi1_template.json $NUM_POLICIES
173         print_timer "Create polices in OSC via agent DMAAP, one by one, and $interface using "$__httpx
174
175         sim_equal ricsim_g1_1 num_instances $((2*$NUM_POLICIES))
176
177         START_ID=$(($START_ID+$NUM_POLICIES))
178
179         start_timer "Create polices in STD via agent DMAAP, one by one, and $interface using "$__httpx
180         api_put_policy 201 "serv1" ricsim_g2_1 NOTYPE $START_ID NOTRANSIENT testdata/STD/pi1_template.json $NUM_POLICIES
181         print_timer "Create polices in STD via agent DMAAP, one by one, and $interface using "$__httpx
182
183         sim_equal ricsim_g2_1 num_instances $((2*$NUM_POLICIES))
184
185         START_ID=$(($START_ID+$NUM_POLICIES))
186
187         start_timer "Create polices in OSC via agent DMAAP in batch and $interface using "$__httpx
188         api_put_policy_batch 201 "serv1" ricsim_g1_1 1 $START_ID NOTRANSIENT testdata/OSC/pi1_template.json $NUM_POLICIES
189         print_timer "Create polices in OSC via agent DMAAP in batch and $interface using "$__httpx
190
191         sim_equal ricsim_g1_1 num_instances $((3*$NUM_POLICIES))
192
193         START_ID=$(($START_ID+$NUM_POLICIES))
194
195         start_timer "Create polices in STD via agent DMAAP in batch and $interface using "$__httpx
196         api_put_policy_batch 201 "serv1" ricsim_g2_1 NOTYPE $START_ID NOTRANSIENT testdata/STD/pi1_template.json $NUM_POLICIES
197         print_timer "Create polices in STD via agent DMAAP in batch and $interface using "$__httpx
198
199         sim_equal ricsim_g2_1 num_instances $((3*$NUM_POLICIES))
200
201         if [ $interface == "SDNC" ]; then
202             sim_contains_str ricsim_g1_1 remote_hosts "a1-controller"
203             sim_contains_str ricsim_g2_1 remote_hosts "a1-controller"
204         else
205             sim_contains_str ricsim_g1_1 remote_hosts "policy-agent"
206             sim_contains_str ricsim_g2_1 remote_hosts "policy-agent"
207         fi
208
209         check_policy_agent_logs
210
211         store_logs          "${__httpx}__${interface}"
212     done
213 done
214
215 #### TEST COMPLETE ####
216
217 print_result
218
219 auto_clean_containers