Commit 2f93190b authored by Jorge Moratinos's avatar Jorge Moratinos
Browse files

New test on api test suite

parent 408d7d6e
Loading
Loading
Loading
Loading
Loading
+47 −57
Original line number Diff line number Diff line
@@ -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
@@ -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
@@ -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}
@@ -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}
@@ -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}
@@ -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}
+26 −1
Original line number Diff line number Diff line
@@ -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
@@ -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}