Draft: [REVIEW NEEDED] Resolve "Create Helper Basic Testplan"

Proposers

  • Miguel Ángel Adorna (Telefonica)

Description

This MR adds tests for helper service, in the /getInvokers and the /getProviders endpoints

Acknowledgements

This work is funded by the European Commission through the HORIZON-JU-SNS-2022 FIDAL project with Grant Agreement number 101096146.

Closes #181

Merge request reports

Loading
+945 −0
Changes for tests/features/Helper/helper.robot: 945 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ Resource /opt/robot-tests/tests/resources/common.resource
Library             /opt/robot-tests/tests/libraries/bodyRequests.py
Library             XML
Library             String
Library             DateTime
Resource            /opt/robot-tests/tests/resources/common/basicRequests.robot
Resource            ../../resources/common.resource
Resource            ../../resources/common/basicRequests.robot
@@ -27,3 +28,947 @@ Obtain ccfId
    Log    CCF ID obtained: ${ccfId}
    Should Match Regexp    ${ccfId}    ^CCF[a-zA-Z0-9]+

Register invokers and filter by user uuid
    [Tags]    helper_2
    # Register Network App
    ${register_user_infos}=    Create List
    ${created_invokers_per_user}=    Create Dictionary
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth
        ...    username=${INVOKER_USERNAME}_${i}    role=${INVOKER_ROLE}
        Append To List    ${register_user_infos}    ${register_user_info}
        
        # Send Onboarding Request
        ${request_body}=    Create Onboarding Notification Body
        ...    http://${CAPIF_CALLBACK_IP}:${CAPIF_CALLBACK_PORT}/netapp_callback
        ...    ${register_user_info['csr_request']}
        ...    ${INVOKER_USERNAME}_${i}
        ...    invoker_${i}_0
        ${resp}=    Post Request Capif
        ...    ${register_user_info['ccf_onboarding_url']}
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIInvokerEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${INVOKER_USERNAME}_${i}
        Check Location Header    ${resp}    ${LOCATION_INVOKER_RESOURCE_REGEX}
        # Store dummy signed certificate
        Store In File    ${INVOKER_USERNAME}_${i}.crt    ${resp.json()['onboardingInformation']['apiInvokerCertificate']}
        Set To Dictionary    ${created_invokers_per_user}    ${register_user_info['uuid']}    1
    END

    FOR    ${user_info}    IN    @{register_user_infos}

        ${uuid}=    Set Variable    ${user_info['uuid']}

        ${resp}=    Get Request Capif
        ...    /helper/api/getInvokers
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    params=uuid=${uuid}
        ...    username=${SUPERADMIN_USERNAME}
        ...    access_token=${user_info['access_token']}

        # Check Results
        Check Response Variable Type And Values    ${resp}    200    InvokersResponse

        Length Should Be    ${resp.json()['invokers']}    ${created_invokers_per_user['${uuid}']}
        FOR    ${invoker}    IN    @{resp.json()['invokers']}
            Should Be Equal    ${invoker['uuid']}    ${uuid}
        END
    END

Register invokers and filter by invalid user uuid
    [Tags]    helper_3
    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth
        ...    username=${INVOKER_USERNAME}_${i}    role=${INVOKER_ROLE}
        Append To List    ${register_user_infos}    ${register_user_info}
        
        # Send Onboarding Request
        ${request_body}=    Create Onboarding Notification Body
        ...    http://${CAPIF_CALLBACK_IP}:${CAPIF_CALLBACK_PORT}/netapp_callback
        ...    ${register_user_info['csr_request']}
        ...    ${INVOKER_USERNAME}_${i}
        ...    invoker_${i}_0
        ${resp}=    Post Request Capif
        ...    ${register_user_info['ccf_onboarding_url']}
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIInvokerEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${INVOKER_USERNAME}_${i}
        Check Location Header    ${resp}    ${LOCATION_INVOKER_RESOURCE_REGEX}
        # Store dummy signed certificate
        Store In File    ${INVOKER_USERNAME}_${i}.crt    ${resp.json()['onboardingInformation']['apiInvokerCertificate']}
    END

    ${resp}=    Get Request Capif
    ...    /helper/api/getInvokers
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=uuid=an_invalid_uuid
    ...    username=${SUPERADMIN_USERNAME}
    ...    access_token=${register_user_infos[0]['access_token']}

    # Check Results
    Check Response Variable Type And Values    ${resp}    200    InvokersResponse

    Length Should Be    ${resp.json()['invokers']}    0

