73d393d350e4d39266d040e7d7e7072a233e6a04
[testsuite.git] / robot / resources / music / music_interface.robot
1 *** Settings ***
2 Documentation     The main interface for interacting with MUSIC. It handles low level stuff like managing the http request library and MUSIC required fields
3 Library           RequestsClientCert
4 Library               RequestsLibrary
5 Library           UUID      
6
7 Resource          ../global_properties.robot
8
9 *** Variables ***
10 ${MUSIC_HEALTH_CHECK_PATH}        /MUSIC/rest/v2/version
11 ${MUSIC_CASSA_HEALTH_CHECK_PATH}        /MUSIC/rest/v2/service/musicHealthCheck
12 ${MUSIC_ENDPOINT}     ${GLOBAL_MUSIC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_MUSIC_IP_ADDR}:${GLOBAL_MUSIC_SERVER_PORT}
13
14 *** Keywords ***
15 Run MUSIC Health Check
16      [Documentation]    Runs MUSIC Health check
17      ${resp}=    Run MUSIC Get Request    ${MUSIC_HEALTH_CHECK_PATH}    
18      Should Be Equal As Strings         ${resp.status_code}     200
19      Should Be Equal As Strings         ${resp.json()['status']}        SUCCESS
20          
21
22 Run MUSIC Cassandra Connection Check
23      [Documentation]    Confirm MUSIC's connection to Cassandra in active
24      ${resp}=    Run MUSIC Get Request    ${MUSIC_CASSA_HEALTH_CHECK_PATH}    
25      Should Be Equal As Strings         ${resp.status_code}     200
26      Should Be Equal As Strings         ${resp.json()['Cassandra']}     Active
27      
28      
29 Run MUSIC Get Request
30      [Documentation]    Runs MUSIC Get request
31      [Arguments]    ${data_path}
32      ${session}=    Create Session      music   ${MUSIC_ENDPOINT}
33      ${uuid}=    Generate UUID
34      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
35      ${resp}=   Get Request     music   ${data_path}     headers=${headers}
36      Log    Received response from music ${resp.text}
37      [Return]    ${resp}