Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perf tests #92

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions perf_tests/features/CAPIF Api Auditing Service/__init__.robot
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*** Settings ***
Force Tags capif_api_auditing_service
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
*** Settings ***
Resource /opt/robot-tests/tests/resources/common.resource
Library /opt/robot-tests/tests/libraries/bodyRequests.py
Library Collections
Resource /opt/robot-tests/tests/resources/common/basicRequests.robot
Resource ../../resources/common.resource
Resource ../../resources/performance.resource

Test Setup Reset Testing Environment

*** Variables ***
${AEF_ID_NOT_VALID} aef-example
${SERVICE_API_ID_NOT_VALID} not-valid
${API_INVOKER_NOT_VALID} not-valid
${NOTIFICATION_DESTINATION} http://robot.testing:1080
${API_VERSION_VALID} v1
${API_VERSION_NOT_VALID} v58

*** Test Cases ***
Get Log Entry Performance
[Tags] capif_api_auditing_service-1
#Register APF
${register_user_info}= Provider Default Registration

# Publish one api
Publish Service Api ${register_user_info}

#Register INVOKER
${register_user_info_invoker} ${url} ${request_body}= Invoker Default Onboarding

${discover_response}= Get Request Capif
... ${DISCOVER_URL}${register_user_info_invoker['api_invoker_id']}
... server=${CAPIF_HTTPS_URL}
... verify=ca.crt
... username=${INVOKER_USERNAME}

${api_ids} ${api_names}= Get Api Ids And Names From Discover Response ${discover_response}

# Create Log Entry
${request_body}= Create Log Entry ${register_user_info['aef_id']} ${register_user_info_invoker['api_invoker_id']} ${api_ids} ${api_names}
${resp_1}= Post Request Capif
... /api-invocation-logs/v1/${register_user_info['aef_id']}/logs
... json=${request_body}
... server=${CAPIF_HTTPS_URL}
... verify=ca.crt
... username=${AEF_PROVIDER_USERNAME}


${success}= Set Variable ${0}
${average}= Set Variable ${0}

FOR ${index} IN RANGE ${ITERATIONS}
Log To Console \nIteration: ${index}

${resp_2}= Get Request Capif
... /logs/v1/apiInvocationLogs?aef-id=${register_user_info['aef_id']}&api-invoker-id=${register_user_info_invoker['api_invoker_id']}
... server=${CAPIF_HTTPS_URL}
... verify=ca.crt
... username=${AMF_PROVIDER_USERNAME}

# Check Results
Check Response Variable Type And Values ${resp_2} 200 InvocationLog
Length Should Be ${resp_2.json()["logs"]} 2

${success} ${average} Handle Timing ${resp_2.elapsed} ${index} ${average} ${success}
END

Handle End Results ${success} ${average}


Get a log entry without entry created performance
[Tags] capif_api_auditing_service-2
#Register APF
${register_user_info}= Provider Default Registration

# Publish one api
Publish Service Api ${register_user_info}

#Register INVOKER
${register_user_info_invoker} ${url} ${request_body}= Invoker Default Onboarding

${success}= Set Variable ${0}
${average}= Set Variable ${0}

FOR ${index} IN RANGE ${ITERATIONS}
Log To Console \nIteration: ${index}

${resp_1}= Get Request Capif
... /logs/v1/apiInvocationLogs?aef-id=${register_user_info['aef_id']}&api-invoker-id=${register_user_info_invoker['api_invoker_id']}
... server=${CAPIF_HTTPS_URL}
... verify=ca.crt
... username=${AMF_PROVIDER_USERNAME}

# Check Results
Check Response Variable Type And Values ${resp_1} 404 ProblemDetails
... title=Not Found
... status=404
... detail=aefId or/and apiInvokerId do not match any InvocationLogs
... cause=No log invocations found

${success} ${average} Handle Timing ${resp_1.elapsed} ${index} ${average} ${success}
END

Handle End Results ${success} ${average}
2 changes: 2 additions & 0 deletions perf_tests/features/CAPIF Api Discover Service/__init__.robot
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*** Settings ***
Force Tags capif_api_discover_service
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
*** 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
Resource ../../resources/performance.resource
Library /opt/robot-tests/tests/libraries/bodyRequests.py

Test Setup Reset Testing Environment
# Test Setup Initialize Test And Register role=invoker


*** Variables ***
${API_INVOKER_NOT_REGISTERED} not-valid


*** Test Cases ***
Discover Published service APIs by Authorised API Invoker Performance
[Tags] capif_api_discover_service-1
#Register APF
${register_user_info}= Provider Default Registration

# Publish one api
${service_api_description_published} ${resource_url} ${request_body}= Publish Service Api
... ${register_user_info}

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

# Test
${success}= Set Variable ${0}
${average}= Set Variable ${0}

FOR ${index} IN RANGE ${ITERATIONS}
Log To Console \nIteration: ${index}

${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}

${success} ${average} Handle Timing ${resp.elapsed} ${index} ${average} ${success}
END

Handle End Results ${success} ${average}

