Commit 99253ae4 authored by Jorge Moratinos's avatar Jorge Moratinos
Browse files

Merge branch 'OCF103-create-more-robot-test-for-apistatus' into 'staging'

Resolve "Create More Robot Test for ApiStatus"

Closes #103

See merge request !93
parents 4b6bd428 c5238424
Loading
Loading
Loading
Loading
Loading
+1531 −54

File changed.

Preview size limit exceeded, changes collapsed.

+82 −5
Original line number Diff line number Diff line
def create_service_api_description(api_name="service_1", aef_id="aef_id", supported_features="0", vendor_specific_service_api_description=None, vendor_specific_aef_profile=None):
def create_service_api_description(api_name="service_1",
                                   aef_id="aef_id",
                                   supported_features="0",
                                   vendor_specific_service_api_description=None,
                                   vendor_specific_aef_profile=None,
                                   api_status=None):
    aef_ids = list()
    if isinstance(aef_id, list):
        aef_ids = aef_id
@@ -39,6 +44,16 @@ def create_service_api_description(api_name="service_1", aef_id="aef_id", suppor
                body["aefProfiles"][0][key] = value
    if supported_features is not None:
        body['supportedFeatures'] = supported_features
    if api_status is not None:
        aef_ids_active = list()
        if isinstance(api_status, list):
            aef_ids_active = api_status
            print("api_status parameter is a list")
        elif isinstance(api_status, str):
            print("api_status parameter is a string")
            aef_ids_active.append(api_status)
        body['apiStatus'] = dict()
        body['apiStatus']['aefIds'] = aef_ids_active

    return body

@@ -52,7 +67,6 @@ def create_aef_profiles(aef_ids):
    return profiles



def create_aef_profile(aef_id, resource_name):
    data = {
        "aefId": aef_id,
@@ -86,3 +100,66 @@ def create_aef_profile(aef_id, resource_name):
        ]
    }
    return data


def create_service_api_description_patch(aef_id=None,
                                         description=None,
                                         shareable_info=None,
                                         api_status=None,
                                         service_api_category=None,
                                         api_supp_feats=None,
                                         pub_api_path=None,
                                         ccf_id=None):
    body = dict()

    # aef profiles
    aef_ids = list()
    if aef_id is None:
        aef_ids = None
    elif isinstance(aef_id, list):
        aef_ids = aef_id
        print("aef_id parameter is a list")
    elif isinstance(aef_id, str):
        print("aef_id parameter is a string")
        aef_ids.append(aef_id)
    if aef_ids is not None:
        profiles = create_aef_profiles(aef_ids)
        body['aefProfiles'] = profiles
    
    # description
    if description is not None:
        body['description'] = description

    # shareable info
    if shareable_info is not None:
        body['shareableInfo'] = shareable_info

    # service API Category
    if service_api_category is not None:
        body['serviceAPICategory'] = service_api_category

    # api Supp Feats
    if api_supp_feats is not None:
        body['apiSuppFeats'] = api_supp_feats

    # pub Api Path
    if pub_api_path is not None:
        body['pubApiPath'] = pub_api_path

    # ccf id
    if ccf_id is not None:
        body['ccfId'] = ccf_id

    # api Status
    if api_status is not None:
        aef_ids_active = list()
        if isinstance(api_status, list):
            aef_ids_active = api_status
            print("api_status parameter is a list")
        elif isinstance(api_status, str):
            print("api_status parameter is a string")
            aef_ids_active.append(api_status)
        body['apiStatus'] = dict()
        body['apiStatus']['aefIds'] = aef_ids_active

    return body
+21 −1
Original line number Diff line number Diff line
@@ -82,12 +82,32 @@
      "serviceAPICategory": "string",
      "apiSuppFeats": "SupportedFeatures",
      "pubApiPath": "PublishedApiPath",
      "ccfId": "string"
      "ccfId": "string",
      "apiStatus": "ApiStatus"
    },
    "regex_attributes": {
      "^vendorSpecific-(.*)": "VendorSpecificObject"
    }
  },
  "ServiceAPIDescriptionPatch": {
    "mandatory_attributes": {},
    "optional_attributes": {
      "apiStatus": "ApiStatus",
      "aefProfiles": "AefProfile",
      "description": "string",
      "shareableInfo": "ShareableInformation",
      "serviceAPICategory": "string",
      "apiSuppFeats": "SupportedFeatures",
      "pubApiPath": "PublishedApiPath",
      "ccfId": "string"
    }
  },
  "ApiStatus": {
    "mandatory_attributes": {
      "aefIds": "string"
    },
    "optional_attributes": {}
  },
  "VendorSpecificObject": {
    "Check": false
  },
+3 −1
Original line number Diff line number Diff line
@@ -172,3 +172,5 @@ Check Mock Server Notification Events
        Log    ${event_expected}
        List Should Contain Value    ${notification_events_on_mock_server}    ${event_expected}
    END

    RETURN  ${notification_events_on_mock_server}
 No newline at end of file
+28 −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
@@ -795,6 +795,7 @@ Publish Service Api
    ...    ${vendor_specific_service_api_description}=${None}
    ...    ${vendor_specific_aef_profile}=${None}
    ...    ${aef_id}=${NONE}
    ...    ${api_status}=${NONE}

    ${aef_ids}=    Create List
    IF    "${aef_id}" == "${NONE}"
@@ -824,6 +825,7 @@ Publish Service Api
    ...    ${supported_features}
    ...    ${vendor_specific_service_api_description}
    ...    ${vendor_specific_aef_profile}
    ...    ${api_status}
    ${resp}=    Post Request Capif
    ...    /published-apis/v1/${apf_id_to_use}/service-apis
    ...    json=${request_body}
@@ -831,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