[RICPLT-2527] Add Automation and UTs
[ric-plt/e2mgr.git] / Automation / Tests / Resource / Keywords.robot
1 ##############################################################################
2 #
3 #   Copyright (c) 2019 AT&T Intellectual Property.
4 #
5 #   Licensed under the Apache License, Version 2.0 (the "License");
6 #   you may not use this file except in compliance with the License.
7 #   You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 #   Unless required by applicable law or agreed to in writing, software
12 #   distributed under the License is distributed on an "AS IS" BASIS,
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #   See the License for the specific language governing permissions and
15 #   limitations under the License.
16 #
17 ##############################################################################
18 #
19 #   This source code is part of the near-RT RIC (RAN Intelligent Controller)
20 #   platform project (RICP).
21 #
22
23 *** Settings ***
24 Documentation   Keywords file
25 Library     ../Scripts/cleanup_db.py
26 Resource   ../Resource/resource.robot
27 Library     OperatingSystem
28
29
30
31
32
33 *** Keywords ***
34 Post Request setup node b x-2
35     Set Headers     ${header}
36     POST        /v1/nodeb/x2-setup    ${json}
37
38
39 Put Request Resource Status Start
40     Set Headers     ${header}
41     PUT        /v1/general/resourcestatus  ${resource_status_start_json}
42
43
44 Put Request Resource Status Stop
45     Set Headers     ${header}
46     PUT        /v1/general/resourcestatus  ${resource_status_stop_json}
47
48 Get Request node b enb test1
49     Sleep    1s
50     GET      /v1/nodeb/test1
51
52
53 Get Request node b enb test2
54     Sleep    1s
55     GET      /v1/nodeb/test2
56
57
58 Remove log files
59     Remove File  ${EXECDIR}/${gnb_log_filename}
60     Remove File  ${EXECDIR}/${e2mgr_log_filename}
61     Remove File  ${EXECDIR}/${e2t_log_filename}
62     Remove File  ${EXECDIR}/${rsm_log_filename}
63     Remove File  ${EXECDIR}/${e2e_simu_log_filename}
64     Remove File  ${EXECDIR}/${rm_sim_log_filename}
65     Remove File  ${EXECDIR}/${e2adapter_log_filename}
66
67 Save logs
68     Sleep   1s
69     Run     ${Save_sim_log}
70     Run     ${Save_e2mgr_log}
71     Run     ${Save_e2t_log}
72     Run     ${Save_rsm_log}
73     Run     ${Save_e2e_simu_log}
74     Run     ${Save_rm_sim_log}
75     Run     ${Save_e2adapter_log}
76
77
78 Post Request setup node b endc-setup
79     Set Headers     ${header}
80     POST        /v1/nodeb/endc-setup    ${endcjson}
81
82 Stop Simulator
83     Run And Return Rc And Output    ${stop_simu}
84
85
86 Prepare Simulator For Load Information
87      Run And Return Rc And Output    ${stop_simu}
88      Run And Return Rc And Output    ${docker_Remove}
89      ${flush}  cleanup_db.flush
90      Should Be Equal As Strings  ${flush}  True
91      Run And Return Rc And Output    ${run_simu_load}
92      ${result}=  Run And Return Rc And Output     ${docker_command}
93      Should Be Equal As Integers    ${result[1]}    ${docker_number}
94
95 Prepare Enviorment
96      ${starting_timestamp}    Evaluate   datetime.datetime.now(datetime.timezone.utc).isoformat("T")   modules=datetime 
97      ${e2t_log_filename}      Evaluate      "e2t.${SUITE NAME}.log".replace(" ","-")
98      ${e2mgr_log_filename}    Evaluate      "e2mgr.${SUITE NAME}.log".replace(" ","-")
99      ${gnb_log_filename}      Evaluate      "gnb.${SUITE NAME}.log".replace(" ","-")
100      ${rsm_log_filename}      Evaluate      "rsm.${SUITE NAME}.log".replace(" ","-")
101      ${e2e_simu_log_filename}      Evaluate      "e2e_simu.${SUITE NAME}.log".replace(" ","-")
102      ${rm_sim_log_filename}   Evaluate      "rm_sim.${SUITE NAME}.log".replace(" ","-")
103      ${e2adapter_log_filename}    Evaluate  "e2adapter.${SUITE NAME}.log".replace(" ","-")
104      ${Save_sim_log}          Evaluate   'docker logs --since ${starting_timestamp} gnbe2_simu > ${gnb_log_filename}'
105      ${Save_e2mgr_log}        Evaluate   'docker logs --since ${starting_timestamp} e2mgr > ${e2mgr_log_filename}'
106      ${Save_e2t_log}          Evaluate   'docker logs --since ${starting_timestamp} e2 > ${e2t_log_filename}'
107      ${Save_rsm_log}          Evaluate   'docker logs --since ${starting_timestamp} rsm > ${rsm_log_filename}'
108      ${Save_e2e_simu_log}     Evaluate   'docker logs --since ${starting_timestamp} e2e_simu > ${e2e_simu_log_filename}'
109      ${Save_rm_sim_log}       Evaluate   'docker logs --since ${starting_timestamp} rm_sim > ${rm_sim_log_filename}'
110      ${Save_e2adapter_log}    Evaluate   'docker logs --since ${starting_timestamp} e2adapter > ${e2adapter_log_filename}'
111      Set Suite Variable  ${e2t_log_filename}  
112      Set Suite Variable  ${e2mgr_log_filename}  
113      Set Suite Variable  ${gnb_log_filename}   
114      Set Suite Variable  ${rsm_log_filename}  
115      Set Suite Variable  ${e2e_simu_log_filename}
116      Set Suite Variable  ${rm_sim_log_filename}
117      Set Suite Variable  ${e2adapter_log_filename} 
118      Set Suite Variable  ${Save_sim_log}
119      Set Suite Variable  ${Save_e2mgr_log}
120      Set Suite Variable  ${Save_e2t_log}
121      Set Suite Variable  ${Save_rsm_log}
122      Set Suite Variable  ${Save_e2e_simu_log}
123      Set Suite Variable  ${Save_rm_sim_log}
124      Set Suite Variable  ${Save_e2adapter_log}
125         
126      ${flush}  cleanup_db.flush
127      Should Be Equal As Strings  ${flush}  True
128      Run And Return Rc And Output    ${stop_simu}
129      Run And Return Rc And Output    ${stop_e2e_simu}
130      Run And Return Rc And Output    ${docker_Remove}
131      Run And Return Rc And Output    ${docker_remove_e2e_simu}
132      Run And Return Rc And Output    ${run_simu_regular}
133      Run And Return Rc And Output    ${run_e2e_simu_regular}
134      Run And Return Rc And Output    ${restart_e2adapter}
135      Sleep  3s
136      ${result}=  Run And Return Rc And Output     ${docker_command}
137      Should Be Equal As Integers    ${result[1]}    ${docker_number}
138
139 Start E2
140      Run And Return Rc And Output    ${start_e2}
141      ${result}=  Run And Return Rc And Output     ${docker_command}
142      Should Be Equal As Integers    ${result[1]}    ${docker_number}
143      Sleep  2s
144
145 Stop E2
146      Run And Return Rc And Output    ${stop_e2}
147      ${result}=  Run And Return Rc And Output     ${docker_command}
148      Should Be Equal As Integers    ${result[1]}    ${docker_number-1}
149      Sleep  2s
150
151 Start Dbass
152      Run And Return Rc And Output    ${dbass_remove}
153      Run And Return Rc And Output    ${dbass_start}
154      ${result}=  Run And Return Rc And Output     ${docker_command}
155      Should Be Equal As Integers    ${result[1]}    ${docker_number}
156
157 Stop Dbass
158      Run And Return Rc And Output    ${dbass_stop}
159      ${result}=  Run And Return Rc And Output     ${docker_command}
160      Should Be Equal As Integers    ${result[1]}    ${docker_number-1}
161
162 Restart simulator
163
164     Run And Return Rc And Output    ${restart_docker_sim}
165     ${result}=  Run And Return Rc And Output     ${docker_command}
166     Should Be Equal As Integers    ${result[1]}    ${docker_number}
167
168 Start RoutingManager Simulator
169     Run And Return Rc And Output    ${start_routingmanager_sim}
170
171 Stop RoutingManager Simulator
172     Run And Return Rc And Output    ${stop_routingmanager_sim}
173
174
175