Commits (3)
...@@ -8,14 +8,13 @@ Library REST ${MEO_SCHEMA}://${MEO_HOST}:${MEO_PORT} ssl_verify=false ...@@ -8,14 +8,13 @@ Library REST ${MEO_SCHEMA}://${MEO_HOST}:${MEO_PORT} ssl_verify=false
Library OperatingSystem Library OperatingSystem
*** Test Cases *** *** Test Cases ***
TP_MEC_MEC010p2_MEO_GRANT_001_OK 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 ... 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, 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 (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) ... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant)
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS [Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Create a GRANT request grantRequest Create a GRANT request grantRequest
...@@ -23,43 +22,90 @@ TP_MEC_MEC010p2_MEO_GRANT_001_OK ...@@ -23,43 +22,90 @@ TP_MEC_MEC010p2_MEO_GRANT_001_OK
Check HTTP Response Header Contains Location Check HTTP Response Header Contains Location
Check HTTP Response Body Json Schema Is Grant Check HTTP Response Body Json Schema Is Grant
TP_MEC_MEC010p2_MEO_GRANT_001_BR 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 ... 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, clause 7.6.1.3.2
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant) ... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant)
[Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS [Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Create a GRANT request grantRejectedRequest Create a GRANT request grantBadRequest
Check HTTP Response Status Code Is 400 Check HTTP Response Status Code Is 400
TP_MEC_MEC010p2_MEO_GRANT_002_OK TP_MEC_MEC010p2_MEO_GRANT_002_OK
[Documentation] TP_MEC_MEO_GRANT_002_OK [Documentation] TP_MEC_MEC010p2_MEO_GRANT_002_OK
... Check that MEO sends a asynchronous grant response when a grant request is requested ... Check that MEO sends a synchronous 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, clause 7.5.1.3.1
... ETSI GS MEC 010-2 2.2.1, Table 6.2.4.4.2-1 (Grant) ... 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 [Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Create a GRANT request grantRequest2 Create a GRANT request grantRequest2
Check HTTP Response Status Code Is 201 Check HTTP Response Status Code Is 201
Check HTTP Response Header Contains Location
Check HTTP Response Body Json Schema Is Grant 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 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. ... 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 ... 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 [Tags] PIC_GRANTS_MANAGEMENT INCLUDE_UNDEFINED_SCHEMAS
Get an individual grant ${GRANT_ID} Get an individual grant ${GRANT_ID}
Check HTTP Response Status Code Is 200 Check HTTP Response Status Code Is 200
...@@ -67,17 +113,7 @@ TP_MEC_MEC010p2_MEO_GRANT_006_OK ...@@ -67,17 +113,7 @@ TP_MEC_MEC010p2_MEO_GRANT_006_OK
Check HTTP Response Body Json Schema Is Grant 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 *** *** Keywords ***
Create a GRANT request Create a GRANT request
......
...@@ -12,7 +12,9 @@ ${apiVersion} v1 ...@@ -12,7 +12,9 @@ ${apiVersion} v1
# Specific variables # Specific variables
${GRANT_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3 ${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 # Notifications variables
......
{
"id": "123",
"appInstanceId": "456",
"appLcmOpOccId": "789",
"operationERROR":"INSTANTIATE"
}
\ No newline at end of file
...@@ -3,6 +3,14 @@ ...@@ -3,6 +3,14 @@
"appInstanceId": "456", "appInstanceId": "456",
"appLcmOpOccId": "789", "appLcmOpOccId": "789",
"operation": "OPERATE", "operation": "OPERATE",
"addResources": [
{
"resourceDefinitionId": "resourceDefinitionId",
"vimConnectionId": "vimConnectionId",
"resourceGroupId": "resourceGroupId",
"zoneId": "zoneId"
}
],
"_links": { "_links": {
"appLcmOpOcc": { "appLcmOpOcc": {
"href": "https://anexample.ex/" "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 *** *** Variables ***
# Generic variables # Generic variables
${MEPM_SCHEMA} http ${MEPM_SCHEMA} http
${MEPM_HOST} 10.192.2.172 ${MEPM_HOST} 127.0.0.1
${MEPM_PORT} 8081 ${MEPM_PORT} 8081
${response} {} ${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
${apiRoot} ${apiRoot}
${apiName} apmi ${apiName} app_pkgm
${apiVersion} v1 ${apiVersion} v1
${ACCEPTED_CONTENT_TYPE} text/plain
# Specific variables # Specific variables
${APP_PKG_NAME} APP_PKG_NAME // Should be the same as in AppPkg.json ${APP_PKG_ID} appPkgId
${APP_PKG_VERSION} APP_PKG_VERSION // Should be the same as in AppPkg.json ${APP_INSTANCE_ID} 5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f
${CHECKSUM} CHECKSUM // Should be the same as in AppPkg.json ${APPD_ID} appdId
${OPERATIONAL_STATE} OPERATIONAL_STATE // Should be the same as in AppPkg.json ${NOT_EXISTING_APP_INSTANCE_ID} NOT_EXISTING_APP_INSTANCE_ID
${USAGE_STATE} USAGE_STATE // Should be the same as in AppPkg.json ${CALLBACK_URI} http://some.url/somepath
${ON_BOARDED_APP_PKG_ID} 5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f ${SUBSCRIPTION_ID} 1234782-2c70-4e47-9a4e-0ee3a1a0fabcd
${APPD_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3 ${MALFORMED_FILTER_NAME} operationalStatus
${MALFORMED_FILTER_NAME} operationalStatus // Should be operationalState ${FILTER_VALUE} ENABLED
${FILTER_VALUE} NOT_IN_USE
${NON_EXISTENT_APP_PKG_ID} NON_EXISTENT_APP_PKG_ID ${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 ${NON_EXISTENT_SUBSCRIPTION_ID} NON_EXISTENT_SUBSCRIPTION_ID
${NON_EXISTENT_APPD_ID} NON_EXISTENT_APPD_ID
\ No newline at end of file
${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
{
"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