eea1ce6ed4acab617a37f8f7a8c9fd14997cc8b8
[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 *** Keywords ***
30 Post Request setup node b x-2
31     Set Headers     ${header}
32     POST        /v1/nodeb/x2-setup    ${json}
33
34 Put Request Resource Status Start
35     Set Headers     ${header}
36     PUT        /v1/general/resourcestatus  ${resource_status_start_json}
37
38 Put Request Resource Status Stop
39     Set Headers     ${header}
40     PUT        /v1/general/resourcestatus  ${resource_status_stop_json}
41
42 Get Request node b enb test1
43     Sleep    1s
44     GET      /v1/nodeb/test1
45
46 Get Request node b gnb test2
47     Sleep    1s
48     GET      /v1/nodeb/test2
49
50 Remove log files
51     Remove File  ${EXECDIR}/${gnb_log_filename}
52     Remove File  ${EXECDIR}/${e2mgr_log_filename}
53     Remove File  ${EXECDIR}/${e2t_log_filename}
54     Remove File  ${EXECDIR}/${rsm_log_filename}
55     Remove File  ${EXECDIR}/${e2e_simu_log_filename}
56     Remove File  ${EXECDIR}/${rm_sim_log_filename}
57     Remove File  ${EXECDIR}/${e2adapter_log_filename}
58
59 Save logs
60     Sleep   1s
61     Run     ${Save_sim_log}
62     Run     ${Save_e2mgr_log}
63     Run     ${Save_e2t_log}
64     Run     ${Save_rsm_log}
65     Run     ${Save_e2e_simu_log}
66     Run     ${Save_rm_sim_log}
67     Run     ${Save_e2adapter_log}
68
69
70 Post Request setup node b endc-setup
71     Set Headers     ${header}
72     POST        /v1/nodeb/endc-setup    ${endcjson}
73
74 Stop Simulator
75     Run And Return Rc And Output    ${stop_simu}
76
77
78 Prepare Simulator For Load Information
79      Run And Return Rc And Output    ${stop_simu}
80      Run And Return Rc And Output    ${docker_Remove}
81      ${flush}  cleanup_db.flush
82      Should Be Equal As Strings  ${flush}  True
83      Run And Return Rc And Output    ${run_simu_load}
84      ${result}=  Run And Return Rc And Output     ${docker_command}
85      Should Be Equal As Integers    ${result[1]}    ${docker_number}
86
87 Prepare Enviorment
88      Log To Console  Starting preparations
89      ${starting_timestamp}    Evaluate   datetime.datetime.now(datetime.timezone.utc).isoformat("T")   modules=datetime 
90      ${e2t_log_filename}      Evaluate      "e2t.${SUITE NAME}.log".replace(" ","-")
91      ${e2mgr_log_filename}    Evaluate      "e2mgr.${SUITE NAME}.log".replace(" ","-")
92      ${gnb_log_filename}      Evaluate      "gnb.${SUITE NAME}.log".replace(" ","-")
93      ${rsm_log_filename}      Evaluate      "rsm.${SUITE NAME}.log".replace(" ","-")
94      ${e2e_simu_log_filename}      Evaluate      "e2e_simu.${SUITE NAME}.log".replace(" ","-")
95      ${rm_sim_log_filename}   Evaluate      "rm_sim.${SUITE NAME}.log".replace(" ","-")
96      ${e2adapter_log_filename}    Evaluate  "e2adapter.${SUITE NAME}.log".replace(" ","-")
97      ${Save_sim_log}          Evaluate   'docker logs --since ${starting_timestamp} gnbe2_simu > ${gnb_log_filename}'
98      ${Save_e2mgr_log}        Evaluate   'docker logs --since ${starting_timestamp} e2mgr > ${e2mgr_log_filename}'
99      ${Save_e2t_log}          Evaluate   'docker logs --since ${starting_timestamp} e2 > ${e2t_log_filename}'
100      ${Save_rsm_log}          Evaluate   'docker logs --since ${starting_timestamp} rsm > ${rsm_log_filename}'
101      ${Save_e2e_simu_log}     Evaluate   'docker logs --since ${starting_timestamp} e2e_simu > ${e2e_simu_log_filename}'
102      ${Save_rm_sim_log}       Evaluate   'docker logs --since ${starting_timestamp} rm_sim > ${rm_sim_log_filename}'
103      ${Save_e2adapter_log}    Evaluate   'docker logs --since ${starting_timestamp} e2adapter > ${e2adapter_log_filename}'
104      Set Suite Variable  ${e2t_log_filename}  
105      Set Suite Variable  ${e2mgr_log_filename}  
106      Set Suite Variable  ${gnb_log_filename}   
107      Set Suite Variable  ${rsm_log_filename}  
108      Set Suite Variable  ${e2e_simu_log_filename}
109      Set Suite Variable  ${rm_sim_log_filename}
110      Set Suite Variable  ${e2adapter_log_filename} 
111      Set Suite Variable  ${Save_sim_log}
112      Set Suite Variable  ${Save_e2mgr_log}
113      Set Suite Variable  ${Save_e2t_log}
114      Set Suite Variable  ${Save_rsm_log}
115      Set Suite Variable  ${Save_e2e_simu_log}
116      Set Suite Variable  ${Save_rm_sim_log}
117      Set Suite Variable  ${Save_e2adapter_log}
118
119          Log To Console  Ready to flush db
120      ${flush}  cleanup_db.flush
121      Should Be Equal As Strings  ${flush}  True
122      Run And Return Rc And Output    ${stop_simu}
123      Run And Return Rc And Output    ${stop_e2e_simu}
124      Run And Return Rc And Output    ${docker_Remove}
125      Run And Return Rc And Output    ${docker_remove_e2e_simu}
126      Run And Return Rc And Output    ${run_simu_regular}
127      Run And Return Rc And Output    ${run_e2e_simu_regular}
128      Run And Return Rc And Output    ${restart_e2adapter}
129      Sleep  3s
130      Log To Console  Validating dockers are up
131      ${result}=  Run And Return Rc And Output     ${docker_command}
132      Should Be Equal As Integers    ${result[1]}    ${docker_number}
133
134 Start E2
135      Run And Return Rc And Output    ${start_e2}
136      ${result}=  Run And Return Rc And Output     ${docker_command}
137      Should Be Equal As Integers    ${result[1]}    ${docker_number}
138      Sleep  2s
139
140 Stop E2
141      Run And Return Rc And Output    ${stop_e2}
142      ${result}=  Run And Return Rc And Output     ${docker_command}
143      Should Be Equal As Integers    ${result[1]}    ${docker_number-1}
144      Sleep  2s
145
146 Start Dbass
147      Run And Return Rc And Output    ${dbass_remove}
148      Run And Return Rc And Output    ${dbass_start}
149      ${result}=  Run And Return Rc And Output     ${docker_command}
150      Should Be Equal As Integers    ${result[1]}    ${docker_number}
151
152 Stop Dbass
153      Run And Return Rc And Output    ${dbass_stop}
154      ${result}=  Run And Return Rc And Output     ${docker_command}
155      Should Be Equal As Integers    ${result[1]}    ${docker_number-1}
156
157 Restart simulator
158
159     Run And Return Rc And Output    ${restart_docker_sim}
160     ${result}=  Run And Return Rc And Output     ${docker_command}
161     Should Be Equal As Integers    ${result[1]}    ${docker_number}
162
163 Start RoutingManager Simulator
164     Run And Return Rc And Output    ${start_routingmanager_sim}
165
166 Stop RoutingManager Simulator
167     Run And Return Rc And Output    ${stop_routingmanager_sim}
168
169
170