*** Settings *** Library /opt/robot-tests/tests/libraries/helpers.py Library Process Library Collections Variables /opt/robot-tests/tests/libraries/environment.py Resource /opt/robot-tests/tests/resources/common/basicRequests.robot *** Variables *** ${INVOKER_USERNAME} ROBOT_TESTING_INVOKER ${PROVIDER_USERNAME} ROBOT_TESTING_PROVIDER ${APF_PROVIDER_USERNAME} APF_${PROVIDER_USERNAME} ${AEF_PROVIDER_USERNAME} AEF_${PROVIDER_USERNAME} ${AMF_PROVIDER_USERNAME} AMF_${PROVIDER_USERNAME} ${INVOKER_NOT_REGISTERED} not-valid ${INVOKER_ROLE} invoker ${PROVIDER_ROLE} provider ${CAPIF_HOSTNAME} capifcore ${CAPIF_VAULT} vault ${CAPIF_VAULT_PORT} 8200 ${CAPIF_VAULT_TOKEN} read-ca-token ${CAPIF_REGISTER} register ${CAPIF_REGISTER_PORT} 8084 ${CAPIF_HTTP_PORT} ${EMPTY} ${CAPIF_HTTPS_PORT} ${EMPTY} ${CAPIF_IP} 127.0.0.1 ${CAPIF_CALLBACK_IP} host.docker.internal ${CAPIF_CALLBACK_PORT} 8086 ${REGISTER_ADMIN_USER} admin ${REGISTER_ADMIN_PASSWORD} password123 ${MOCK_SERVER_URL} http://192.168.0.14:9090 ${DISCOVER_URL} /service-apis/v1/allServiceAPIs?api-invoker-id= *** Keywords *** Reset Testing Environment Log Db capif.invokerdetails collection will be removed in order to isolate each test. # Clean Test Information By HTTP Requests Clean Test Information Check Location Header [Documentation] This keyword will check location header at response according to regular expression provided as argument [Arguments] ${resp} ${regular_expression} ${event_url}= Parse Url ${resp.headers['Location']} Should Match Regexp ${event_url.path} ${regular_expression} RETURN ${event_url} Check Event Location Header [Arguments] ${resp} ${event_url}= Check Location Header ${resp} ${LOCATION_EVENT_RESOURCE_REGEX} ${subscriber_id} ${subscription_id}= Get Subscriber And Subscription From Location ${event_url.path} RETURN ${subscriber_id} ${subscription_id} Check Problem Details [Arguments] ${resp} &{input_parameters} Check Variable ${resp.json()} ProblemDetails FOR ${input} IN @{input_parameters} Log ${input}=${input_parameters['${input}']} Should Match "${resp.json()['${input}']}" "${input_parameters['${input}']}" END Check Response Variable Type And Values [Arguments] ${resp} ${status_code} ${variable_type} &{input_parameters} Status Should Be ${status_code} ${resp} Check Variable ${resp.json()} ${variable_type} FOR ${input} IN @{input_parameters} Log ${input}=${input_parameters['${input}']} Should Match Regexp "${resp.json()['${input}']}" "${input_parameters['${input}']}" END Remove Keys From Object [Arguments] ${input} @{keys_to_remove} ${filtered_input}= Remove Keys From Object Helper ${input} ${keys_to_remove} RETURN ${filtered_input} Test ${TEST NAME} Currently Not Supported Log Test "${TEST NAME}" Currently not supported WARN Skip Test "${TEST NAME}" Currently not supported Start Mock server Log Starting mock Server for Robot Framework. # Run Process pip3 install -r /opt/robot-tests/tests/libraries/mock_server/requirements.txt ${server_process}= Start Process python3 /opt/robot-tests/tests/libraries/mock_server/mock_server.py Log PID: ${server_process.pid} Create Session mockserver ${MOCK_SERVER_URL} ${endpoint}= Set Variable /testing ${json}= Create Dictionary events="SERVICE_API_INVOCATION_SUCCESS" subscriptionId="255545008cd3937f5554a3651bbfb9" ${resp}= POST On Session ... mockserver ... ${endpoint} ... json=${json} ... expected_status=any ... verify=False ${result}= Terminate Process ${server_process} Check Mock Server Log Checking mock Server for Robot Framework. Create Session mockserver ${MOCK_SERVER_URL} ${endpoint}= Set Variable /requests_list ${resp}= GET On Session ... mockserver ... ${endpoint} ... expected_status=any ... verify=False Status Should Be 200 ${resp} Clean Mock Server Log Checking mock Server for Robot Framework. Create Session mockserver ${MOCK_SERVER_URL} ${endpoint}= Set Variable /requests_list ${resp}= DELETE On Session ... mockserver ... ${endpoint} ... expected_status=any ... verify=False Status Should Be 200 ${resp} Get Mock Server Messages Log Checking mock Server for Robot Framework. Create Session mockserver ${MOCK_SERVER_URL} ${endpoint}= Set Variable /requests_list ${resp}= GET On Session ... mockserver ... ${endpoint} ... expected_status=any ... verify=False Status Should Be 200 ${resp} RETURN ${resp}