Loading tests/features/Vendor Extensibility/__init__.robot 0 → 100644 +2 −0 Original line number Diff line number Diff line *** Settings *** Force Tags vendor_extensibility No newline at end of file tests/features/Vendor Extensibility/vendor_extensibility.robot 0 → 100644 +51 −0 Original line number Diff line number Diff line *** Settings *** Resource /opt/robot-tests/tests/resources/common.resource Resource /opt/robot-tests/tests/resources/api_invoker_management_requests/apiInvokerManagementRequests.robot Resource ../../resources/common.resource Library /opt/robot-tests/tests/libraries/bodyRequests.py Suite Teardown Reset Testing Environment Test Setup Reset Testing Environment Test Teardown Reset Testing Environment *** Variables *** ${API_INVOKER_NOT_REGISTERED} not-valid *** Test Cases *** Discover Published service APIs by Authorised API Invoker [Tags] vendor_extensibility-1 # Register APF ${register_user_info}= Provider Default Registration # Create Vendor Specific information ${vendor_specific_service_api_description}= Create Vendor Specific Service Api Description ... vendorSpecific-urn:etsi:mec:capifext:service-info ${vendor_specific_aef_profile}= Create Vendor Specific Aef Profile ... vendorSpecific-urn:etsi:mec:capifext:transport-info # Publish one api ${service_api_description_published} ${resource_url} ${request_body}= Publish Service Api ... ${register_user_info} ... supported_features=10 ... vendor_specific_service_api_description=${vendor_specific_service_api_description} ... vendor_specific_aef_profile=${vendor_specific_aef_profile} # Default Invoker Registration and Onboarding ${register_user_info_invoker} ${url} ${request_body}= Invoker Default Onboarding # Test ${resp}= Get Request Capif ... ${DISCOVER_URL}${register_user_info_invoker['api_invoker_id']}&aef-id=${register_user_info['aef_id']} ... server=${CAPIF_HTTPS_URL} ... 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} tests/libraries/api_publish_service/bodyRequests.py +14 −3 Original line number Diff line number Diff line def create_service_api_description(api_name="service_1",aef_id="aef_id"): return { def create_service_api_description(api_name="service_1", aef_id="aef_id", supported_features="fffff", vendor_specific_service_api_description=None, vendor_specific_aef_profile=None): body = { "apiName": api_name, "aefProfiles": [ { Loading Loading @@ -35,7 +35,7 @@ def create_service_api_description(api_name="service_1",aef_id="aef_id"): } ], "description": "ROBOT_TESTING", "supportedFeatures": "fffff", "supportedFeatures": supported_features, "shareableInfo": { "isShareable": True, "capifProvDoms": [ Loading @@ -51,3 +51,14 @@ def create_service_api_description(api_name="service_1",aef_id="aef_id"): }, "ccfId": "string" } if vendor_specific_service_api_description is not None: if isinstance(vendor_specific_service_api_description, dict): for key, value in vendor_specific_service_api_description.items(): body[key] = value if vendor_specific_aef_profile is not None: if isinstance(vendor_specific_aef_profile, dict): for key, value in vendor_specific_aef_profile.items(): body["aefProfiles"][0][key] = value return body tests/libraries/bodyRequests.py +1 −1 Original line number Diff line number Diff line Loading @@ -5,4 +5,4 @@ from api_publish_service.bodyRequests import * from api_events.bodyRequests import * from security_api.bodyRequests import * from api_provider_management.bodyRequests import * from vendor_extensibility.bodyRequests import * tests/libraries/common/bodyRequests.py +1 −1 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ def check_variable(input, data_type): def check_attributes_dict(body, data_type): mandatory_attributes = capif_types[data_type]["mandatory_attributes"] optional_parameters = capif_types[data_type]["optional_attributes"] regex_attributes = capif_types[data_type]["regex_attributes"] regex_attributes = capif_types[data_type].get("regex_attributes",{}) all_attributes = mandatory_attributes | optional_parameters # Check if body has not allowed attributes Loading Loading
tests/features/Vendor Extensibility/__init__.robot 0 → 100644 +2 −0 Original line number Diff line number Diff line *** Settings *** Force Tags vendor_extensibility No newline at end of file
tests/features/Vendor Extensibility/vendor_extensibility.robot 0 → 100644 +51 −0 Original line number Diff line number Diff line *** Settings *** Resource /opt/robot-tests/tests/resources/common.resource Resource /opt/robot-tests/tests/resources/api_invoker_management_requests/apiInvokerManagementRequests.robot Resource ../../resources/common.resource Library /opt/robot-tests/tests/libraries/bodyRequests.py Suite Teardown Reset Testing Environment Test Setup Reset Testing Environment Test Teardown Reset Testing Environment *** Variables *** ${API_INVOKER_NOT_REGISTERED} not-valid *** Test Cases *** Discover Published service APIs by Authorised API Invoker [Tags] vendor_extensibility-1 # Register APF ${register_user_info}= Provider Default Registration # Create Vendor Specific information ${vendor_specific_service_api_description}= Create Vendor Specific Service Api Description ... vendorSpecific-urn:etsi:mec:capifext:service-info ${vendor_specific_aef_profile}= Create Vendor Specific Aef Profile ... vendorSpecific-urn:etsi:mec:capifext:transport-info # Publish one api ${service_api_description_published} ${resource_url} ${request_body}= Publish Service Api ... ${register_user_info} ... supported_features=10 ... vendor_specific_service_api_description=${vendor_specific_service_api_description} ... vendor_specific_aef_profile=${vendor_specific_aef_profile} # Default Invoker Registration and Onboarding ${register_user_info_invoker} ${url} ${request_body}= Invoker Default Onboarding # Test ${resp}= Get Request Capif ... ${DISCOVER_URL}${register_user_info_invoker['api_invoker_id']}&aef-id=${register_user_info['aef_id']} ... server=${CAPIF_HTTPS_URL} ... 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}
tests/libraries/api_publish_service/bodyRequests.py +14 −3 Original line number Diff line number Diff line def create_service_api_description(api_name="service_1",aef_id="aef_id"): return { def create_service_api_description(api_name="service_1", aef_id="aef_id", supported_features="fffff", vendor_specific_service_api_description=None, vendor_specific_aef_profile=None): body = { "apiName": api_name, "aefProfiles": [ { Loading Loading @@ -35,7 +35,7 @@ def create_service_api_description(api_name="service_1",aef_id="aef_id"): } ], "description": "ROBOT_TESTING", "supportedFeatures": "fffff", "supportedFeatures": supported_features, "shareableInfo": { "isShareable": True, "capifProvDoms": [ Loading @@ -51,3 +51,14 @@ def create_service_api_description(api_name="service_1",aef_id="aef_id"): }, "ccfId": "string" } if vendor_specific_service_api_description is not None: if isinstance(vendor_specific_service_api_description, dict): for key, value in vendor_specific_service_api_description.items(): body[key] = value if vendor_specific_aef_profile is not None: if isinstance(vendor_specific_aef_profile, dict): for key, value in vendor_specific_aef_profile.items(): body["aefProfiles"][0][key] = value return body
tests/libraries/bodyRequests.py +1 −1 Original line number Diff line number Diff line Loading @@ -5,4 +5,4 @@ from api_publish_service.bodyRequests import * from api_events.bodyRequests import * from security_api.bodyRequests import * from api_provider_management.bodyRequests import * from vendor_extensibility.bodyRequests import *
tests/libraries/common/bodyRequests.py +1 −1 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ def check_variable(input, data_type): def check_attributes_dict(body, data_type): mandatory_attributes = capif_types[data_type]["mandatory_attributes"] optional_parameters = capif_types[data_type]["optional_attributes"] regex_attributes = capif_types[data_type]["regex_attributes"] regex_attributes = capif_types[data_type].get("regex_attributes",{}) all_attributes = mandatory_attributes | optional_parameters # Check if body has not allowed attributes Loading