Initial checkin of EopenECOMP testsuite

Change-Id: I64a2b6d8cf66169829866b73b3d26a4ff59b0a42
Signed-off-by: DR695H <dr695h@att.com>
diff --git a/robot/resources/mso_interface.robot b/robot/resources/mso_interface.robot
new file mode 100644
index 0000000..b6a53b4
--- /dev/null
+++ b/robot/resources/mso_interface.robot
@@ -0,0 +1,54 @@
+*** Settings ***
+Documentation     The main interface for interacting with MSO. It handles low level stuff like managing the http request library and MSO required fields
+Library 	      RequestsLibrary
+Library	          UUID      
+Library           OperatingSystem
+Library           Collections
+Resource          global_properties.robot
+Resource          ../resources/json_templater.robot
+*** Variables ***
+${MSO_HEALTH_CHECK_PATH}    /ecomp/mso/infra/globalhealthcheck
+
+*** Keywords ***
+Run MSO Health Check
+    [Documentation]    Runs an MSO global health check
+    ${auth}=  Create List  ${GLOBAL_MSO_USERNAME}    ${GLOBAL_MSO_PASSWORD}
+    ${session}=    Create Session 	mso 	${GLOBAL_MSO_SERVER}
+    ${uuid}=    Generate UUID
+    ${headers}=  Create Dictionary     Accept=text/html    Content-Type=text/html    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
+    ${resp}= 	Get Request 	mso 	${MSO_HEALTH_CHECK_PATH}     headers=${headers}
+    Should Be Equal As Strings 	${resp.status_code} 	200
+
+Run MSO Get Request
+    [Documentation]    Runs an MSO get request
+    [Arguments]    ${data_path}    ${accept}=application/json
+    ${auth}=  Create List  ${GLOBAL_MSO_USERNAME}    ${GLOBAL_MSO_PASSWORD}
+    Log    Creating session ${GLOBAL_MSO_SERVER}
+    ${session}=    Create Session 	mso 	${GLOBAL_MSO_SERVER}    auth=${auth}
+    ${uuid}=    Generate UUID
+    ${headers}=  Create Dictionary     Accept=${accept}    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
+    ${resp}= 	Get Request 	mso 	${data_path}     headers=${headers}
+    Log    Received response from mso ${resp.text}
+    [Return]    ${resp}
+    
+Poll MSO Get Request
+    [Documentation]    Runs an MSO get request until a certain status is received. valid values are COMPLETE
+    [Arguments]    ${data_path}     ${status}
+    ${auth}=  Create List  ${GLOBAL_MSO_USERNAME}    ${GLOBAL_MSO_PASSWORD}
+    Log    Creating session ${GLOBAL_MSO_SERVER}
+    ${session}=    Create Session 	mso 	${GLOBAL_MSO_SERVER}    auth=${auth}
+    ${uuid}=    Generate UUID
+    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
+    #do this until it is done
+    :FOR    ${i}    IN RANGE    20
+    \    ${resp}= 	Get Request 	mso 	${data_path}     headers=${headers}
+    \    Should Not Contain    ${resp.text}    FAILED
+    \    Log    ${resp.json()['request']['requestStatus']['requestState']}   
+    \    ${exit_loop}=    Evaluate    "${resp.json()['request']['requestStatus']['requestState']}" == "${status}"
+    \    Exit For Loop If  ${exit_loop}
+    \    Sleep    15s
+    Log    Received response from mso ${resp.text}
+    [Return]    ${resp}
+
+
+