X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ric_robot_suite%2Frobot%2Fresources%2Fe2mgr%2Fe2mgr_interface.robot;fp=ric_robot_suite%2Frobot%2Fresources%2Fe2mgr%2Fe2mgr_interface.robot;h=837aa9040a73ff7d1e4394e5cf9fbbc2cf44daa2;hb=fb793dbf21da9874a5f26dfce45c4a08f4b02889;hp=abb4a2c7f20d7894ef0232b6dd3f7d2d5d2daf4e;hpb=99115439fd9976bd251f98ed21171c6f38ff2b05;p=it%2Ftest.git diff --git a/ric_robot_suite/robot/resources/e2mgr/e2mgr_interface.robot b/ric_robot_suite/robot/resources/e2mgr/e2mgr_interface.robot index abb4a2c..837aa90 100644 --- a/ric_robot_suite/robot/resources/e2mgr/e2mgr_interface.robot +++ b/ric_robot_suite/robot/resources/e2mgr/e2mgr_interface.robot @@ -1,5 +1,7 @@ *** Settings *** -Documentation The main interface for interacting with RIC E2 Manager (E2Mgr) . It handles low level stuff like managing the http request library and E2Mgr required fields +Documentation The main interface for interacting with RIC E2 Manager (E2Mgr). +... It handles low level stuff like managing the http request library and +... E2Mgr required fields Library RequestsLibrary Library UUID @@ -7,93 +9,112 @@ Resource ../global_properties.robot Resource ../json_templater.robot *** Variables *** -${E2MGR_BASE_PATH} /v1/nodeb #/nodeb /nodeb/setup -${E2MGR_BASE_VERSION} /v1 -${E2MGR_ENDPOINT} ${GLOBAL_E2MGR_SERVER_PROTOCOL}://${GLOBAL_INJECTED_E2MGR_IP_ADDR}:${GLOBAL_E2MGR_SERVER_PORT} +${E2MGR_BASE_PATH} v1/nodeb +${E2MGR_ENDPOINT} ${GLOBAL_E2MGR_SERVER_PROTOCOL}://${GLOBAL_INJECTED_E2MGR_IP_ADDR}:${GLOBAL_E2MGR_SERVER_PORT} ${E2MGR_SETUP_NODEB_TEMPLATE} robot/assets/templates/e2mgr_setup_nodeb.template *** Keywords *** Run E2Mgr Health Check - [Documentation] Runs E2Mgr Health check - ${data_path}= Set Variable /v1/health - ${resp}= Run Keyword Run E2Mgr Get Request ${data_path} + [Documentation] Runs E2Mgr Health check + ${data_path} = Set Variable /v1/health + ${resp} = Run E2Mgr GET Request ${data_path} Check NodeB Status - [Documentation] Check NodeB Status + [Documentation] Check NodeB Status [Arguments] ${ran_name} - ${resp}= Run Keyword Run E2Mgr Get NodeB Request ${ran_name} - Should Be Equal As Strings ${resp.json()['connectionStatus']} CONNECTED + ${resp} = Run E2Mgr Get NodeB Request ${ran_name} + Should Be Equal As Strings ${resp.json()['connectionStatus']} CONNECTED + [Return] ${resp} Run E2Mgr Get NodeB Request - [Documentation] Runs E2Mgr Get NodeB Request + [Documentation] Runs E2Mgr Get NodeB Request [Arguments] ${ran_name} - ${data_path}= Set Variable ${E2MGR_BASE_PATH}/${ran_name} - ${resp}= Run Keyword Run E2Mgr Get Request ${data_path} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp} + ${data_path} = Set Variable ${E2MGR_BASE_PATH}/${ran_name} + ${resp} = Run E2Mgr GET Request ${data_path} + Should Be Equal As Strings ${resp.json()['ranName']} ${ran_name} + [Return] ${resp} Run E2Mgr Get All NodeBs Request - [Documentation] Runs E2Mgr Get All NodeBs Request - ${data_path}= Set Variable ${E2MGR_BASE_VERSION}/nodeb-ids - ${resp}= Run Keyword Run E2Mgr Get Request ${data_path} + [Documentation] Runs E2Mgr Get All NodeBs Request + ${data_path} = Set Variable ${E2MGR_BASE_PATH}/ids + ${resp} = Run E2Mgr GET Request ${data_path} + [Return] ${resp} Run E2Mgr Setup NodeB X2 - [documentation] Setup X2 NodeB via E2 Manager - [Arguments] ${ran_name} ${ran_ip} ${ran_port} - ${data_path}= Set Variable ${E2MGR_BASE_PATH}/x2-setup - ${dict}= Create Dictionary ran_name=${ran_name} ran_ip=${ran_ip} ran_port=${ran_port} - ${data}= Fill JSON Template File ${E2MGR_SETUP_NODEB_TEMPLATE} ${dict} - ${auth}= Create List ${GLOBAL_INJECTED_E2MGR_USER} ${GLOBAL_INJECTED_E2MGR_PASSWORD} - ${session}= Create Session e2mgr ${E2MGR_ENDPOINT} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request e2mgr ${data_path} data=${data} headers=${headers} - Log Received response from E2Mgr ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp} + [documentation] Setup X2 NodeB via E2 Manager + [Arguments] ${ran_name} ${ran_ip} ${ran_port} + ${data_path} = Set Variable ${E2MGR_BASE_PATH}/x2-setup + ${dict} = Create Dictionary + ... ran_name=${ran_name} + ... ran_ip=${ran_ip} + ... ran_port=${ran_port} + ${data} = Fill JSON Template File ${E2MGR_SETUP_NODEB_TEMPLATE} ${dict} + ${resp} = Run E2Mgr POST Request ${data_path} ${data} + [Return] ${resp} Run E2Mgr Setup NodeB Endc - [documentation] Setup Endc NodeB via E2 Manager - [Arguments] ${ran_name} ${ran_ip} ${ran_port} - ${data_path}= Set Variable ${E2MGR_BASE_PATH}/endc-setup - ${dict}= Create Dictionary ran_name=${ran_name} ran_ip=${ran_ip} ran_port=${ran_port} - ${data}= Fill JSON Template File ${E2MGR_SETUP_NODEB_TEMPLATE} ${dict} - ${auth}= Create List ${GLOBAL_INJECTED_E2MGR_USER} ${GLOBAL_INJECTED_E2MGR_PASSWORD} - ${session}= Create Session e2mgr ${E2MGR_ENDPOINT} auth=${auth} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request e2mgr ${data_path} data=${data} headers=${headers} - Log Received response from E2Mgr ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp} + [documentation] Setup Endc NodeB via E2 Manager + [Arguments] ${ran_name} ${ran_ip} ${ran_port} + ${data_path} = Set Variable ${E2MGR_BASE_PATH}/endc-setup + ${dict} = Create Dictionary ran_name=${ran_name} ran_ip=${ran_ip} ran_port=${ran_port} + ${data} = Fill JSON Template File ${E2MGR_SETUP_NODEB_TEMPLATE} ${dict} + ${resp} = Run E2Mgr POST Request ${data_path} ${data} + [Return] ${resp} Run E2Mgr Delete NodeB - [documentation] Delete NodeB via E2 Manager + [documentation] Delete NodeB via E2 Manager [Arguments] ${ran_name} - ${data_path}= Set Variable ${E2MGR_BASE_PATH}/${ran_name} - ${resp}= Run E2Mgr Delete Request ${data_path} - Should Be Equal As Strings ${resp.status_code} 200 + ${data_path} = Set Variable ${E2MGR_BASE_PATH}/${ran_name} + ${resp} = Run E2Mgr DELETE Request ${data_path} +# +Run E2Mgr GET Request + [Documentation] Runs E2Mgr GET Request + [Arguments] ${data_path} + ${auth} = Create List + ... ${GLOBAL_INJECTED_E2MGR_USER} + ... ${GLOBAL_INJECTED_E2MGR_PASSWORD} + ${session} = Create Session e2mgr ${E2MGR_ENDPOINT} auth=${auth} + ${uuid} = Generate UUID + ${headers} = Create Dictionary + ... Accept=application/json + ... Content-Type=application/json + ${resp} = Get Request e2mgr ${data_path} headers=${headers} + Log Received response from E2Mgr ${resp.text} + Should Be True ${resp} + [Return] ${resp} -Run E2Mgr Get Request - [Documentation] Runs E2Mgr Get Request - [Arguments] ${data_path} - ${auth}= Create List ${GLOBAL_INJECTED_E2MGR_USER} ${GLOBAL_INJECTED_E2MGR_PASSWORD} - ${session}= Create Session e2mgr ${E2MGR_ENDPOINT} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request e2mgr ${data_path} headers=${headers} - Log Received response from E2Mgr ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp} - -Run E2Mgr Delete Request +Run E2Mgr DELETE Request [Documentation] Runs E2Mgr Delete Request - [Arguments] ${data_path} - ${auth}= Create List ${GLOBAL_INJECTED_E2MGR_USER} ${GLOBAL_INJECTED_E2MGR_PASSWORD} - ${session}= Create Session e2mgr ${E2MGR_ENDPOINT} auth=${auth} - ${uuid}= Generate UUID - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Delete Request e2mgr ${data_path} headers=${headers} - Log Received response from E2Mgr ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp} + [Arguments] ${data_path} + ${auth} = Create List + ... ${GLOBAL_INJECTED_E2MGR_USER} + ... ${GLOBAL_INJECTED_E2MGR_PASSWORD} + ${session} = Create Session e2mgr ${E2MGR_ENDPOINT} auth=${auth} + ${uuid} = Generate UUID + ${headers} = Create Dictionary + ... Accept=application/json + ... Content-Type=application/json + ${resp} = Delete Request e2mgr ${data_path} headers=${headers} + Log Received response from E2Mgr ${resp.text} + Should Be True ${resp} + [Return] ${resp} + +Run E2Mgr POST Request + [Documentation] Send an HTTP POST to the E2 Manager + [Arguments] ${data_path} ${data} + ${auth} = Create List + ... ${GLOBAL_INJECTED_E2MGR_USER} + ... ${GLOBAL_INJECTED_E2MGR_PASSWORD} + ${session} = Create Session e2mgr ${E2MGR_ENDPOINT} auth=${auth} + ${headers} = Create Dictionary + ... Accept=application/json + ... Content-Type=application/json + ${resp} = Post Request e2mgr + ... ${data_path} + ... data=${data} + ... headers=${headers} + Log Received response from E2Mgr ${resp.text} + Should Be True ${resp} + [Return] ${resp}