Discover Published service APIs by registered API Invoker with 1 result filtered performance
[Tags] capif_api_discover_service-4
#Register APF
${register_user_info}= Provider Default Registration

${api_name_1}= Set Variable service_1
${api_name_2}= Set Variable service_2

# Publish 2 apis
${service_api_description_published_1} ${resource_url} ${request_body}= Publish Service Api
... ${register_user_info}
... ${api_name_1}
${service_api_description_published_2} ${resource_url} ${request_body}= Publish Service Api
... ${register_user_info}
... ${api_name_2}

# Register INVOKER
${register_user_info_invoker} ${url} ${request_body}= Invoker Default Onboarding

# Request all APIs for Invoker
${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 returned values
Should Not Be Empty ${resp.json()['serviceAPIDescriptions']}
Length Should Be ${resp.json()['serviceAPIDescriptions']} 2
List Should Contain Value ${resp.json()['serviceAPIDescriptions']} ${service_api_description_published_1}
List Should Contain Value ${resp.json()['serviceAPIDescriptions']} ${service_api_description_published_2}

# Request api 1
${success}= Set Variable ${0}
${average}= Set Variable ${0}

FOR ${index} IN RANGE ${ITERATIONS}
Log To Console \nIteration: ${index}

${resp}= Get Request Capif
... ${DISCOVER_URL}${register_user_info_invoker['api_invoker_id']}&api-name=${api_name_1}
... server=${CAPIF_HTTPS_URL}
... verify=ca.crt
... username=${INVOKER_USERNAME}

Check Response Variable Type And Values ${resp} 200 DiscoveredAPIs

# Check Results
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_1}

${success} ${average} Handle Timing ${resp.elapsed} ${index} ${average} ${success}
END

Handle End Results ${success} ${average}


Discover Published service APIs by registered API Invoker filtered with no match performance
[Tags] capif_api_discover_service-5
#Register APF
${register_user_info}= Provider Default Registration

${api_name_1}= Set Variable apiName1
${api_name_2}= Set Variable apiName2

# Publish 2 apis
${service_api_description_published_1} ${resource_url} ${request_body}= Publish Service Api
... ${register_user_info}
... ${api_name_1}
${service_api_description_published_2} ${resource_url} ${request_body}= Publish Service Api
... ${register_user_info}
... ${api_name_2}

# Change to invoker role and register at api invoker management
${register_user_info_invoker} ${url} ${request_body}= Invoker Default Onboarding

# Request all APIs for Invoker
${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 returned values
Should Not Be Empty ${resp.json()['serviceAPIDescriptions']}
Length Should Be ${resp.json()['serviceAPIDescriptions']} 2
List Should Contain Value ${resp.json()['serviceAPIDescriptions']} ${service_api_description_published_1}
List Should Contain Value ${resp.json()['serviceAPIDescriptions']} ${service_api_description_published_2}

# Request api 1
${success}= Set Variable ${0}
${average}= Set Variable ${0}

FOR ${index} IN RANGE ${ITERATIONS}
Log To Console \nIteration: ${index}

${resp}= Get Request Capif
... ${DISCOVER_URL}${register_user_info_invoker['api_invoker_id']}&api-name=NOT_VALID_NAME
... server=${CAPIF_HTTPS_URL}
... verify=ca.crt
... username=${INVOKER_USERNAME}

# Check Results
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

${success} ${average} Handle Timing ${resp.elapsed} ${index} ${average} ${success}
END

Handle End Results ${success} ${average}

Discover Published service APIs by registered API Invoker not filtered performance
[Tags] capif_api_discover_service-6
#Register APF
${register_user_info}= Provider Default Registration

${api_name_1}= Set Variable apiName1
${api_name_2}= Set Variable apiName2

# Publish 2 apis
${service_api_description_published_1} ${resource_url} ${request_body}= Publish Service Api
... ${register_user_info}
... ${api_name_1}
${service_api_description_published_2} ${resource_url} ${request_body}= Publish Service Api
... ${register_user_info}
... ${api_name_2}

# Change to invoker role and register at api invoker management
${register_user_info_invoker} ${url} ${request_body}= Invoker Default Onboarding

# Request all APIs for Invoker
${success}= Set Variable ${0}
${average}= Set Variable ${0}

FOR ${index} IN RANGE ${ITERATIONS}
Log To Console \nIteration: ${index}

${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
Should Not Be Empty ${resp.json()['serviceAPIDescriptions']}
Length Should Be ${resp.json()['serviceAPIDescriptions']} 2
List Should Contain Value ${resp.json()['serviceAPIDescriptions']} ${service_api_description_published_1}
List Should Contain Value ${resp.json()['serviceAPIDescriptions']} ${service_api_description_published_2}

${success} ${average} Handle Timing ${resp.elapsed} ${index} ${average} ${success}
END

Handle End Results ${success} ${average}
2 changes: 2 additions & 0 deletions perf_tests/features/CAPIF Api Events/__init__.robot
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*** Settings ***
Force Tags capif_api_events
Loading