Register invokers and filter by invoker id
    [Tags]    helper_4
    # Register Network App
    ${register_user_infos}=    Create List
    ${invoker_ids}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth
        ...    username=${INVOKER_USERNAME}_${i}    role=${INVOKER_ROLE}
        Append To List    ${register_user_infos}    ${register_user_info}
        
        # Send Onboarding Request
        ${request_body}=    Create Onboarding Notification Body
        ...    http://${CAPIF_CALLBACK_IP}:${CAPIF_CALLBACK_PORT}/netapp_callback
        ...    ${register_user_info['csr_request']}
        ...    ${INVOKER_USERNAME}_${i}
        ...    invoker_${i}_0
        ${resp}=    Post Request Capif
        ...    ${register_user_info['ccf_onboarding_url']}
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${INVOKER_USERNAME}_${i}
        Check Location Header    ${resp}    ${LOCATION_INVOKER_RESOURCE_REGEX}
        # Store dummy signed certificate
        Store In File    ${INVOKER_USERNAME}_${i}.crt    ${resp.json()['onboardingInformation']['apiInvokerCertificate']}
        Check Response Variable Type And Values    ${resp}    201    APIInvokerEnrolmentDetails
        Append To List    ${invoker_ids}    ${resp.json()['apiInvokerId']}
    END

    FOR    ${invoker_id}    IN    @{invoker_ids}

        ${resp}=    Get Request Capif
        ...    /helper/api/getInvokers
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    params=api_invoker_id=${invoker_id}
        ...    username=${SUPERADMIN_USERNAME}
        ...    access_token=${register_user_infos[0]['access_token']}

        # Check Results
        Check Response Variable Type And Values    ${resp}    200    InvokersResponse
        Length Should Be    ${resp.json()['invokers']}    1
        Should Be Equal    ${resp.json()['invokers'][0]['api_invoker_id']}    ${invoker_id}
    END

Register invokers and filter by invalid invoker id
    [Tags]    helper_5
    # Register Network App
    ${register_user_infos}=    Create List
    ${invoker_ids}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth
        ...    username=${INVOKER_USERNAME}_${i}    role=${INVOKER_ROLE}
        Append To List    ${register_user_infos}    ${register_user_info}
        
        # Send Onboarding Request
        ${request_body}=    Create Onboarding Notification Body
        ...    http://${CAPIF_CALLBACK_IP}:${CAPIF_CALLBACK_PORT}/netapp_callback
        ...    ${register_user_info['csr_request']}
        ...    ${INVOKER_USERNAME}_${i}
        ...    invoker_${i}_0
        ${resp}=    Post Request Capif
        ...    ${register_user_info['ccf_onboarding_url']}
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${INVOKER_USERNAME}_${i}
        Check Location Header    ${resp}    ${LOCATION_INVOKER_RESOURCE_REGEX}
        # Store dummy signed certificate
        Store In File    ${INVOKER_USERNAME}_${i}.crt    ${resp.json()['onboardingInformation']['apiInvokerCertificate']}
        Check Response Variable Type And Values    ${resp}    201    APIInvokerEnrolmentDetails
        Append To List    ${invoker_ids}    ${resp.json()['apiInvokerId']}
    END

    ${resp}=    Get Request Capif
    ...    /helper/api/getInvokers
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=api_invoker_id=invalid_invoker_id
    ...    username=${SUPERADMIN_USERNAME}
    ...    access_token=${register_user_infos[0]['access_token']}

    # Check Results
    Check Response Variable Type And Values    ${resp}    200    InvokersResponse
    Length Should Be    ${resp.json()['invokers']}    0

Register invokers and request using pagination
    [Tags]    helper_6

    # Register Network App
    ${register_user_infos}=    Create List
    ${all_invoker_ids}=    Create List
    FOR    ${i}    IN RANGE    30
        ${register_user_info}=    Register User At Jwt Auth
        ...    username=${INVOKER_USERNAME}_${i}    role=${INVOKER_ROLE}
        Append To List    ${register_user_infos}    ${register_user_info}
        
        # Send Onboarding Request
        ${request_body}=    Create Onboarding Notification Body
        ...    http://${CAPIF_CALLBACK_IP}:${CAPIF_CALLBACK_PORT}/netapp_callback
        ...    ${register_user_info['csr_request']}
        ...    ${INVOKER_USERNAME}_${i}
        ...    invoker_${i}_0
        ${resp}=    Post Request Capif
        ...    ${register_user_info['ccf_onboarding_url']}
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}

        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIInvokerEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${INVOKER_USERNAME}_${i}
        Check Location Header    ${resp}    ${LOCATION_INVOKER_RESOURCE_REGEX}
        # Store dummy signed certificate
        Store In File    ${INVOKER_USERNAME}_${i}.crt    ${resp.json()['onboardingInformation']['apiInvokerCertificate']}
        Append To List    ${all_invoker_ids}    ${resp.json()['apiInvokerId']}
    END

    ${resp}=    Get Request Capif
    ...    /helper/api/getInvokers
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=page_size=2&page=1
    ...    username=${SUPERADMIN_USERNAME}

    # Check Results
    Check Response Variable Type And Values    ${resp}    200    InvokersResponse
    Length Should Be    ${resp.json()['invokers']}    2

    ${invoker_ids_retrieved}=    Create List
    FOR    ${i}    IN RANGE    ${resp.json()['totalPages']}
        ${resp}=    Get Request Capif
        ...    /helper/api/getInvokers
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    params=page_size=2&page=${i+1}
        ...    username=${SUPERADMIN_USERNAME}

        # Check Results
        Check Response Variable Type And Values    ${resp}    200    InvokersResponse
        Length Should Be    ${resp.json()['invokers']}    2
        FOR    ${invoker}    IN    @{resp.json()['invokers']}
            Append To List    ${invoker_ids_retrieved}    ${invoker['api_invoker_id']}
        END
    END

    Sort List    ${all_invoker_ids}
    Sort List    ${invoker_ids_retrieved}
    Should Be Equal    ${all_invoker_ids}    ${invoker_ids_retrieved}

