*** Settings ***
Documentation	  The main interface for interacting with AAF. It handles low level stuff like managing the http request library and AAF required fields
Library	          RequestsClientCert
Library 	      RequestsLibrary
Library	          UUID      

Resource          global_properties.robot

*** Variables ***
${AAF_HEALTH_CHECK_PATH}        /authz/perms/user/${GLOBAL_AAF_USERNAME}

*** Keywords ***
Run AAF Health Check
     [Documentation]    Runs AAF Health check
     ${resp}=    Run AAF Get Request    ${AAF_HEALTH_CHECK_PATH}    
     Should Be Equal As Strings 	${resp.status_code} 	200
     #Should Contain    ${resp.json()}    access
         
Run AAF Get Request
     [Documentation]    Runs AAF Get request
     [Arguments]    ${data_path}
     ${auth}=  Create List  ${GLOBAL_AAF_USERNAME}    ${GLOBAL_AAF_PASSWORD}
     ${session}=    Create Session 	aaf	${GLOBAL_AAF_SERVER}    auth=${auth}
     #${session_client}=    Add Client Cert    ${session}    cert
     ${uuid}=    Generate UUID
     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
     ${resp}= 	Get Request 	aaf 	${data_path}     headers=${headers}
     Log    Received response from aaf ${resp.text}
     [Return]    ${resp}