Loading tests/features/Api Status/api_status.robot +47 −57 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ Library XML Library String Resource /opt/robot-tests/tests/resources/common/basicRequests.robot Resource ../../resources/common.resource Resource ../../resources/common/basicRequests.robot Suite Teardown Reset Testing Environment Test Setup Reset Testing Environment Loading Loading @@ -424,9 +425,18 @@ Update published API with apiStatus empty and apiStatusMonitoring inactive ... verify=ca.crt ... username=${APF_PROVIDER_USERNAME} Check Response Variable Type And Values ${resp} 200 ServiceAPIDescription ... apiName=service_1 Dictionary Should Not Contain Key ${resp.json()} apiStatus Check Response Variable Type And Values ... ${resp} ... 400 ... ProblemDetails ... title=Bad Request ... status=400 ... detail=Set apiStatus with apiStatusMonitoring feature inactive at supportedFeatures if not allowed ... cause=apiStatus can't be set if apiStatusMonitoring is inactive # Check Response Variable Type And Values ${resp} 200 ServiceAPIDescription # ... apiName=service_1 # Dictionary Should Not Contain Key ${resp.json()} apiStatus # Check Event Notifications ## Create check Events to ensure all notifications were received Loading @@ -438,20 +448,20 @@ Update published API with apiStatus empty and apiStatusMonitoring inactive ... service_api_description_expected=${TRUE} ... service_api_description=${service_api_description_published} Log List ${events_expected} ${events_expected}= Create Expected Service Update Event ... subscription_id=${subscription_id} ... service_api_resource=${resource_url} ... service_api_descriptions=${service_api_description_modified} ... events_expected=${events_expected} # Log List ${events_expected} # ${events_expected}= Create Expected Service Update Event # ... subscription_id=${subscription_id} # ... service_api_resource=${resource_url} # ... service_api_descriptions=${service_api_description_modified} # ... events_expected=${events_expected} ${service_api_unavailable_resources}= Create List ${resource_url} ${events_expected}= Create Expected Events For Service API Notifications ... subscription_id=${subscription_id} ... service_api_unavailable_resources=${service_api_unavailable_resources} ... event_detail_expected=${TRUE} ... service_api_description_expected=${TRUE} ... service_api_description=${service_api_description_modified} # ${service_api_unavailable_resources}= Create List ${resource_url} # ${events_expected}= Create Expected Events For Service API Notifications # ... subscription_id=${subscription_id} # ... service_api_unavailable_resources=${service_api_unavailable_resources} # ... event_detail_expected=${TRUE} # ... service_api_description_expected=${TRUE} # ... service_api_description=${service_api_description_modified} Log List ${events_expected} ## Check Events Expected towards received notifications at mock server Wait Until Keyword Succeeds 5x 5s Check Mock Server Notification Events ${events_expected} Loading Loading @@ -700,13 +710,22 @@ Patch published (apiStatusMonitoring inactive) API with apiStatus aefId1 and aef ${subscriber_id} ${subscription_id}= Check Event Location Header ${resp} # Publish api with 2 aefIds ${service_api_description_published} ${resource_url} ${request_body}= Publish Service Api ${resp} ${request_body}= Publish Service Api Request ... ${register_user_info_provider} ... service_1 ... aef_id=${aef_ids} ... api_status=${aef_id_1} ... supported_features=000 Check Response Variable Type And Values ... ${resp} ... 400 ... ProblemDetails ... title=Bad Request ... status=400 ... detail=Set apiStatus with apiStatusMonitoring feature inactive at supportedFeatures if not allowed ... cause=apiStatus can't be set if apiStatusMonitoring is inactive # Discover APIs by invoker ${resp}= Get Request Capif ... ${DISCOVER_URL}${register_user_info_invoker['api_invoker_id']}&aef-id=${aef_id_1} Loading @@ -714,47 +733,17 @@ Patch published (apiStatusMonitoring inactive) API with apiStatus aefId1 and aef ... verify=ca.crt ... username=${INVOKER_USERNAME} Check Response Variable Type And Values ${resp} 200 DiscoveredAPIs # # Check Results Dictionary Should Contain Key ${resp.json()} serviceAPIDescriptions Should Not Be Empty ${resp.json()['serviceAPIDescriptions']} Length Should Be ${resp.json()['serviceAPIDescriptions']} 1 List Should Contain Value ${resp.json()['serviceAPIDescriptions']} ${service_api_description_published} Dictionary Should Not Contain Key ${resp.json()} apiStatus # Update Request to published API ${aef_empty_list}= Create List ${service_api_description_patch}= Create Service Api Description Patch ... api_status=${aef_ids} ${resp}= Patch Request Capif ... ${resource_url.path} ... json=${service_api_description_patch} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt ... username=${APF_PROVIDER_USERNAME} ${service_api_to_check}= Copy Dictionary ${service_api_description_published} deepcopy=${True} ${api_status_expected}= Create dictionary aefIds=${aef_ids} Set To Dictionary ${service_api_to_check} apiStatus=${api_status_expected} Check Response Variable Type And Values ${resp} 200 ServiceAPIDescription ... apiName=service_1 Dictionary Should Not Contain Key ${resp.json()} apiStatus Dictionaries Should Be Equal ${resp.json()['apiStatus']} ${service_api_description_patch['apiStatus']} Check Response Variable Type And Values ... ${resp} ... 404 ... ProblemDetails ... title=Not Found ... status=404 ... detail=API Invoker ${register_user_info_invoker['api_invoker_id']} has no API Published that accomplish filter conditions ... cause=No API Published accomplish filter conditions # Check Event Notifications ## Create check Events to ensure all notifications were received ${service_api_available_resources}= Create List ${resource_url} ${events_expected}= Create Expected Events For Service API Notifications ... subscription_id=${subscription_id} ... service_api_available_resources=${service_api_available_resources} ... event_detail_expected=${TRUE} ... service_api_description_expected=${TRUE} ... service_api_description=${service_api_description_published} ${events_expected}= Create List Log List ${events_expected} ## Check Events Expected towards received notifications at mock server Wait Until Keyword Succeeds 5x 5s Check Mock Server Notification Events ${events_expected} Loading Loading @@ -864,6 +853,7 @@ Patch published without aefs available API with apiStatus only aef2 ... event_detail_expected=${TRUE} ... service_api_description_expected=${TRUE} ... service_api_description=${service_api_to_check} ... events_expected=${events_expected} Log List ${events_expected} ## Check Events Expected towards received notifications at mock server Wait Until Keyword Succeeds 5x 5s Check Mock Server Notification Events ${events_expected} Loading tests/resources/common/basicRequests.robot +26 −1 Original line number Diff line number Diff line Loading @@ -785,7 +785,7 @@ Provider Default Registration RETURN ${register_user_info} Publish Service Api Publish Service Api Request [Arguments] ... ${register_user_info_provider} ... ${service_name}=service_1 Loading Loading @@ -833,6 +833,31 @@ Publish Service Api ... verify=ca.crt ... username=${apf_username_to_use} RETURN ${resp} ${request_body} Publish Service Api [Arguments] ... ${register_user_info_provider} ... ${service_name}=service_1 ... ${apf_id}=${NONE} ... ${apf_username}=${NONE} ... ${supported_features}=0 ... ${vendor_specific_service_api_description}=${None} ... ${vendor_specific_aef_profile}=${None} ... ${aef_id}=${NONE} ... ${api_status}=${NONE} ${resp} ${request_body}= Publish Service Api Request ... ${register_user_info_provider} ... ${service_name} ... ${apf_id} ... ${apf_username} ... ${supported_features} ... ${vendor_specific_service_api_description} ... ${vendor_specific_aef_profile} ... ${aef_id} ... ${api_status} Check Response Variable Type And Values ${resp} 201 ServiceAPIDescription Dictionary Should Contain Key ${resp.json()} apiId ${resource_url}= Check Location Header ${resp} ${LOCATION_PUBLISH_RESOURCE_REGEX} Loading Loading
tests/features/Api Status/api_status.robot +47 −57 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ Library XML Library String Resource /opt/robot-tests/tests/resources/common/basicRequests.robot Resource ../../resources/common.resource Resource ../../resources/common/basicRequests.robot Suite Teardown Reset Testing Environment Test Setup Reset Testing Environment Loading Loading @@ -424,9 +425,18 @@ Update published API with apiStatus empty and apiStatusMonitoring inactive ... verify=ca.crt ... username=${APF_PROVIDER_USERNAME} Check Response Variable Type And Values ${resp} 200 ServiceAPIDescription ... apiName=service_1 Dictionary Should Not Contain Key ${resp.json()} apiStatus Check Response Variable Type And Values ... ${resp} ... 400 ... ProblemDetails ... title=Bad Request ... status=400 ... detail=Set apiStatus with apiStatusMonitoring feature inactive at supportedFeatures if not allowed ... cause=apiStatus can't be set if apiStatusMonitoring is inactive # Check Response Variable Type And Values ${resp} 200 ServiceAPIDescription # ... apiName=service_1 # Dictionary Should Not Contain Key ${resp.json()} apiStatus # Check Event Notifications ## Create check Events to ensure all notifications were received Loading @@ -438,20 +448,20 @@ Update published API with apiStatus empty and apiStatusMonitoring inactive ... service_api_description_expected=${TRUE} ... service_api_description=${service_api_description_published} Log List ${events_expected} ${events_expected}= Create Expected Service Update Event ... subscription_id=${subscription_id} ... service_api_resource=${resource_url} ... service_api_descriptions=${service_api_description_modified} ... events_expected=${events_expected} # Log List ${events_expected} # ${events_expected}= Create Expected Service Update Event # ... subscription_id=${subscription_id} # ... service_api_resource=${resource_url} # ... service_api_descriptions=${service_api_description_modified} # ... events_expected=${events_expected} ${service_api_unavailable_resources}= Create List ${resource_url} ${events_expected}= Create Expected Events For Service API Notifications ... subscription_id=${subscription_id} ... service_api_unavailable_resources=${service_api_unavailable_resources} ... event_detail_expected=${TRUE} ... service_api_description_expected=${TRUE} ... service_api_description=${service_api_description_modified} # ${service_api_unavailable_resources}= Create List ${resource_url} # ${events_expected}= Create Expected Events For Service API Notifications # ... subscription_id=${subscription_id} # ... service_api_unavailable_resources=${service_api_unavailable_resources} # ... event_detail_expected=${TRUE} # ... service_api_description_expected=${TRUE} # ... service_api_description=${service_api_description_modified} Log List ${events_expected} ## Check Events Expected towards received notifications at mock server Wait Until Keyword Succeeds 5x 5s Check Mock Server Notification Events ${events_expected} Loading Loading @@ -700,13 +710,22 @@ Patch published (apiStatusMonitoring inactive) API with apiStatus aefId1 and aef ${subscriber_id} ${subscription_id}= Check Event Location Header ${resp} # Publish api with 2 aefIds ${service_api_description_published} ${resource_url} ${request_body}= Publish Service Api ${resp} ${request_body}= Publish Service Api Request ... ${register_user_info_provider} ... service_1 ... aef_id=${aef_ids} ... api_status=${aef_id_1} ... supported_features=000 Check Response Variable Type And Values ... ${resp} ... 400 ... ProblemDetails ... title=Bad Request ... status=400 ... detail=Set apiStatus with apiStatusMonitoring feature inactive at supportedFeatures if not allowed ... cause=apiStatus can't be set if apiStatusMonitoring is inactive # Discover APIs by invoker ${resp}= Get Request Capif ... ${DISCOVER_URL}${register_user_info_invoker['api_invoker_id']}&aef-id=${aef_id_1} Loading @@ -714,47 +733,17 @@ Patch published (apiStatusMonitoring inactive) API with apiStatus aefId1 and aef ... verify=ca.crt ... username=${INVOKER_USERNAME} Check Response Variable Type And Values ${resp} 200 DiscoveredAPIs # # Check Results Dictionary Should Contain Key ${resp.json()} serviceAPIDescriptions Should Not Be Empty ${resp.json()['serviceAPIDescriptions']} Length Should Be ${resp.json()['serviceAPIDescriptions']} 1 List Should Contain Value ${resp.json()['serviceAPIDescriptions']} ${service_api_description_published} Dictionary Should Not Contain Key ${resp.json()} apiStatus # Update Request to published API ${aef_empty_list}= Create List ${service_api_description_patch}= Create Service Api Description Patch ... api_status=${aef_ids} ${resp}= Patch Request Capif ... ${resource_url.path} ... json=${service_api_description_patch} ... server=${CAPIF_HTTPS_URL} ... verify=ca.crt ... username=${APF_PROVIDER_USERNAME} ${service_api_to_check}= Copy Dictionary ${service_api_description_published} deepcopy=${True} ${api_status_expected}= Create dictionary aefIds=${aef_ids} Set To Dictionary ${service_api_to_check} apiStatus=${api_status_expected} Check Response Variable Type And Values ${resp} 200 ServiceAPIDescription ... apiName=service_1 Dictionary Should Not Contain Key ${resp.json()} apiStatus Dictionaries Should Be Equal ${resp.json()['apiStatus']} ${service_api_description_patch['apiStatus']} Check Response Variable Type And Values ... ${resp} ... 404 ... ProblemDetails ... title=Not Found ... status=404 ... detail=API Invoker ${register_user_info_invoker['api_invoker_id']} has no API Published that accomplish filter conditions ... cause=No API Published accomplish filter conditions # Check Event Notifications ## Create check Events to ensure all notifications were received ${service_api_available_resources}= Create List ${resource_url} ${events_expected}= Create Expected Events For Service API Notifications ... subscription_id=${subscription_id} ... service_api_available_resources=${service_api_available_resources} ... event_detail_expected=${TRUE} ... service_api_description_expected=${TRUE} ... service_api_description=${service_api_description_published} ${events_expected}= Create List Log List ${events_expected} ## Check Events Expected towards received notifications at mock server Wait Until Keyword Succeeds 5x 5s Check Mock Server Notification Events ${events_expected} Loading Loading @@ -864,6 +853,7 @@ Patch published without aefs available API with apiStatus only aef2 ... event_detail_expected=${TRUE} ... service_api_description_expected=${TRUE} ... service_api_description=${service_api_to_check} ... events_expected=${events_expected} Log List ${events_expected} ## Check Events Expected towards received notifications at mock server Wait Until Keyword Succeeds 5x 5s Check Mock Server Notification Events ${events_expected} Loading
tests/resources/common/basicRequests.robot +26 −1 Original line number Diff line number Diff line Loading @@ -785,7 +785,7 @@ Provider Default Registration RETURN ${register_user_info} Publish Service Api Publish Service Api Request [Arguments] ... ${register_user_info_provider} ... ${service_name}=service_1 Loading Loading @@ -833,6 +833,31 @@ Publish Service Api ... verify=ca.crt ... username=${apf_username_to_use} RETURN ${resp} ${request_body} Publish Service Api [Arguments] ... ${register_user_info_provider} ... ${service_name}=service_1 ... ${apf_id}=${NONE} ... ${apf_username}=${NONE} ... ${supported_features}=0 ... ${vendor_specific_service_api_description}=${None} ... ${vendor_specific_aef_profile}=${None} ... ${aef_id}=${NONE} ... ${api_status}=${NONE} ${resp} ${request_body}= Publish Service Api Request ... ${register_user_info_provider} ... ${service_name} ... ${apf_id} ... ${apf_username} ... ${supported_features} ... ${vendor_specific_service_api_description} ... ${vendor_specific_aef_profile} ... ${aef_id} ... ${api_status} Check Response Variable Type And Values ${resp} 201 ServiceAPIDescription Dictionary Should Contain Key ${resp.json()} apiId ${resource_url}= Check Location Header ${resp} ${LOCATION_PUBLISH_RESOURCE_REGEX} Loading