Register invokers and request using invalid pagination
    [Tags]    helper_7
    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    30
        ${register_user_info}=    Register User At Jwt Auth
        ...    username=${INVOKER_USERNAME}_${i}    role=${INVOKER_ROLE}
        Append To List    ${register_user_infos}    ${register_user_info}
        
        # Send Onboarding Request
        ${request_body}=    Create Onboarding Notification Body
        ...    http://${CAPIF_CALLBACK_IP}:${CAPIF_CALLBACK_PORT}/netapp_callback
        ...    ${register_user_info['csr_request']}
        ...    ${INVOKER_USERNAME}_${i}
        ...    invoker_${i}_0
        ${resp}=    Post Request Capif
        ...    ${register_user_info['ccf_onboarding_url']}
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIInvokerEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${INVOKER_USERNAME}_${i}
        Check Location Header    ${resp}    ${LOCATION_INVOKER_RESOURCE_REGEX}
        # Store dummy signed certificate
        Store In File    ${INVOKER_USERNAME}_${i}.crt    ${resp.json()['onboardingInformation']['apiInvokerCertificate']}
    END
    Log    ${register_user_infos}

    ${resp}=    Get Request Capif
    ...    /helper/api/getInvokers
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=page_size=-1
    ...    username=${SUPERADMIN_USERNAME}

    # Check Results
    Should Be Equal As Integers    ${resp.status_code}    400
    Should Be Equal    ${resp.json()['message']}    The value of the page_size parameter must be greater than 0

Register invokers and filter by sort_order
    [Tags]    helper_8
    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth
        ...    username=${INVOKER_USERNAME}_${i}    role=${INVOKER_ROLE}
        Append To List    ${register_user_infos}    ${register_user_info}
        
        # Send Onboarding Request
        ${request_body}=    Create Onboarding Notification Body
        ...    http://${CAPIF_CALLBACK_IP}:${CAPIF_CALLBACK_PORT}/netapp_callback
        ...    ${register_user_info['csr_request']}
        ...    ${INVOKER_USERNAME}_${i}
        ...    invoker_${i}_0
        ${resp}=    Post Request Capif
        ...    ${register_user_info['ccf_onboarding_url']}
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIInvokerEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${INVOKER_USERNAME}_${i}
        Check Location Header    ${resp}    ${LOCATION_INVOKER_RESOURCE_REGEX}
        # Store dummy signed certificate
        Store In File    ${INVOKER_USERNAME}_${i}.crt    ${resp.json()['onboardingInformation']['apiInvokerCertificate']}
    END

    FOR    ${order}    IN    asc    desc
        ${resp}=    Get Request Capif
        ...    /helper/api/getInvokers
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    params=sort_order=${order}
        ...    username=${SUPERADMIN_USERNAME}

        # Check Results
        Check Response Variable Type And Values    ${resp}    200    InvokersResponse

        ${total_users}=   Get Length    ${register_user_infos}
        ${expected_total_invokers}=    Evaluate    ${total_users} * 1
        Length Should Be    ${resp.json()['invokers']}    ${expected_total_invokers}
        ${timestamps}=    Create List
        FOR    ${invoker}    IN    @{resp.json()['invokers']}
            Log    Invoker onboarding date: ${invoker['onboarding_date']}
            ${timestamp}=    Convert Date    ${invoker['onboarding_date']}
            ...    date_format=%Y-%m-%dT%H:%M:%S.%f%z  
            ...    result_format=timestamp
            Append To List    ${timestamps}    ${timestamp}
        END
        IF    '${order}' == 'asc'
            ${expected_sorted_timestamps}=    Evaluate    sorted(${timestamps})
        ELSE
            ${expected_sorted_timestamps}=    Evaluate    sorted(${timestamps}, reverse=True)
        END
        Should Be Equal    ${timestamps}    ${expected_sorted_timestamps}
        Should Be Equal    ${resp.json()['sortOrder']}    ${order}
        Should Be Equal    ${resp.json()['total']}    ${expected_total_invokers}
    END

Register invokers and filter by invalid sort_order
    [Tags]    helper_9
    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth
        ...    username=${INVOKER_USERNAME}_${i}    role=${INVOKER_ROLE}
        Append To List    ${register_user_infos}    ${register_user_info}
        
        # Send Onboarding Request
        ${request_body}=    Create Onboarding Notification Body
        ...    http://${CAPIF_CALLBACK_IP}:${CAPIF_CALLBACK_PORT}/netapp_callback
        ...    ${register_user_info['csr_request']}
        ...    ${INVOKER_USERNAME}_${i}
        ...    invoker_${i}_0
        ${resp}=    Post Request Capif
        ...    ${register_user_info['ccf_onboarding_url']}
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIInvokerEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${INVOKER_USERNAME}_${i}
        Check Location Header    ${resp}    ${LOCATION_INVOKER_RESOURCE_REGEX}
        # Store dummy signed certificate
        Store In File    ${INVOKER_USERNAME}_${i}.crt    ${resp.json()['onboardingInformation']['apiInvokerCertificate']}
    END

    ${resp}=    Get Request Capif
    ...    /helper/api/getInvokers
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=sort_order=invalid_order
    ...    username=${SUPERADMIN_USERNAME}

    # Check Results
    Check Response Variable Type And Values    ${resp}    200    InvokersResponse

    ${total_users}=   Get Length    ${register_user_infos}
    ${expected_total_invokers}=    Evaluate    ${total_users} * 1
    Length Should Be    ${resp.json()['invokers']}    ${expected_total_invokers}
    ${timestamps}=    Create List
    FOR    ${invoker}    IN    @{resp.json()['invokers']}
        Log    Invoker onboarding date: ${invoker['onboarding_date']}
        ${timestamp}=    Convert Date    ${invoker['onboarding_date']}
        ...    date_format=%Y-%m-%dT%H:%M:%S.%f%z  
        ...    result_format=timestamp
        Append To List    ${timestamps}    ${timestamp}
    END
    ${expected_sorted_timestamps}=    Evaluate    sorted(${timestamps})
    Should Be Equal    ${timestamps}    ${expected_sorted_timestamps}
    Should Be Equal    ${resp.json()['total']}    ${expected_total_invokers}

