Automation of nodeb health check
[ric-plt/e2mgr.git] / Automation / Tests / Resource / Keywords.robot
index 4d046bf..2057ca7 100644 (file)
@@ -1,6 +1,7 @@
 ##############################################################################
 #
 #   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.
@@ -27,33 +28,44 @@ Library     ../Scripts/k8s_helper.py
 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}
 
-Update Ran request
+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}   ${add_enb_request_body}
+    POST    ${enb_url}   ${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
     PUT    ${set_general_configuration}   ${set_general_configuration_body}
 
-Update Ran request not valid
+Update Gnb request not valid
     Sleep  1s
     PUT    ${update_gnb_url}   ${update_gnb_body_notvalid}
 
@@ -62,7 +74,6 @@ Remove log files
     Remove File  ${EXECDIR}/${e2mgr_log_filename}
     Remove File  ${EXECDIR}/${e2t_log_filename}
 
-
 Save logs
     Sleep   1s
     Run     ${Save_sim_log}
@@ -74,11 +85,11 @@ Prepare Enviorment
      Init logs
      Flush And Populate DB    ${set_new_timestamp}
      Run keyword if  ${need_to_restart_pods}==${True}   Restart RM and GNB Simulator
-     Wait until keyword succeeds  1 min    10 sec    Validate Required Dockers
+     Wait until keyword succeeds  2 min    10 sec    Validate Required Dockers
 
 Restart RM and GNB Simulator
     Restart routing manager
-    Wait until keyword succeeds  1 min    10 sec    Validate Required Dockers
+    Wait until keyword succeeds  2 min    10 sec    Validate Required Dockers
     Restart simulator
 
 
@@ -136,7 +147,7 @@ Stop Dbass
 Stop Simulator
     log to console  Stopping gnbe2 simulator
     Run And Return Rc And Output    ${stop_simu}
-    Sleep  50s
+    Sleep  90s
 
 Start Simulator
     log to console  Starting gnbe2 simulator
@@ -162,6 +173,21 @@ Restart Routing Manager
     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
@@ -174,6 +200,15 @@ Stop All Pods Except Simulator
     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
@@ -188,14 +223,22 @@ Stop Redis Monitor
 
 
 Redis Monitor Logs - Verify Publish To Manipulation Channel
-    [Arguments]       ${ran_name}    ${string}
+    [Arguments]       ${ran_name}    ${event}
     Log To Console  Verify Publish To Manipulation Channel
-    ${result}=  log_scripts.verify_redis_monitor_manipulation_message   ${EXECDIR}/${redis_monitor_log_filename}  ${ran_name}    ${string}
+    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}    ${string}
+    [Arguments]       ${ran_name}    ${event}
     Log To Console    Verify Publish To Connection Status Channel
-    ${result}=  log_scripts.verify_redis_monitor_connection_status_message   ${EXECDIR}/${redis_monitor_log_filename}  ${ran_name}    ${string}
+    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