Commits (3)
......@@ -8,14 +8,13 @@ Library REST ${MEO_SCHEMA}://${MEO_HOST}:${MEO_PORT} ssl_verify=false
Library OperatingSystem
*** Test Cases ***
TP_MEC_MEC010p2_MEO_GRANT_001_OK
[Documentation]
[Documentation] TP_MEC_MEC010p2_MEO_GRANT_001_OK
... Check that MEO sends a synchronous grant response when a grant request is requested
... ETSI GS MEC 010-2 2.2.1, clause 7.5.1.3.1
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.2.2-1 (GrantRequest)
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.2.2-1 Note 2 (GrantRequest)
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant)
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Create a GRANT request grantRequest
......@@ -23,43 +22,90 @@ TP_MEC_MEC010p2_MEO_GRANT_001_OK
Check HTTP Response Header Contains Location
Check HTTP Response Body Json Schema Is Grant
TP_MEC_MEC010p2_MEO_GRANT_001_BR
[Documentation] TP_MEC_MEO_GRANT_001_BR
[Documentation] TP_MEC_MEC010p2_MEO_GRANT_001_BR
... Check that MEO responds with an error when it receives a malformed request when a new grant request is performed
... ETSI GS MEC 010-2 2.2.1, clause 7.6.1.3.2
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant)
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Create a GRANT request grantRejectedRequest
Create a GRANT request grantBadRequest
Check HTTP Response Status Code Is 400
TP_MEC_MEC010p2_MEO_GRANT_002_OK
[Documentation] TP_MEC_MEO_GRANT_002_OK
... Check that MEO sends a asynchronous grant response when a grant request is requested
... ETSI GS MEC 010-2 2.2.1, clause 7.6.1.3.1
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant)
[Documentation] TP_MEC_MEC010p2_MEO_GRANT_002_OK
... Check that MEO sends a synchronous grant response when a grant request is requested
... ETSI GS MEC 010-2 2.2.1, clause 7.5.1.3.1
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.2.2-1 //GrantRequest
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Create a GRANT request grantRequest2
Check HTTP Response Status Code Is 201
Check HTTP Response Header Contains Location
Check HTTP Response Body Json Schema Is Grant
#TP_MEC_MEC010p2_MEO_GRANT_002_BR TODO clarify TPs before implementing this
# [Documentation] TP_MEC_MEC010p2_MEO_GRANT_002_BR
# ... Check that MEO responds with an error when it receives a malformed request when a new grant request is performed
# ... ETSI GS MEC 010-2 2.2.1, clause 7.6.1.3.2
# ... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant)
# [Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
# Create a GRANT request grantBadRequest2
# Check HTTP Response Status Code Is 400
TP_MEC_MEC010p2_MEO_GRANT_003_OK
[Documentation] TP_MEC_MEC010p2_MEO_GRANT_003_OK
... Check that MEO sends an asynchronous grant response when a grant request is requested
... ETSI GS MEC 010-2 2.2.1, clause 7.5.1.3.1
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.2.2-1 (GrantRequest)
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.2.2-1 Note 2 (GrantRequest)
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant)
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Create a GRANT request grantRequestAsynchronous
Check HTTP Response Status Code Is 202
Check HTTP Response Header Contains Location
##TODO Fix numbering against success case
TP_MEC_MEC010p2_MEO_GRANT_003_NF
[Documentation] TP_MEC_MEO_GRANT_003_NF
... Check that MEO responds with an error when it receives a request for returning a grant referred with a wrong ID
... ETSI GS MEC 010-2 2.2.1, clause 7.6.1.3.2
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Get an individual grant ${NOT_EXISTING_GRANT_ID}
Check HTTP Response Status Code Is 404
TP_MEC_MEC010p2_MEO_GRANT_004_OK
[Documentation] TP_MEC_MEC010p2_MEO_GRANT_004_OK
... Check that MEO sends an asynchronous grant response when a grant request is requested
... ETSI GS MEC 010-2 2.2.1, clause 7.5.1.3.1
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.2.2-1 (GrantRequest)
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant)
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Create a GRANT request grantRequestAsynchronous2
Check HTTP Response Status Code Is 202
Check HTTP Response Header Contains Location
TP_MEC_MEC010p2_MEO_GRANT_005_OK
[Documentation] TP_MEC_MEC010p2_MEO_GRANT_005_OK
... Check that MEO sends the status of a grant request when a query on a granting ID is performed.
... The process of creating the grant is ongoing, no grant is available yet
... ETSI GS MEC 010-2 2.2.1, clause 7.5.2.3.2
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Get an individual grant ${GRANT_ID_ACCEPTED}
Check HTTP Response Status Code Is 202
Check HTTP Response Header Contains Location
TP_MEC_MEC010p2_MEO_GRANT_006_OK
[Documentation] TP_MEC_MEO_GRANT_003_OK
[Documentation] TP_MEC_MEC010p2_MEO_GRANT_006_OK
... Check that MEO sends the status of a grant request when a query on a granting ID is performed.
... The process of creating the grant is ongoing, no grant is available yet
... ETSI GS MEC 010-2 2.2.1, clause 7.6.1.3.2
... ETSI GS MEC 010-2 2.2.1, clause 7.5.2.3.2
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Get an individual grant ${GRANT_ID}
Check HTTP Response Status Code Is 200
......@@ -67,17 +113,7 @@ TP_MEC_MEC010p2_MEO_GRANT_006_OK
Check HTTP Response Body Json Schema Is Grant
TP_MEC_MEC010p2_MEO_GRANT_003_NF
[Documentation] TP_MEC_MEO_GRANT_003_NF
... Check that MEO responds with an error when it receives a request for returning a grant referred with a wrong ID
... ETSI GS MEC 010-2 2.2.1, clause 7.6.1.3.2
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Get an individual grant ${NOT_EXISTING_GRANT_ID}
Check HTTP Response Status Code Is 404
*** Keywords ***
Create a GRANT request
......
......@@ -12,7 +12,9 @@ ${apiVersion} v1
# Specific variables
${GRANT_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3
${NOT_EXISTING_GRANT_ID} non_existant_grant_id
${GRANT_ID_ACCEPTED} abcdee2b-6e50-4f33-ab09-8bf05850abcd
${NOT_EXISTING_GRANT_ID} NOT_EXISTING_GRANT_ID
${APP_INSTANCE_ID} 456
# Notifications variables
......
{
"id": "123",
"appInstanceId": "456",
"appLcmOpOccId": "789",
"operationERROR":"INSTANTIATE"
}
\ No newline at end of file
......@@ -3,6 +3,14 @@
"appInstanceId": "456",
"appLcmOpOccId": "789",
"operation": "OPERATE",
"addResources": [
{
"resourceDefinitionId": "resourceDefinitionId",
"vimConnectionId": "vimConnectionId",
"resourceGroupId": "resourceGroupId",
"zoneId": "zoneId"
}
],
"_links": {
"appLcmOpOcc": {
"href": "https://anexample.ex/"
......
{
"id": "456",
"appInstanceId": "456",
"appLcmOpOccId": "789",
"operation": "INSTANTIATE",
"addResources": [
{
"resourceDefinitionId": "resourceDefinitionId",
"vimConnectionId": "vimConnectionId",
"resourceGroupId": "resourceGroupId",
"zoneId": "zoneId"
}
],
"_links": {
"appLcmOpOcc": {
"href": "https://anexample.ex/"
},
"appInstance": {
"href": "https://anexample.ex/"
}
}
}
\ No newline at end of file
{
"id": "456",
"appInstanceId": "456",
"appLcmOpOccId": "789",
"operation": "OPERATE",
"addResources": [
{
"resourceDefinitionId": "resourceDefinitionId",
"vimConnectionId": "vimConnectionId",
"resourceGroupId": "resourceGroupId",
"zoneId": "zoneId"
}
],
"_links": {
"appLcmOpOcc": {
"href": "https://anexample.ex/"
},
"appInstance": {
"href": "https://anexample.ex/"
}
}
}
\ No newline at end of file
{
"appServiceRequired": [{
"sernName": "serviceName"
}]
}
\ No newline at end of file
{
"appServiceWrongRequired": [{
"sernName": "serviceName"
}]
}
\ No newline at end of file
This diff is collapsed.
*** Variables ***
# Generic variables
${MEPM_SCHEMA} http
${MEPM_HOST} 10.192.2.172
${MEPM_HOST} 127.0.0.1
${MEPM_PORT} 8081
${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
${apiRoot}
${apiName} apmi
${apiName} app_pkgm
${apiVersion} v1
${ACCEPTED_CONTENT_TYPE} text/plain
# Specific variables
${APP_PKG_NAME} APP_PKG_NAME // Should be the same as in AppPkg.json
${APP_PKG_VERSION} APP_PKG_VERSION // Should be the same as in AppPkg.json
${CHECKSUM} CHECKSUM // Should be the same as in AppPkg.json
${OPERATIONAL_STATE} OPERATIONAL_STATE // Should be the same as in AppPkg.json
${USAGE_STATE} USAGE_STATE // Should be the same as in AppPkg.json
${ON_BOARDED_APP_PKG_ID} 5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f
${APPD_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3
${MALFORMED_FILTER_NAME} operationalStatus // Should be operationalState
${FILTER_VALUE} NOT_IN_USE
${APP_PKG_ID} appPkgId
${APP_INSTANCE_ID} 5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f
${APPD_ID} appdId
${NOT_EXISTING_APP_INSTANCE_ID} NOT_EXISTING_APP_INSTANCE_ID
${CALLBACK_URI} http://some.url/somepath
${SUBSCRIPTION_ID} 1234782-2c70-4e47-9a4e-0ee3a1a0fabcd
${MALFORMED_FILTER_NAME} operationalStatus
${FILTER_VALUE} ENABLED
${NON_EXISTENT_APP_PKG_ID} NON_EXISTENT_APP_PKG_ID
${OPERATION_VALUE} DISABLE
${ACCEPTED_CONTENT_TYPE} text/plain // Should refer to the type of AppD
${SUBSCRIPTION_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3
${NON_EXISTENT_SUBSCRIPTION_ID} NON_EXISTENT_SUBSCRIPTION_ID
${SUBSCRIPTION_TYPE} MobilityProcedureSubscription
# 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
${NON_EXISTENT_APPD_ID} NON_EXISTENT_APPD_ID
\ No newline at end of file
{
"callbackUri": "http://some.url/somepath",
"subsctiptionType": "AppPackageOnBoardingSubscription"
}
\ No newline at end of file
{
"callbackUri": "http://some.url/somepath",
"subscriptionType": "ON-BOARDING"
}
\ No newline at end of file
{
"description": "'The data type AppPkgInfo represents the parameters for an application package resource'",
"type": "object",
"required": [
"id",
"appDId",
"appName",
"appSoftwareVersion",
"appDVersion",
"checksum",
"softwareImages",
"onboardingState",
"operationalState",
"usageState",
"mecInfo",
"_links"
],
"properties": {
"id": {
"description": "Identifier of the onboarded application package.",
"type": "string"
},
"appDId": {
"description": "Identifier of this MEC application descriptor. This attribute shall be globally unique.",
"type": "string"
},
"appProvider": {
"description": "Provider of the application and of the AppD.",
"type": "string"
},
"appName": {
"description": "Name to identify the MEC application.",
"type": "string"
},
"appSoftwareVersion": {
"description": "Software version of the application. This is updated when there is any change to the software in the onboarded application package.",
"type": "string"
},
"appDVersion": {
"description": "Identifies the version of the application descriptor.",
"type": "string"
},
"checksum": {
"description": "",
"properties": {
"algorithm": {
"description": " Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004. For example, SHA-256, SHA-512.",
"type": "string"
},
"hash": {
"description": "'String 1 The hexadecimal value of the checksum'",
"type": "string"
}
},
"required": [
"algorithm",
"hash"
],
"type": "object"
},
"softwareImages": {
"description": "Information of application software image in application package. Type is TBD"
},
"additionalArtifacts": {
"description": "Additional information of application package artifacts that are not application software images. Type is TBD"
},
"onboardingState": {
"description": "Onboarding state of application package",
"type": "string",
"format": "enum",
"enum": [
"CREATED",
"UPLOADING",
"PROCESSING",
"ONBOARDED"
]
},
"operationalState": {
"description": "Operational state of the onboarded application package: •ENABLED: the application package can be used for instantiation of new application instances. •DISABLED: the application package cannot be used for further application instantiation requests.",
"type": "string",
"enum": [
"ENABLED",
"DISABLED"
]
},
"usageState": {
"description": "Usage state of the onboarded instance of the application package",
"type": "string",
"format": "enum",
"enum": [
"IN_USE",
"NOT_IN_USE"
]
},
"mecInfo": {
"description": "",
"type": "array",
"items": {
"type": "string"
}
},
"userDefinedData": {
"description": "'This data type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key-value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259'",
"type": "object",
"additionalProperties": true
},
"_links": {
"description": "Links to resources related to this resource.",
"type": "object",
"required": [
"self",
"appD",
"appPkgContent"
],
"properties": {
"self": {
"properties": {
"href": {
"description": "URI referring to a resource",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI"
}
},
"required": [
"href"
],
"type": "object",
"x-etsi-ref": "6.5.2"
},
"appD": {
"properties": {
"href": {
"description": "URI referring to a resource",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI"
}
},
"required": [
"href"
],
"type": "object",
"x-etsi-ref": "6.5.2"
},
"appPkgContent": {
"properties": {
"href": {
"description": "URI referring to a resource",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI"
}
},
"required": [
"href"
],
"type": "object",
"x-etsi-ref": "6.5.2"
}
}
}
}
}
\ No newline at end of file
{
"description": "'The data type represents a subscription to notification of application package management for the onboarding, or operational state change of application package'",
"type": "object",
"required": [
"id",
"subscriptionType",
"callbackUri",
"_links"
],
"properties": {
"id": {
"description": "''",
"type": "string"
},
"subscriptionType": {
"description": "Subscribed notification type.",
"type": "string",
"enum": [
"AppPackageOnBoardingSubscription",
"AppPacakgeOperationChangeSubscription",
"AppPackageDeletionSubscription"
]
},
"callbackUri": {
"description": "The URI of the endpoint for the notification to be sent to.",
"type": "string",
"format": "uri"
},
"_links": {
"description": "Links to resources related to this resource.",
"type": "object",
"required": [
"self"
],
"properties": {
"self": {
"properties": {
"href": {
"description": "URI referring to a resource",
"format": "uri",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI"
}
},
"required": [
"href"
],
"type": "object",
"x-etsi-ref": "6.5.2"
}
}
}
}
}
\ No newline at end of file