######################################

Register providers and filter by user uuid
    [Tags]    helper_10
    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth Provider
        ...    username=${PROVIDER_USERNAME}_${i}
        Append To List    ${register_user_infos}    ${register_user_info}

        # Create provider Registration Body
        ${apf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['apf_username']}
        ...    ${register_user_info['apf_csr_request']}
        ...    APF
        ${aef_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['aef_username']}
        ...    ${register_user_info['aef_csr_request']}
        ...    AEF
        ${amf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['amf_username']}
        ...    ${register_user_info['amf_csr_request']}
        ...    AMF
        ${api_prov_funcs}=    Create List    ${apf_func_details}    ${aef_func_details}    ${amf_func_details}

        # Send Onboarding Request
        ${request_body}=    Create Api Provider Enrolment Details Body
        ...    ${register_user_info['access_token']}
        ...    ${api_prov_funcs}

        ${resp}=    Post Request Capif
        ...    /api-provider-management/v1/registrations
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIProviderEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${register_user_info['amf_username']}
        Check Location Header    ${resp}    ${LOCATION_PROVIDER_RESOURCE_REGEX}

        FOR    ${prov}    IN    @{resp.json()['apiProvFuncs']}
            Store In File    ${prov['apiProvFuncInfo']}.crt    ${prov['regInfo']['apiProvCert']}
        END
    END

    FOR    ${user_info}    IN    @{register_user_infos}
        ${uuid}=    Set Variable    ${user_info['uuid']}

        ${resp}=    Get Request Capif
        ...    /helper/api/getProviders
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    params=uuid=${uuid}
        ...    username=${SUPERADMIN_USERNAME}

        # Check Results
        Check Response Variable Type And Values    ${resp}    200    ProvidersResponse

        Length Should Be    ${resp.json()['providers']}    1
        Should Be Equal    ${resp.json()['providers'][0]['uuid']}    ${uuid}
    END

Register providers and filter by invalid user uuid
    [Tags]    helper_11
    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth Provider
        ...    username=${PROVIDER_USERNAME}_${i}
        Append To List    ${register_user_infos}    ${register_user_info}

        # Create provider Registration Body
        ${apf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['apf_username']}
        ...    ${register_user_info['apf_csr_request']}
        ...    APF
        ${aef_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['aef_username']}
        ...    ${register_user_info['aef_csr_request']}
        ...    AEF
        ${amf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['amf_username']}
        ...    ${register_user_info['amf_csr_request']}
        ...    AMF
        ${api_prov_funcs}=    Create List    ${apf_func_details}    ${aef_func_details}    ${amf_func_details}

        # Send Onboarding Request
        ${request_body}=    Create Api Provider Enrolment Details Body
        ...    ${register_user_info['access_token']}
        ...    ${api_prov_funcs}

        ${resp}=    Post Request Capif
        ...    /api-provider-management/v1/registrations
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIProviderEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${register_user_info['amf_username']}
        Check Location Header    ${resp}    ${LOCATION_PROVIDER_RESOURCE_REGEX}

        FOR    ${prov}    IN    @{resp.json()['apiProvFuncs']}
            Store In File    ${prov['apiProvFuncInfo']}.crt    ${prov['regInfo']['apiProvCert']}
        END
    END

    ${resp}=    Get Request Capif
    ...    /helper/api/getProviders
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=uuid=invalid_uuid
    ...    username=${SUPERADMIN_USERNAME}

    # Check Results
    Check Response Variable Type And Values    ${resp}    200    ProvidersResponse

    Length Should Be    ${resp.json()['providers']}    0

