Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
MEC - Multi-access Edge Computing
MEC Robot Test Suite
Commits
1a9fad41
Commit
1a9fad41
authored
Aug 08, 2019
by
Yann Garcia
Browse files
Merge branch 'master' of
https://forge.etsi.org/gitlab/mec/gs032p3-robot-test-suite
parents
2d174326
719d4daf
Changes
8
Show whitespace changes
Inline
Side-by-side
SRV/UETAG/resources/
GenericKeywords.robot
→
GenericKeywords.robot
View file @
1a9fad41
*** Settings ***
Resource
../environment/variables.txt
Resource
GenericKeywords.robot
Library
REST
${MEC-APP_SCHEMA}
://
${MEC-APP_HOST}
:
${MEC-APP_PORT}
ssl_verify=false
Library
JSONSchemaLibrary
schemas/
Library
BuiltIn
*** Variables ***
${response}
*** Keywords ***
Get User Equipment for location with filters
[
Arguments
]
${value}
Set Headers
{"Accept":"application/json"}
Get
/location/v2/users/
${value}
${output}
=
Output
response
Set Suite Variable
${response}
${output}
*** Keywords ***
Check HTTP Response Status Code Is
[
Arguments
]
${expected_status}
${status}
=
Convert To Integer
${expected_status}
...
...
SRV/AMS/AMSService.robot
0 → 100644
View file @
1a9fad41
''[Documentation] robot --outputdir ./outputs ./SRV/UETAG/PlatUeIdentity.robot
...
Test
Suite
to
validate
UE
Identity
Tag
(UETAG)
operations.
*** Settings ***
Resource
environment/variables.txt
Resource
../../pics.txt
Resource
../../GenericKeywords.robot
Library
REST
${AMS_SCHEMA}
://
${AMS_HOST}
:
${AMS_PORT}
ssl_verify=false
Library
BuiltIn
Library
OperatingSystem
Library
MockServerLibrary
*** Test Cases ***
Request Registered AMS information
[
Documentation
]
TP_MEC_SRV_AMS_001_OK
...
Check that the AMS service returns information about the registered application mobility services when requested
...
ETSI GS MEC 021 2.0.8, clause 8.3.3.1
Get Registered AMS information
Check HTTP Response Status Code Is
200
Check HTTP Response Body Json Schema Is
AppMobilityServiceInfos
Request Registered AMS information using attribute-selector
[
Documentation
]
TP_MEC_SRV_AMS_001_OK
...
Check that the AMS service returns information about the registered application mobility services when requested
...
ETSI GS MEC 021 2.0.8, clause 8.3.3.1
Get Registered AMS information using attribute-selector
appMobilityServiceId
${APP_MOBILITY_SERVICE_ID}
Check HTTP Response Status Code Is
200
Check HTTP Response Body Json Schema Is
AppMobilityServiceInfos
Check Result Contains
${response['body']['AppMobilityServiceInfo']}
appMobilityServiceId
${APP_MOBILITY_SERVICE_ID}
Request Registered AMS information using bad parameters
[
Documentation
]
TP_MEC_SRV_AMS_001_BR
...
Check that the AMS service returns an error when receives a query about a registered application mobility service with wrong parameters
...
ETSI GS MEC 021 2.0.8, clause 8.3.3.1
Get Registered AMS information using bad parameters
Check HTTP Response Status Code Is
400
Register a new application mobility services
[
Documentation
]
TP_MEC_SRV_AMS_002_OK
...
Check that the AMS service creates a new application mobility services when requested
...
ETSI GS MEC 021 2.0.8, clause 8.3.3.4
Create a new application mobility service
RegistrationRequest
Check HTTP Response Status Code Is
201
Check HTTP Response Body Json Schema Is
AppMobilityServiceInfo
Log
Checking Postcondition
Check Result Contains
${response['body']['AppMobilityServiceInfo']['registeredAppMobilityService']['serviceConsumerId']['']}
appInstanceId
${APP_INS_ID}
Register an UE Identity Tag using invalid parameter
[
Documentation
]
TP_MEC_SRV_AMS_002_BR
...
Check that the AMS service sends an error when it receives a malformed request to create a new application mobility service
...
ETSI GS MEC 021 2.0.8, clause 8.3.3.4
Create a new application mobility service
RegistrationRequestMalformed
Check HTTP Response Status Code Is
400
Request Subscriptions List for the registered AMS services
[
Documentation
]
TP_MEC_SRV_AMS_003_OK
...
Check that the AMS service returns information about the available subscriptions when requested.
...
Permitted SUBSCRIPTION_TYPE are:
...
- MobilityProcedureSubscription
...
- AdjacentAppInfoSubscription"
...
ETSI GS MEC 021 2.0.8, clause 8.6.3.1
Get Subscriptions for registered AMS
Check HTTP Response Status Code Is
200
Check HTTP Response Body Json Schema Is
SubscriptionLinks
Request Subscription List for registered AMS Services using wrong attribute parameters
[
Documentation
]
TP_MEC_SRV_AMS_003_BR
...
Check that the AMS service sends an error when it receives a malformed query about the available subscriptions
Get Subscriptions for registered AMS with wrong attbirube parameter
Check HTTP Response Status Code Is
400
Create a notification subscription
[
Documentation
]
TP_MEC_SRV_AMS_004_OK
...
Check that the AMS service creates a notification subscriptions when requested.
...
Permitted SUBSCRIPTION_TYPE are:
...
- MobilityProcedureSubscription
...
- AdjacentAppInfoSubscription"
...
ETSI GS MEC 021 2.0.8, clause 8.6.3.4
Post a new notification subscription
NotificationSubscription
Check HTTP Response Status Code Is
201
Check HTTP Response Body Json Schema Is
NotificationSubscription
Create a notification subscription with wrong attribute parameter
[
Documentation
]
TP_MEC_SRV_AMS_004_BR
...
Check that the AMS service creates a notification subscriptions when requested.
...
Permitted SUBSCRIPTION_TYPE are:
...
- MobilityProcedureSubscription
...
- AdjacentAppInfoSubscription"
...
ETSI GS MEC 021 2.0.8, clause 8.6.3.4
Post a new notification subscription
NotificationSubscriptionError
Check HTTP Response Status Code Is
400
Request a specific subscription
[
Documentation
]
TP_MEC_SRV_AMS_005_OK
...
Check that the AMS service returns information about a given subscription when requested.
...
Permitted SUBSCRIPTION_TYPE are:
...
- MobilityProcedureSubscription
...
- AdjacentAppInfoSubscription"
...
ETSI GS MEC 021 2.0.8, clause 8.7.3.1
Get individual subscription for AMS services
${SUBSCRIPTION_ID}
Check HTTP Response Status Code Is
200
Check HTTP Response Body Json Schema Is
NotificationSubscription
Request a specific subscription using wrong identifier
[
Documentation
]
TP_MEC_SRV_AMS_005_NF
...
Check that the AMS service returns an error when receives a query about a not existing subscription
...
ETSI GS MEC 021 2.0.8, clause 8.7.3.1
Get individual subscription for AMS services
${NON_EXISTENT_SUBSCRIPTION_ID}
Check HTTP Response Status Code Is
404
Modify a specific subscription
[
Documentation
]
TP_MEC_SRV_AMS_007_OK
...
Check that the AMS service modifies a given subscription when requested.
...
Permitted SUBSCRIPTION_TYPE are:
...
- MobilityProcedureSubscription
...
- AdjacentAppInfoSubscription
...
ETSI GS MEC 021 2.0.8, clause 8.7.3.2
Update individual subscription for AMS services
${SUBSCRIPTION_ID}
NotificationSubscription
Check HTTP Response Status Code Is
200
Check HTTP Response Body Json Schema Is
NotificationSubscription
Modify a specific subscription using malformed request
[
Documentation
]
TP_MEC_SRV_AMS_007_BR
...
Check that the AMS service sends an error when it receives a malformed modify request for a given subscription.
...
Permitted SUBSCRIPTION_TYPE are:
...
- MobilityProcedureSubscription
...
- AdjacentAppInfoSubscription
...
ETSI GS MEC 021 2.0.8, clause 8.7.3.2
Update individual subscription for AMS services
${SUBSCRIPTION_ID}
NotificationSubscriptionError
Check HTTP Response Status Code Is
400
Modify a specific subscription using wrong identifier
[
Documentation
]
TP_MEC_SRV_AMS_007_NF
...
Check that the AMS service sends an error when it receives a modify request for a not existing subscription.
...
ETSI GS MEC 021 2.0.8, clause 8.7.3.2
Update individual subscription for AMS services
${NON_EXISTENT_SUBSCRIPTION_ID}
NotificationSubscription
Check HTTP Response Status Code Is
404
Remove a specific subscription
[
Documentation
]
TP_MEC_SRV_AMS_006_OK
...
Check that the AMS service deletes a given subscription when requested
...
ETSI GS MEC 021 2.0.8, clause 8.7.3.5
Delete individual subscription for AMS services
${SUBSCRIPTION_ID}
Check HTTP Response Status Code Is
204
Remove a specific subscription using wrong identifier
[
Documentation
]
TP_MEC_SRV_AMS_006_NF
...
Check that the AMS service sends an error when it receives a delete request for a not existing subscription
...
ETSI GS MEC 021 2.0.8, clause 8.7.3.5
Delete individual subscription for AMS services
${NON_EXISTENT_SUBSCRIPTION_ID}
Check HTTP Response Status Code Is
404
Post Mobility Procedure Notification
[
Documentation
]
TP_MEC_SRV_AMS_008_OK
...
Check that the AMS service sends an AMS notification
about a mobility procedure
...
if the AMS service has an associated subscription and the event is generated
...
ETSI GS MEC 021 2.0.8, clause 7.4.2
${json}
=
Get File
schemas/MobilityProcedureNotification.schema.json
Log
Creating mock request and response to handle
Mobility Procedure Notification
&{req}
=
Create Mock Request Matcher
POST
${callback_endpoint}
body_type="JSON_SCHEMA"
body=
${json}
&{rsp}
=
Create Mock Response
headers="Content-Type: application/json"
status_code=204
Create Mock Expectation
${req}
${rsp}
Wait Until Keyword Succeeds
${total_polling_time}
${polling_interval}
Verify Mock Expectation
${req}
Log
Verifying results
Verify Mock Expectation
${req}
Log
Cleaning the endpoint
Clear Requests
${callback_endpoint}
Post Adjacent Application Info Notification
[
Documentation
]
TP_MEC_SRV_AMS_009_OK
...
Check that the AMS service sends an AMS notification about adjacent application instances
...
if the AMS service has an associated subscription and the event is generated
...
ETSI GS MEC 021 2.0.8, clause 7.4.3
${json}
=
Get File
schemas/AdjacentAppInfoNotification.schema.json
Log
Creating mock request and response to handle Adjacent Application Info Notification
&{req}
=
Create Mock Request Matcher
POST
${callback_endpoint}
body_type="JSON_SCHEMA"
body=
${json}
&{rsp}
=
Create Mock Response
headers="Content-Type: application/json"
status_code=204
Create Mock Expectation
${req}
${rsp}
Wait Until Keyword Succeeds
${total_polling_time}
${polling_interval}
Verify Mock Expectation
${req}
Log
Verifying results
Verify Mock Expectation
${req}
Log
Cleaning the endpoint
Clear Requests
${callback_endpoint}
Post Expire Notification
[
Documentation
]
TP_MEC_SRV_AMS_010_OK
...
Check that the AMS service sends an AMS notification on subscription expiration
...
if the AMS service has an associated subscription and the event is generated
...
ETSI GS MEC 021 2.0.8, clause 7.4.4
${json}
=
Get File
schemas/ExpireNotification.schema.json
Log
Creating mock request and response to handle Expire Notification
&{req}
=
Create Mock Request Matcher
POST
${callback_endpoint}
body_type="JSON_SCHEMA"
body=
${json}
&{rsp}
=
Create Mock Response
headers="Content-Type: application/json"
status_code=204
Create Mock Expectation
${req}
${rsp}
Wait Until Keyword Succeeds
${total_polling_time}
${polling_interval}
Verify Mock Expectation
${req}
Log
Verifying results
Verify Mock Expectation
${req}
Log
Cleaning the endpoint
Clear Requests
${callback_endpoint}
*** Keywords ***
Get Registered AMS information
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Accept":"application/json"}
Set Headers
{"Content-Type":"application/json"}
Set Headers
{"Authorization":"
${TOKEN}
"}
Get
${apiRoot}
/
${apiName}
/
${apiVersion}
/appMobilityServices
${output}
=
Output
response
Set Suite Variable
${response}
${output}
Get Registered AMS information using attribute-selector
[
Arguments
]
${key}
${value}
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Accept":"application/json"}
Set Headers
{"Content-Type":"application/json"}
Set Headers
{"Authorization":"
${TOKEN}
"}
Get
${apiRoot}
/
${apiName}
/
${apiVersion}
/appMobilityServices?
${key}
=
${value}
${output}
=
Output
response
Set Suite Variable
${response}
${output}
Get Registered AMS information using bad parameters
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Accept":"application/json"}
Set Headers
{"Content-Type":"application/json"}
Set Headers
{"Authorization":"
${TOKEN}
"}
Get
${apiRoot}
/
${apiName}
/
${apiVersion}
/appMobilityServices?appMobilityService=
${APP_MOBILITY_SERVICE_ID}
//param should be appMobilityServiceId
${output}
=
Output
response
Set Suite Variable
${response}
${output}
Create a new application mobility service
[
Arguments
]
${content}
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Accept":"application/json"}
Set Headers
{"Content-Type":"application/json"}
Set Headers
{"Authorization":"
${TOKEN}
"}
${file}
=
Catenate
SEPARATOR=
json/
${content}
.json
${body}
=
Get File
${file}
Post
${apiRoot}
/
${apiName}
/
${apiVersion}
/appMobilityServices
${body}
${output}
=
Output
response
Set Suite Variable
${response}
${output}
Get Subscriptions for registered AMS
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Accept":"application/json"}
Set Headers
{"Authorization":"
${TOKEN}
"}
Get
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
${output}
=
Output
response
Set Suite Variable
${response}
${output}
Get Subscriptions for registered AMS with wrong attbirube parameter
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Accept":"application/json"}
Set Headers
{"Authorization":"
${TOKEN}
"}
Get
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions?subscriptionTyp=
${SUBSCRIPTION_TYPE}
${output}
=
Output
response
Set Suite Variable
${response}
${output}
Post a new notification subscription
[
Arguments
]
${content}
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Accept":"application/json"}
Set Headers
{"Content-Type":"application/json"}
Set Headers
{"Authorization":"
${TOKEN}
"}
${file}
=
Catenate
SEPARATOR=
json/
${content}
.json
${body}
=
Get File
${file}
Post
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions
${body}
${output}
=
Output
response
Set Suite Variable
${response}
${output}
Get individual subscription for AMS services
[
Arguments
]
${content}
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Accept":"application/json"}
Set Headers
{"Authorization":"
${TOKEN}
"}
Get
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${content}
${output}
=
Output
response
Set Suite Variable
${response}
${output}
Delete individual subscription for AMS services
[
Arguments
]
${content}
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Authorization":"
${TOKEN}
"}
Get
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${content}
${output}
=
Output
response
Set Suite Variable
${response}
${output}
Update individual subscription for AMS services
[
Arguments
]
${identifier}
${content}
Should Be True
${PIC_AMS}
=
= '1'
Set Headers
{"Accept":"application/json"}
Set Headers
{"Content-Type":"application/json"}
Set Headers
{"Authorization":"
${TOKEN}
"}
${file}
=
Catenate
SEPARATOR=
json/
${content}
.json
${body}
=
Get File
${file}
Put
${apiRoot}
/
${apiName}
/
${apiVersion}
/subscriptions/
${identifier}
${body}
${output}
=
Output
response
Set Suite Variable
${response}
${output}
\ No newline at end of file
SRV/AMS/environment/variables.txt
0 → 100644
View file @
1a9fad41
*** Variables ***
# Generic variables
${AMS_SCHEMA} http
${AMS_HOST} 10.192.2.172
${AMS_PORT} 8081
${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
${apiRoot}
${apiName}
${apiVersion} v1
# Specific variables
${APP_MOBILITY_SERVICE_ID} KtRGymNQ84dG3mQfRepa
${APP_INS_ID} 5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f
${SUBSCRIPTION_TYPE} MobilityProcedureSubscription
${SUBSCRIPTION_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3
${NON_EXISTENT_SUBSCRIPTION_ID} NON_EXISTENT_SUBSCRIPTION_ID
# Notifications variables
${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
${callback_port} 9091
${callback_uri} http://172.22.1.7:${callback_port}
${callback_endpoint} /amsi/subscriptions
${callback_endpoint_error} /subs_404
${total_polling_time} 2 min
${polling_interval} 10 sec
\ No newline at end of file
SRV/UETAG/PlatUeIdentity.robot
View file @
1a9fad41
...
...
@@ -3,8 +3,8 @@
*** Settings ***
Resource
environment/variables.txt
Resource
environment
/pics.txt
Resource
resources
/GenericKeywords.robot
Resource
../..
/pics.txt
Resource
../..
/GenericKeywords.robot
Resource
resources/UEidentityAPI.robot
Library
REST
${MEC-APP_SCHEMA}
://
${MEC-APP_HOST}
:
${MEC-APP_PORT}
ssl_verify=false
...
...
SRV/UETAG/environment/pics.txt
deleted
100644 → 0
View file @
2d174326
*** Variables ***
${PIC_MEC_PLAT} 1
${PIC_SERVICES} 1
SRV/UETAG/resources/UEidentityAPI.robot
View file @
1a9fad41
*** Settings ***
Resource
../environment/variables.txt
Resource
../
environment
/pics.txt
Resource
GenericKeywords.robot
Resource
../
../..
/pics.txt
Resource
../../../
GenericKeywords.robot
Library
REST
${MEC-APP_SCHEMA}
://
${MEC-APP_HOST}
:
${MEC-APP_PORT}
ssl_verify=false
Library
JSONSchemaLibrary
schemas/
...
...
pics.txt
0 → 100644
View file @
1a9fad41
*** Variables ***
${PIC_MEC_PLAT} 1
${PIC_SERVICES} 1
${PIC_RNIS_QUERY} 1
${PIC_AMS} 1
\ No newline at end of file
red.xml
0 → 100644
View file @
1a9fad41
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<projectConfiguration>
<configVersion>
2
</configVersion>
<relativeTo>
WORKSPACE
</relativeTo>
<referencedLibrary
type=
"PYTHON"
name=
"JSONSchemaLibrary"
path=
"C:/Users/Elian Kraja/AppData/Roaming/Python/Python36/site-packages"
/>
<referencedLibrary
type=
"PYTHON"
name=
"REST"
path=
"C:/Users/Elian Kraja/AppData/Roaming/Python/Python36/site-packages"
/>
<referencedLibrary
type=
"PYTHON"
name=
"MockServerLibrary"
path=
"I:/KD/ETSI/robotframework-mockserver/src"
/>
<pythonpath/>
<classpath/>
<excludedForValidation/>
<isValidatedFileSizeCheckingEnabled>
true
</isValidatedFileSizeCheckingEnabled>
<validatedFileMaxSize>
1024
</validatedFileMaxSize>
<isReferencedLibrariesAutoReloadEnabled>
true
</isReferencedLibrariesAutoReloadEnabled>
<isReferencedLibrariesAutoDiscoveringEnabled>
true
</isReferencedLibrariesAutoDiscoveringEnabled>
<isLibrariesAutoDiscoveringSummaryWindowEnabled>
false
</isLibrariesAutoDiscoveringSummaryWindowEnabled>
</projectConfiguration>
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment