Commit 3cf0a31b authored by Jorge Moratinos's avatar Jorge Moratinos
Browse files

Merge branch 'OCF122-test-plan-event-filter' into 'staging'

Ocf122 test plan event filter

See merge request !111
parents 34a4bbe7 36e14c52
Loading
Loading
Loading
Loading
Loading
+4 −22
Original line number Diff line number Diff line
@@ -238,14 +238,10 @@ Invoker subscribe to Service API Available and Unavailable events

    # Subscribe to events
    ${events_list}=    Create List    SERVICE_API_AVAILABLE    SERVICE_API_UNAVAILABLE
    ${aef_ids}=    Create List    ${register_user_info_provider['aef_id']}
    ${event_filter}=    Create Capif Event Filter    aefIds=${aef_ids}
    ${event_filters}=    Create List    ${event_filter}  ${event_filter}

    ${request_body}=    Create Events Subscription
    ...    events=@{events_list}
    ...    notification_destination=${NOTIFICATION_DESTINATION_URL}/testing
    # ...    event_filters=${event_filters}
    ...    supported_features=4
    ${resp}=    Post Request Capif
    ...    /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions
@@ -296,6 +292,7 @@ Invoker subscribe to Service API Update
    # Publish one api
    ${service_api_description_published}    ${resource_url}    ${request_body}=    Publish Service Api
    ...    ${register_user_info_provider}
    ${service_api_id_1}=    Set Variable    ${service_api_description_published['apiId']}

    # Register INVOKER
    ${register_user_info_invoker}    ${url}    ${request_body}=    Invoker Default Onboarding
@@ -310,14 +307,14 @@ Invoker subscribe to Service API Update

    # Subscribe to events
    ${events_list}=    Create List    SERVICE_API_UPDATE
    ${aef_ids}=    Create List    ${register_user_info_provider['aef_id']}
    ${event_filter}=    Create Capif Event Filter    aefIds=${aef_ids}
    ${api_ids}=    Create List    ${service_api_id_1}
    ${event_filter}=    Create Capif Event Filter    apiIds=${api_ids}
    ${event_filters}=    Create List    ${event_filter}

    ${request_body}=    Create Events Subscription
    ...    events=@{events_list}
    ...    notification_destination=${NOTIFICATION_DESTINATION_URL}/testing
    # ...    event_filters=${event_filters}
    ...    event_filters=${event_filters}
    ...    supported_features=4
    ${resp}=    Post Request Capif
    ...    /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions
@@ -713,14 +710,9 @@ Invoker receives Service API Invocation events without Enhanced Event Report

    # Subscribe to events
    ${events_list}=    Create List    SERVICE_API_INVOCATION_SUCCESS    SERVICE_API_INVOCATION_FAILURE
    ${aef_ids}=    Create List    ${register_user_info['aef_id']}
    ${event_filter}=    Create Capif Event Filter    aefIds=${aef_ids}
    ${event_filters}=    Create List    ${event_filter}  ${event_filter}

    ${request_body}=    Create Events Subscription
    ...    events=@{events_list}
    ...    notification_destination=${NOTIFICATION_DESTINATION_URL}/testing
    # ...    event_filters=${event_filters}
    ...    supported_features=0
    ${resp}=    Post Request Capif
    ...    /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions
@@ -787,14 +779,9 @@ Invoker subscribe to Service API Available and Unavailable events without Enhanc

    # Subscribe to events
    ${events_list}=    Create List    SERVICE_API_AVAILABLE    SERVICE_API_UNAVAILABLE
    ${aef_ids}=    Create List    ${register_user_info_provider['aef_id']}
    ${event_filter}=    Create Capif Event Filter    aefIds=${aef_ids}
    ${event_filters}=    Create List    ${event_filter}  ${event_filter}

    ${request_body}=    Create Events Subscription
    ...    events=@{events_list}
    ...    notification_destination=${NOTIFICATION_DESTINATION_URL}/testing
    # ...    event_filters=${event_filters}
    ...    supported_features=0
    ${resp}=    Post Request Capif
    ...    /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions
@@ -859,14 +846,9 @@ Invoker subscribe to Service API Update without Enhanced Event Report

    # Subscribe to events
    ${events_list}=    Create List    SERVICE_API_UPDATE
    ${aef_ids}=    Create List    ${register_user_info_provider['aef_id']}
    ${event_filter}=    Create Capif Event Filter    aefIds=${aef_ids}
    ${event_filters}=    Create List    ${event_filter}

    ${request_body}=    Create Events Subscription
    ...    events=@{events_list}
    ...    notification_destination=${NOTIFICATION_DESTINATION_URL}/testing
    # ...    event_filters=${event_filters}
    ...    supported_features=0
    ${resp}=    Post Request Capif
    ...    /capif-events/v1/${register_user_info_invoker['api_invoker_id']}/subscriptions
+42 −23
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ ${SUBSCRIPTION_ID_NOT_VALID} not-valid


*** Test Cases ***
Invoker subscrived to SERVICE_API_AVAILABLE, SERVICE_API_UNAVAILABLE and SERVICE_API_UPDATE events filtered by apiIds
Invoker subscribed to SERVICE_API_AVAILABLE, SERVICE_API_UNAVAILABLE and SERVICE_API_UPDATE events filtered by apiIds
    [Tags]    event_filter-1    mockserver

    # Initialize Mock server
@@ -251,20 +251,7 @@ Provider subscribed to API_INVOKER_ONBOARDED, API_INVOKER_OFFBOARDED and API_INV

    # Create Provider1 with 2 AEF roles and publish API
    ## Create Provider with 2 AEF roles
    ${register_user_info_provider_1}=    Provider Default Registration    total_aef_roles=2
    ${aef_id_1}=    Set Variable    ${register_user_info_provider_1['aef_roles']['${AEF_PROVIDER_USERNAME}']['aef_id']}
    ${aef_id_2}=    Set Variable
    ...    ${register_user_info_provider_1['aef_roles']['${AEF_PROVIDER_USERNAME}_1']['aef_id']}
    ${aef_ids}=    Create List    ${aef_id_1}    ${aef_id_2}
    ${aef_empty_list}=    Create List

    ## Publish service_1 API
    ${service_api_description_published}    ${resource_url}    ${request_body}=    Publish Service Api
    ...    ${register_user_info_provider_1}
    ...    service_1
    ...    aef_id=${aef_ids}
    ...    api_status=${aef_empty_list}
    ...    supported_features=020
    ${register_user_info_provider_1}=    Provider Default Registration

    # Event Subscription
    ## Event list
@@ -373,10 +360,7 @@ Provider subscribed to API_INVOKER_ONBOARDED, API_INVOKER_OFFBOARDED and API_INV
    Wait Until Keyword Succeeds    5x    5s    Check Mock Server Notification Events    ${events_expected}

Provider subscribed to API_INVOKER_ONBOARDED, API_INVOKER_OFFBOARDED and API_INVOKER_UPDATED events filtered by not valid filters
    [Tags]    event_filter-4    mockserver

    # Initialize Mock server
    Init Mock Server
    [Tags]    event_filter-4

    # Register APF
    ${register_user_info_provider_1}=    Provider Default Registration    total_aef_roles=2
@@ -595,9 +579,6 @@ Provider subscribed to ACCESS_CONTROL_POLICY_UPDATE event filtered by only apiId
Provider subscribed to ACCESS_CONTROL_POLICY_UPDATE event filtered by aefId
    [Tags]    event_filter-6

    # Initialize Mock server
    Init Mock Server

    # Create Provider
    ## Default Provider 1 Registration
    ${register_user_info_provider_1}=    Provider Default Registration    provider_username=${PROVIDER_USERNAME}_1
@@ -844,6 +825,38 @@ Provider subscribed to SERVICE_API_INVOCATION_SUCCESS and SERVICE_API_INVOCATION
    ## Check Events Expected towards received notifications at mock server
    Wait Until Keyword Succeeds    5x    5s    Check Mock Server Notification Events    ${events_expected}

Event Filter present with Enhanced_event_report feature not active
    [Tags]    event_filter-8    smoke

    # Default Invoker Registration and Onboarding
    ${register_user_info_invoker}    ${url}    ${request_body}=    Invoker Default Onboarding

    # Event Subscription
    ## Events list
    ${events_list}=    Create List    SERVICE_API_AVAILABLE    SERVICE_API_UNAVAILABLE    SERVICE_API_UPDATE

    ## Event filters
    ${event_filter_empty}=    Create Capif Event Filter

    ## Subscription to Events filtering by aefIds SERVICE_API_AVAILABLE event
    ${event_filters}=    Create List    ${event_filter_empty}    ${event_filter_empty}    ${event_filter_empty}
    ${resp}=    Subscribe Events    ${register_user_info_invoker['api_invoker_id']}    ${register_user_info_invoker['management_cert']}    ${events_list}    ${event_filters}    0

    ### Check Error Response
    ${invalid_param}=    Create Dictionary
    ...    param=eventFilters
    ...    reason=EnhancedEventReport is not enabled
    ${invalid_param_list}=    Create List    ${invalid_param}
    Check Response Variable Type And Values
    ...    ${resp}
    ...    400
    ...    ProblemDetails
    ...    title=Bad Request
    ...    status=400
    ...    detail=Bad Param
    ...    cause=Event filters provided but EnhancedEventReport is not enabled
    ...    invalidParams=${invalid_param_list}


*** Keywords ***
Create Security Context between ${invoker_info} and ${provider_info}
@@ -959,10 +972,16 @@ Subscribe invoker ${invoker_info} to events ${events_list} with event filters ${
    RETURN    ${subscription_id}

Subscribe ${subscriber_id} with ${username} to ${events_list} with ${event_filters}
    ${supported_features}=    Set Variable    C
    ${resp}=   Subscribe Events    ${subscriber_id}    ${username}    ${events_list}    ${event_filters}    ${supported_features}
    RETURN   ${resp}

Subscribe Events
    [Arguments]    ${subscriber_id}    ${username}    ${events_list}    ${event_filters}=${NONE}    ${supported_features}=0
    ${request_body}=    Create Events Subscription
    ...    events=@{events_list}
    ...    notification_destination=${NOTIFICATION_DESTINATION_URL}/testing
    ...    supported_features=C
    ...    supported_features=${supported_features}
    ...    event_filters=${event_filters}
    ${resp}=    Post Request Capif
    ...    /capif-events/v1/${subscriber_id}/subscriptions
+4 −1
Original line number Diff line number Diff line
@@ -25,3 +25,6 @@ class InterruptListener:


INTERRUPT_LISTENER=InterruptListener()

def hello_world():
    print("Hello, world!")
 No newline at end of file