Register providers and filter by provider id
    [Tags]    helper_12
    # Register Network App
    ${register_user_infos}=    Create List
    ${provider_ids}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth Provider
        ...    username=${PROVIDER_USERNAME}_${i}
        Append To List    ${register_user_infos}    ${register_user_info}

        # Create provider Registration Body
        ${apf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['apf_username']}
        ...    ${register_user_info['apf_csr_request']}
        ...    APF
        ${aef_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['aef_username']}
        ...    ${register_user_info['aef_csr_request']}
        ...    AEF
        ${amf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['amf_username']}
        ...    ${register_user_info['amf_csr_request']}
        ...    AMF
        ${api_prov_funcs}=    Create List    ${apf_func_details}    ${aef_func_details}    ${amf_func_details}

        # Send Onboarding Request
        ${request_body}=    Create Api Provider Enrolment Details Body
        ...    ${register_user_info['access_token']}
        ...    ${api_prov_funcs}

        ${resp}=    Post Request Capif
        ...    /api-provider-management/v1/registrations
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIProviderEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${register_user_info['amf_username']}
        Check Location Header    ${resp}    ${LOCATION_PROVIDER_RESOURCE_REGEX}

        FOR    ${prov}    IN    @{resp.json()['apiProvFuncs']}
            Store In File    ${prov['apiProvFuncInfo']}.crt    ${prov['regInfo']['apiProvCert']}
        END
        Append To List    ${provider_ids}    ${resp.json()['apiProvDomId']}
    END

    FOR    ${provider_id}    IN    @{provider_ids}
        ${resp}=    Get Request Capif
        ...    /helper/api/getProviders
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    params=api_prov_dom_id=${provider_id}
        ...    username=${SUPERADMIN_USERNAME}

        # Check Results
        Check Response Variable Type And Values    ${resp}    200    ProvidersResponse

        Length Should Be    ${resp.json()['providers']}    1
        Should Be Equal    ${resp.json()['providers'][0]['api_prov_dom_id']}    ${provider_id}
    END

Register providers and filter by invalid provider id
    [Tags]    helper_13
    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth Provider
        ...    username=${PROVIDER_USERNAME}_${i}
        Append To List    ${register_user_infos}    ${register_user_info}

        # Create provider Registration Body
        ${apf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['apf_username']}
        ...    ${register_user_info['apf_csr_request']}
        ...    APF
        ${aef_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['aef_username']}
        ...    ${register_user_info['aef_csr_request']}
        ...    AEF
        ${amf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['amf_username']}
        ...    ${register_user_info['amf_csr_request']}
        ...    AMF
        ${api_prov_funcs}=    Create List    ${apf_func_details}    ${aef_func_details}    ${amf_func_details}

        # Send Onboarding Request
        ${request_body}=    Create Api Provider Enrolment Details Body
        ...    ${register_user_info['access_token']}
        ...    ${api_prov_funcs}

        ${resp}=    Post Request Capif
        ...    /api-provider-management/v1/registrations
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIProviderEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${register_user_info['amf_username']}
        Check Location Header    ${resp}    ${LOCATION_PROVIDER_RESOURCE_REGEX}

        FOR    ${prov}    IN    @{resp.json()['apiProvFuncs']}
            Store In File    ${prov['apiProvFuncInfo']}.crt    ${prov['regInfo']['apiProvCert']}
        END
    END


    ${resp}=    Get Request Capif
    ...    /helper/api/getProviders
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=api_prov_dom_id=invalid_provider_id
    ...    username=${SUPERADMIN_USERNAME}

    # Check Results
    Check Response Variable Type And Values    ${resp}    200    ProvidersResponse
    Length Should Be    ${resp.json()['providers']}    0

Register providers and request using pagination
    [Tags]    helper_14

    # Register Network App
    ${register_user_infos}=    Create List
    ${all_provider_ids}=    Create List
    FOR    ${i}    IN RANGE    30
        ${register_user_info}=    Register User At Jwt Auth Provider
        ...    username=${PROVIDER_USERNAME}_${i}
        Append To List    ${register_user_infos}    ${register_user_info}

        # Create provider Registration Body
        ${apf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['apf_username']}
        ...    ${register_user_info['apf_csr_request']}
        ...    APF
        ${aef_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['aef_username']}
        ...    ${register_user_info['aef_csr_request']}
        ...    AEF
        ${amf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['amf_username']}
        ...    ${register_user_info['amf_csr_request']}
        ...    AMF
        ${api_prov_funcs}=    Create List    ${apf_func_details}    ${aef_func_details}    ${amf_func_details}

        # Send Onboarding Request
        ${request_body}=    Create Api Provider Enrolment Details Body
        ...    ${register_user_info['access_token']}
        ...    ${api_prov_funcs}

        ${resp}=    Post Request Capif
        ...    /api-provider-management/v1/registrations
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIProviderEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${register_user_info['amf_username']}
        Check Location Header    ${resp}    ${LOCATION_PROVIDER_RESOURCE_REGEX}

        FOR    ${prov}    IN    @{resp.json()['apiProvFuncs']}
            Store In File    ${prov['apiProvFuncInfo']}.crt    ${prov['regInfo']['apiProvCert']}
        END
        Append To List    ${all_provider_ids}    ${resp.json()['apiProvDomId']}
    END

    ${resp}=    Get Request Capif
    ...    /helper/api/getProviders
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=page_size=2&page=1
    ...    username=${SUPERADMIN_USERNAME}

    # Check Results
    Check Response Variable Type And Values    ${resp}    200    ProvidersResponse
    Length Should Be    ${resp.json()['providers']}    2

    ${provider_ids_retrieved}=    Create List
    FOR    ${i}    IN RANGE    ${resp.json()['totalPages']}
        ${resp}=    Get Request Capif
        ...    /helper/api/getProviders
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    params=page_size=2&page=${i+1}
        ...    username=${SUPERADMIN_USERNAME}

        # Check Results
        Check Response Variable Type And Values    ${resp}    200    ProvidersResponse
        Length Should Be    ${resp.json()['providers']}    2
        FOR    ${provider}    IN    @{resp.json()['providers']}
            Append To List    ${provider_ids_retrieved}    ${provider['api_prov_dom_id']}
        END
    END

    Sort List    ${all_provider_ids}
    Sort List    ${provider_ids_retrieved}
    Should Be Equal    ${all_provider_ids}    ${provider_ids_retrieved}

