##############################################################################
#
# Copyright (c) 2019 AT&T Intellectual Property.
+# Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Resource ../Resource/resource.robot
Library OperatingSystem
Library Process
+Variables ../Scripts/variables.py
*** Keywords ***
-Get Request node b gnb
+Get Request nodeb
+ [Arguments] ${nodeb_name}=${ranName}
Sleep 1s
- GET ${getNodeb}
+ GET ${getNodeb}/${nodeb_name}
+
+Get request nodeb health
+ [Arguments] ${request_body}=${list_nodeb_body}
+ Sleep 1s
+ LOG health check url ${nodeb_health_url}
+ LOG health check body ${request_body}
+ PUT ${nodeb_health_url} ${request_body}
Update Gnb request
Sleep 1s
PUT ${update_gnb_url} ${update_gnb_body}
Add eNb Request
+ [Arguments] ${request}=${add_enb_request_body}
+ Sleep 1s
+ POST ${enb_url} ${request}
+
+Get NodeB state request
+ [Arguments] ${request}=${nodeb_state_url}
Sleep 1s
- POST ${enb_url} ${add_enb_request_body}
+ GET ${request}
Delete eNb Request
Sleep 1s
DELETE ${enb_url}/${enb_ran_name}
Update eNb Request
+ [Arguments] ${request}=${update_enb_request_body}
Sleep 1s
- PUT ${enb_url}/${enb_ran_name} ${update_enb_request_body}
+ PUT ${enb_url}/${enb_ran_name} ${request}
Set General Configuration request
Sleep 1s
Remove File ${EXECDIR}/${e2mgr_log_filename}
Remove File ${EXECDIR}/${e2t_log_filename}
-
Save logs
Sleep 1s
Run ${Save_sim_log}
Stop Simulator
log to console Stopping gnbe2 simulator
Run And Return Rc And Output ${stop_simu}
- Sleep 70s
+ Sleep 90s
Start Simulator
log to console Starting gnbe2 simulator
Stop Routing Manager
Start Routing Manager
+Start e2adapter
+ Log to Console Starting e2adapter
+ Run And Return Rc And Output ${start_e2adapter}
+ Sleep 5s
+
+Stop e2adapter
+ Log to Console Stopping e2adapter
+ Run And Return Rc And Output ${stop_e2adapter}
+ Sleep 90s
+
+Restart e2adapter
+ Log to Console Restarting e2adapter
+ Stop e2adapter
+ Start e2adapter
+
Flush And Populate DB
[Arguments] ${set_new_timestamp}=${True}
Log To Console Flushing and populating DB
Stop Dbass
Stop E2
Stop Routing Manager
+ Stop e2adapter
+
+Send eNB Setup Request
+ Log To Console Sending eNB setup request form e2adapter
+ Restart e2adapter
+ Wait until keyword succeeds 2 min 3 sec Validate Required Dockers
+ ${e2adapter_pod} = Run And Return Rc And Output kubectl get pods -n ricplt | /bin/grep e2adapter | /bin/grep Running | awk '{{print $1}}'
+ ${send_enb_setup} Evaluate "kubectl -n ricplt exec -it ${e2adapter_pod[1]} cli send-e2setup-req 10.0.2.15"
+ Run And Return Rc And Output ${send_enb_setup}
Start Redis Monitor
Log To Console Starting redis monitor log
Redis Monitor Logs - Verify Publish To Manipulation Channel
[Arguments] ${ran_name} ${event}
Log To Console Verify Publish To Manipulation Channel
+ Sleep 3s
${result}= log_scripts.verify_redis_monitor_manipulation_message ${EXECDIR}/${redis_monitor_log_filename} ${ran_name} ${event}
Should Be Equal As Strings ${result} True
Redis Monitor Logs - Verify Publish To Connection Status Channel
[Arguments] ${ran_name} ${event}
Log To Console Verify Publish To Connection Status Channel
+ Sleep 3s
${result}= log_scripts.verify_redis_monitor_connection_status_message ${EXECDIR}/${redis_monitor_log_filename} ${ran_name} ${event}
Should Be Equal As Strings ${result} True
+
+Redis Monitor Logs - Verify NOT Published To Manipulation Channel
+ [Arguments] ${ran_name} ${event}
+ Log To Console Verify NOT Published To Manipulation Channel
+ Sleep 3s
+ ${result}= log_scripts.verify_redis_monitor_manipulation_message ${EXECDIR}/${redis_monitor_log_filename} ${ran_name} ${event}
+ Should Be Equal As Strings ${result} False
\ No newline at end of file