Register providers and request using invalid pagination
    [Tags]    helper_15

    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    30
        ${register_user_info}=    Register User At Jwt Auth Provider
        ...    username=${PROVIDER_USERNAME}_${i}
        Append To List    ${register_user_infos}    ${register_user_info}

        # Create provider Registration Body
        ${apf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['apf_username']}
        ...    ${register_user_info['apf_csr_request']}
        ...    APF
        ${aef_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['aef_username']}
        ...    ${register_user_info['aef_csr_request']}
        ...    AEF
        ${amf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['amf_username']}
        ...    ${register_user_info['amf_csr_request']}
        ...    AMF
        ${api_prov_funcs}=    Create List    ${apf_func_details}    ${aef_func_details}    ${amf_func_details}

        # Send Onboarding Request
        ${request_body}=    Create Api Provider Enrolment Details Body
        ...    ${register_user_info['access_token']}
        ...    ${api_prov_funcs}

        ${resp}=    Post Request Capif
        ...    /api-provider-management/v1/registrations
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIProviderEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${register_user_info['amf_username']}
        Check Location Header    ${resp}    ${LOCATION_PROVIDER_RESOURCE_REGEX}

        FOR    ${prov}    IN    @{resp.json()['apiProvFuncs']}
            Store In File    ${prov['apiProvFuncInfo']}.crt    ${prov['regInfo']['apiProvCert']}
        END
    END

    ${resp}=    Get Request Capif
    ...    /helper/api/getProviders
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=page_size=-1&page=1
    ...    username=${SUPERADMIN_USERNAME}

    # Check Results
    Should Be Equal As Integers    ${resp.status_code}    400
    Should Be Equal    ${resp.json()['message']}    The value of the page_size parameter must be greater than 0

Register providers and filter by sort_order
    [Tags]    helper_16
    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    30
        ${register_user_info}=    Register User At Jwt Auth Provider
        ...    username=${PROVIDER_USERNAME}_${i}
        Append To List    ${register_user_infos}    ${register_user_info}

        # Create provider Registration Body
        ${apf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['apf_username']}
        ...    ${register_user_info['apf_csr_request']}
        ...    APF
        ${aef_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['aef_username']}
        ...    ${register_user_info['aef_csr_request']}
        ...    AEF
        ${amf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['amf_username']}
        ...    ${register_user_info['amf_csr_request']}
        ...    AMF
        ${api_prov_funcs}=    Create List    ${apf_func_details}    ${aef_func_details}    ${amf_func_details}

        # Send Onboarding Request
        ${request_body}=    Create Api Provider Enrolment Details Body
        ...    ${register_user_info['access_token']}
        ...    ${api_prov_funcs}

        ${resp}=    Post Request Capif
        ...    /api-provider-management/v1/registrations
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIProviderEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${register_user_info['amf_username']}
        Check Location Header    ${resp}    ${LOCATION_PROVIDER_RESOURCE_REGEX}

        FOR    ${prov}    IN    @{resp.json()['apiProvFuncs']}
            Store In File    ${prov['apiProvFuncInfo']}.crt    ${prov['regInfo']['apiProvCert']}
        END
    END

    FOR    ${order}    IN    asc    desc
        ${resp}=    Get Request Capif
        ...    /helper/api/getProviders
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    params=sort_order=${order}
        ...    username=${SUPERADMIN_USERNAME}

        # Check Results
        Check Response Variable Type And Values    ${resp}    200    ProvidersResponse

        ${total_users}=   Get Length    ${register_user_infos}
        ${expected_total_providers}=    Evaluate    ${total_users} * 1
        Length Should Be    ${resp.json()['providers']}    ${expected_total_providers}
        ${timestamps}=    Create List
        FOR    ${provider}    IN    @{resp.json()['providers']}
            Log    Provider onboarding date: ${provider['onboarding_date']}
            ${timestamp}=    Convert Date    ${provider['onboarding_date']}
            ...    date_format=%Y-%m-%dT%H:%M:%S.%f%z  
            ...    result_format=timestamp
            Append To List    ${timestamps}    ${timestamp}
        END
        IF    '${order}' == 'asc'
            ${expected_sorted_timestamps}=    Evaluate    sorted(${timestamps})
        ELSE
            ${expected_sorted_timestamps}=    Evaluate    sorted(${timestamps}, reverse=True)
        END
        Should Be Equal    ${timestamps}    ${expected_sorted_timestamps}
        Should Be Equal    ${resp.json()['sortOrder']}    ${order}
        Should Be Equal    ${resp.json()['total']}    ${expected_total_providers}
    END

Register providers and filter by invalid sort_order
    [Tags]    helper_17
    # Register Network App
    ${register_user_infos}=    Create List
    FOR    ${i}    IN RANGE    5
        ${register_user_info}=    Register User At Jwt Auth Provider
        ...    username=${PROVIDER_USERNAME}_${i}
        Append To List    ${register_user_infos}    ${register_user_info}

        # Create provider Registration Body
        ${apf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['apf_username']}
        ...    ${register_user_info['apf_csr_request']}
        ...    APF
        ${aef_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['aef_username']}
        ...    ${register_user_info['aef_csr_request']}
        ...    AEF
        ${amf_func_details}=    Create Api Provider Function Details
        ...    ${register_user_info['amf_username']}
        ...    ${register_user_info['amf_csr_request']}
        ...    AMF
        ${api_prov_funcs}=    Create List    ${apf_func_details}    ${aef_func_details}    ${amf_func_details}

        # Send Onboarding Request
        ${request_body}=    Create Api Provider Enrolment Details Body
        ...    ${register_user_info['access_token']}
        ...    ${api_prov_funcs}

        ${resp}=    Post Request Capif
        ...    /api-provider-management/v1/registrations
        ...    json=${request_body}
        ...    server=${CAPIF_HTTPS_URL}
        ...    verify=ca.crt
        ...    access_token=${register_user_info['access_token']}
        # Check Results
        Check Response Variable Type And Values    ${resp}    201    APIProviderEnrolmentDetails
        ${url}=    Parse Url    ${resp.headers['Location']}
        Call Method    ${CAPIF_USERS}    update_capif_users_dicts    ${url.path}    ${register_user_info['amf_username']}
        Check Location Header    ${resp}    ${LOCATION_PROVIDER_RESOURCE_REGEX}

        FOR    ${prov}    IN    @{resp.json()['apiProvFuncs']}
            Store In File    ${prov['apiProvFuncInfo']}.crt    ${prov['regInfo']['apiProvCert']}
        END
    END

    ${resp}=    Get Request Capif
    ...    /helper/api/getProviders
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    params=sort_order=invalid_order
    ...    username=${SUPERADMIN_USERNAME}

    # Check Results
    Check Response Variable Type And Values    ${resp}    200    ProvidersResponse

    ${total_users}=   Get Length    ${register_user_infos}
    ${expected_total_providers}=    Evaluate    ${total_users} * 1
    Length Should Be    ${resp.json()['providers']}    ${expected_total_providers}
    ${timestamps}=    Create List
    FOR    ${provider}    IN    @{resp.json()['providers']}
        Log    Provider onboarding date: ${provider['onboarding_date']}
        ${timestamp}=    Convert Date    ${provider['onboarding_date']}
        ...    date_format=%Y-%m-%dT%H:%M:%S.%f%z  
        ...    result_format=timestamp
        Append To List    ${timestamps}    ${timestamp}
    END
    ${expected_sorted_timestamps}=    Evaluate    sorted(${timestamps})
    Should Be Equal    ${timestamps}    ${expected_sorted_timestamps}
    Should Be Equal    ${resp.json()['total']}    ${expected_total_providers}
+8 −5
Changes for tests/libraries/common/bodyRequests.py: 8 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -11,29 +11,32 @@ def check_variable(input, data_type):
    print(input)
    print(type(input))
    print(data_type)
    allowed_types = [t.strip() for t in data_type.split("|")]
    if "None" in allowed_types and input is None:
        return True
    if isinstance(input, list):
        for one in input:
            check_variable(one, data_type)
        return True
    if data_type == "string":
    if "string" in allowed_types:
        if isinstance(input, str):
            return True
        else:
            raise Exception("variable is not string type")
    elif data_type == "integer":
    elif "integer" in allowed_types:
        if isinstance(input, int):
            return True
        else:
            raise Exception("variable is not integer type")
    elif data_type == "boolean":
    elif "boolean" in allowed_types:
        if isinstance(input, boolean):
            return True
        else:
            raise Exception("variable is not integer type")
    elif data_type == "URI":
    elif "URI" in allowed_types:
        check_uri(input, data_type)
        return True
    elif data_type == "URI_reference":
    elif "URI_reference" in allowed_types:
        check_uri(input, data_type)
        return True
    elif data_type not in capif_types.keys():
+160 −3
Changes for tests/libraries/common/types.json: 160 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -50,7 +50,14 @@
      "websockNotifConfig": "WebsockNotifConfig",
      "apiList": "ServiceAPIDescription",
      "apiInvokerInformation": "string",
      "supportedFeatures": "SupportedFeatures"
      "supportedFeatures": "SupportedFeatures",
      "failureReasons": "EnrolFailReason"
    }
  },
  "EnrolFailReason":{
    "mandatory_attributes": {
      "apiName": "string",
      "failureCode": "string"
    }
  },
  "OnboardingInformation": {
@@ -59,7 +66,33 @@
    },
    "optional_attributes": {
      "apiInvokerCertificate": "string",
      "onboardingSecret": "string"
      "onboardingSecret": "string",
      "onboardingCriteria": "OnboardingCriteria"
    }
  },
  "OnboardingCriteria": {
    "mandatory_attributes": {
      "secMethods": "SecurityMethod"
    },
    "optional_attributes": {
      "relatedCriteria": "RelatedCriteria"
    }
  },
  "RelatedCriteria":{
    "mandatory_attributes": {},
    "optional_attributes": {
      "aefIds": "string",
      "apis": "ApiInfo",
      "serviceAPICategories": "string"
    },
    "oneOf": ["aefIds", "apis", "serviceAPICategories"]
  },
  "ApiInfo" : {
    "mandatory_attributes": {
      "apiName":  "string"
    },
    "optional_attributes": {
      "supportedApiVersions": "string"
    }
  },
  "WebsockNotifConfig": {
@@ -729,6 +762,130 @@
      "startTime": "string",
      "stopTime": "string"
    }
  },
  "InvokersResponse": {
    "mandatory_attributes": {},
    "optional_attributes": {
      "invokers": "InvokersResponseAPIInvokerEnrolmentDetails",
      "long": "integer",
      "sortOrder": "string | None",
      "total": "integer",
      "totalPages": "integer",
      "message": "string"
    }
  },
  "InvokersResponseAPIInvokerEnrolmentDetails": {
    "mandatory_attributes": {
      "api_invoker_id": "string",
      "onboarding_information": "InvokersResponseOnboardingInformation",
      "api_invoker_information": "string",
      "notification_destination": "URI",
      "uuid": "string"
    },
    "optional_attributes": {
      "request_test_notification": "boolean",
      "websock_notif_config": "InvokersResponseWebsockNotifConfig",
      "api_invoker_information": "string",
      "supported_features": "SupportedFeatures",
      "api_list": "ServiceAPIDescription | None",
      "exp_time": "string | None",
      "onboarding_date": "string",
      "username": "string",
      "api_invoker_certificate": "string",
      "failure_reasons": "InvokerResponseEnrolFailReason | None"
    }
  },
  "InvokerResponseEnrolFailReason":{
    "mandatory_attributes": {
      "api_ame": "string",
      "failure_ode": "string"
    },
    "optional_attributes": {}
  },
  "InvokerResponseOnboardingCriteria": {
    "mandatory_attributes": {
      "sec_methods": "SecurityMethod"
    },
    "optional_attributes": {
      "related_criteria": "InvokerResponseRelatedCriteria"
    }
  },
  "InvokerResponseRelatedCriteria":{
    "mandatory_attributes": {},
    "optional_attributes": {
      "aef_ids": "string",
      "apis": "InvokerResponseApiInfo",
      "service_api_categories": "string"
    },
    "oneOf": ["aef_ids", "apis", "service_api_categories"]
  },
  "InvokerResponseApiInfo" : {
    "mandatory_attributes": {
      "api_name":  "string"
    },
    "optional_attributes": {
      "supported_api_versions": "string"
    }
  },
  "InvokersResponseOnboardingInformation": {
    "mandatory_attributes": {
      "api_invoker_public_key": "string"
    },
    "optional_attributes": {
      "api_invoker_certificate": "string",
      "onboarding_secret": "string",
      "onboarding_criteria": "InvokerResponseOnboardingCriteria | None"
    }
  },
  "InvokersResponseWebsockNotifConfig": {
    "mandatory_attributes": {},
    "optional_attributes": {
      "websocket_uri": "URI_reference",
      "request_websocket_uri": "boolean"
    }
  },
  "ProvidersResponse": {
    "mandatory_attributes": {},
    "optional_attributes": {
      "providers": "ProvidersResponseAPIProviderEnrolmentDetails",
      "long": "integer",
      "sortOrder": "string | None",
      "total": "integer",
      "totalPages": "integer",
      "message": "string"
    }
  },
  "ProvidersResponseAPIProviderEnrolmentDetails": {
    "mandatory_attributes": {
      "reg_sec": "string",
      "api_prov_dom_id": "string"
    },
    "optional_attributes": {
      "api_prov_funcs": "ProvidersResponseAPIProviderFunctionDetails",
      "api_prov_dom_info": "string",
      "supp_feat": "SupportedFeatures",
      "fail_reason": "string",
      "api_prov_name": "string | None",
      "onboarding_date": "string",
      "username": "string",
      "uuid": "string"
    }
  },
  "ProvidersResponseAPIProviderFunctionDetails": {
    "mandatory_attributes": {
      "reg_info": "ProvidersResponseRegistrationInformation",
      "api_prov_func_role": "ApiProviderFuncRole",
      "api_prov_func_id": "string"
    },
    "optional_attributes": {
      "api_prov_func_info": "string"
    }
  },
  "ProvidersResponseRegistrationInformation": {
    "mandatory_attributes": {
      "api_prov_pub_key": "string",
      "api_prov_cert": "string"
    },
    "optional_attributes": {}
  }

}
+3 −1
Changes for tests/resources/common/basicRequests.robot: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -188,6 +188,7 @@ Get Request Capif
    ...    ${verify}=${FALSE}
    ...    ${cert}=${NONE}
    ...    ${username}=${NONE}
    ...    ${params}=${NONE}

    ${headers}=    Create CAPIF Session    ${server}    ${access_token}

@@ -202,6 +203,7 @@ Get Request Capif
    ...    expected_status=any
    ...    verify=${verify}
    ...    cert=${cert}
    ...    params=${params}
    RETURN    ${resp}

Get CA Vault
@@ -970,7 +972,7 @@ Get Number Of Services

Get Capif Ccf Id
    ${resp}=    Get Request Capif
    ...    /helper/getCcfId
    ...    /helper/api/getCcfId
    ...    server=${CAPIF_HTTPS_URL}
    ...    verify=ca.crt
    ...    username=${SUPERADMIN_USERNAME}
Loading