diff --git a/SRV/APPSAQ/PlatAppServices.robot b/MEC011/SRV/APPSAQ/PlatAppServices.robot similarity index 82% rename from SRV/APPSAQ/PlatAppServices.robot rename to MEC011/SRV/APPSAQ/PlatAppServices.robot index 0f118f4c32adbdb80459bd82e96ff7271b8fd707..8e4e3ac6df2cecbc7170498c9f097e70c118e1aa 100644 --- a/SRV/APPSAQ/PlatAppServices.robot +++ b/MEC011/SRV/APPSAQ/PlatAppServices.robot @@ -3,7 +3,7 @@ Documentation ... A test suite for validating Application Service Availability Query (APPSAQ) operations. -Resource ../../GenericKeywords.robot +Resource ../../../GenericKeywords.robot Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false @@ -13,13 +13,13 @@ Default Tags TC_MEC_SRV_APPSAQ *** Test Cases *** -TC_MEC_SRV_APPSAQ_001_OK +TP_MEC_MEC011_SRV_APPSAQ_001_OK [Documentation] ... Check that the IUT responds with a list of available MEC services ... for a given application instance when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.6.3.1 - ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.6.3.1 + ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -28,12 +28,12 @@ TC_MEC_SRV_APPSAQ_001_OK Check HTTP Response Body Json Schema Is ServiceInfoList -TC_MEC_SRV_APPSAQ_001_BR +TP_MEC_MEC011_SRV_APPSAQ_001_BR [Documentation] ... Check that the IUT responds with an error when ... a request with incorrect parameters is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.6.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.6.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -42,12 +42,12 @@ TC_MEC_SRV_APPSAQ_001_BR Check HTTP Response Status Code Is 400 -TC_MEC_SRV_APPSAQ_002_OK +TP_MEC_MEC011_SRV_APPSAQ_002_OK [Documentation] ... Check that the IUT notifies the authorised relevant (subscribed) application ... instances when a new service for a given application instance is registered ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.6.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.6.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -58,12 +58,12 @@ TC_MEC_SRV_APPSAQ_002_OK Check Response Contains ${response['body']} serName ${NEW_SERVICE_NAME} -TC_MEC_SRV_APPSAQ_002_BR +TP_MEC_MEC011_SRV_APPSAQ_002_BR [Documentation] ... Check that the IUT responds with an error when ... a request with incorrect parameters is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.6.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.6.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -71,12 +71,12 @@ TC_MEC_SRV_APPSAQ_002_BR Check HTTP Response Status Code Is 400 -TC_MEC_SRV_APPSAQ_002_NF +TP_MEC_MEC011_SRV_APPSAQ_002_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.6.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.6.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -84,12 +84,12 @@ TC_MEC_SRV_APPSAQ_002_NF Check HTTP Response Status Code Is 404 -TC_MEC_SRV_APPSAQ_003_OK +TP_MEC_MEC011_SRV_APPSAQ_003_OK [Documentation] ... Check that the IUT responds with the information on a specific service ... for a given application instance when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.7.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.7.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -99,24 +99,24 @@ TC_MEC_SRV_APPSAQ_003_OK Check Response Contains ${response['body']} serInstanceId ${SERVICE_ID} -TC_MEC_SRV_APPSAQ_003_NF +TP_MEC_MEC011_SRV_APPSAQ_003_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.7.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.7.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES Get individual service ${APP_INSTANCE_ID} ${NON_EXISTENT_SERVICE_ID} Check HTTP Response Status Code Is 404 -TC_MEC_SRV_APPSAQ_004_OK +TP_MEC_MEC011_SRV_APPSAQ_004_OK [Documentation] ... Check that the IUT updates a service information for a given ... application instance when commanded by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.7.3.2 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.7.3.2 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -126,12 +126,12 @@ TC_MEC_SRV_APPSAQ_004_OK Check Response Contains ${response['body']} version ${SVC_NEW_VERSION} -TC_MEC_SRV_APPSAQ_004_BR +TP_MEC_MEC011_SRV_APPSAQ_004_BR [Documentation] ... Check that the IUT responds with an error when ... a request with incorrect parameters is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.7.3.2 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.7.3.2 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -139,12 +139,12 @@ TC_MEC_SRV_APPSAQ_004_BR Check HTTP Response Status Code Is 400 -TC_MEC_SRV_APPSAQ_004_NF +TP_MEC_MEC011_SRV_APPSAQ_004_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.7.3.2 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.7.3.2 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -152,39 +152,25 @@ TC_MEC_SRV_APPSAQ_004_NF Check HTTP Response Status Code Is 404 -TC_MEC_SRV_APPSAQ_004_PF - [Documentation] - ... Check that the IUT responds with an error when - ... a request sent by a MEC Application doesn't comply with a required condition - ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.7.3.2 - ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo - - [Tags] PIC_MEC_PLAT PIC_SERVICES - Update service with invalid etag ${APP_INSTANCE_ID} ${SERVICE_ID} ServiceInfoUpdated - Check HTTP Response Status Code Is 412 - - -TC_MEC_SRV_APPSAQ_005_OK +TP_MEC_MEC011_SRV_APPSAQ_005_OK [Documentation] ... Check that the IUT executes the deletion of a service ... for a given application instance when requested by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.7.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.7.3.5 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfo - [Tags] PIC_MEC_PLAT PIC_SERVICES - Remove individual service ${APP_INSTANCE_ID} ${SERVICE_ID} + [Tags] PIC_MEC_PLAT PIC_SERVICES + Remove individual service ${APP_INSTANCE_ID} ${SERVICE_ID} Check HTTP Response Status Code Is 204 -TC_MEC_SRV_APPSAQ_005_NF +TP_MEC_MEC011_SRV_APPSAQ_005_NF [Documentation] ... Check that the IUT responds with an error when ... a request for deletion of a unknown service is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.7.3.1 - + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.7.3.5 [Tags] PIC_MEC_PLAT PIC_SERVICES Remove individual service ${APP_INSTANCE_ID} ${NON_EXISTENT_SERVICE_ID} Check HTTP Response Status Code Is 404 @@ -196,6 +182,7 @@ Get a list of mecService of an application instance with parameters [Arguments] ${appInstanceId} ${key}=None ${value}=None Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/services?${key}=${value} ${output}= Output response Set Suite Variable ${response} ${output} @@ -203,6 +190,7 @@ Get a list of mecService of an application instance with parameters Get a list of mecService of an application instance [Arguments] ${appInstanceId} Set Headers {"Accept":"application/json"} + Set Headers {"Content-Type":"*/*"} Set Headers {"Authorization":"${TOKEN}"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/services ${output}= Output response @@ -213,9 +201,11 @@ Create new service [Arguments] ${content} ${appInstanceId} Set Headers {"Accept":"application/json"} Set Headers {"Content-Type":"application/json"} + #Set Headers {"Content-Type":"*/*"} Set Headers {"Authorization":"${TOKEN}"} ${file}= Catenate SEPARATOR= jsons/ ${content} .json ${body}= Get File ${file} + Log ${appInstanceId} Post ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/services ${body} ${output}= Output response Set Suite Variable ${response} ${output} @@ -225,6 +215,7 @@ Get individual service [Arguments] ${appInstanceId} ${serviceName} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/services/${serviceName} ${output}= Output response Set Suite Variable ${response} ${output} @@ -234,6 +225,7 @@ Update service Set Headers {"Accept":"application/json"} Set Headers {"Content-Type":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + #Set Headers {"Content-Type":"*/*"} ${file}= Catenate SEPARATOR= jsons/ ${content} .json ${body}= Get File ${file} PUT ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/services/${serviceId} ${body} @@ -241,17 +233,11 @@ Update service Set Suite Variable ${response} ${output} - -Update service with invalid etag - [Arguments] ${appInstanceId} ${serviceId} ${content} - Set Headers {"If-Match": ${INVALID_ETAG}} - Update service ${appInstanceId} ${serviceId} ${content} - - Remove individual service [Arguments] ${appInstanceId} ${serviceName} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Delete ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/services/${serviceName} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SRV/APPSAQ/README.md b/MEC011/SRV/APPSAQ/README.md similarity index 100% rename from SRV/APPSAQ/README.md rename to MEC011/SRV/APPSAQ/README.md diff --git a/SRV/APPSAQ/environment/variables.txt b/MEC011/SRV/APPSAQ/environment/variables.txt similarity index 88% rename from SRV/APPSAQ/environment/variables.txt rename to MEC011/SRV/APPSAQ/environment/variables.txt index 5b218f862cb092d7b6764391342a3593044be895..e2331ca9e785aaff92b4c4f3777667ebde8c23f0 100644 --- a/SRV/APPSAQ/environment/variables.txt +++ b/MEC011/SRV/APPSAQ/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** # Generic variables ${SCHEMA} http -${HOST} 10.192.2.172 +${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l @@ -10,7 +10,7 @@ ${apiName} mec_service_mgmt ${apiVersion} v1 # Specific variables -${APP_INSTANCE_ID} 5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f +${APP_INSTANCE_ID} 5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f ${INSTANCE_ID} instance_id ${FAKE_INSTANCE_ID_VALUE} 5 ${NON_EXISTENT_APP_INSTANCE_ID} NON_ESISTENT_APP_INSTANCE_ID diff --git a/SRV/APPSAQ/jsons/ServiceInfo.json b/MEC011/SRV/APPSAQ/jsons/ServiceInfo.json similarity index 100% rename from SRV/APPSAQ/jsons/ServiceInfo.json rename to MEC011/SRV/APPSAQ/jsons/ServiceInfo.json diff --git a/SRV/APPSAQ/jsons/ServiceInfoError.json b/MEC011/SRV/APPSAQ/jsons/ServiceInfoError.json similarity index 97% rename from SRV/APPSAQ/jsons/ServiceInfoError.json rename to MEC011/SRV/APPSAQ/jsons/ServiceInfoError.json index 672c8a05db8746bbfdd23b2f9888be7cc938034f..b30d16850e0326b389fbb757e695096d66f94f94 100644 --- a/SRV/APPSAQ/jsons/ServiceInfoError.json +++ b/MEC011/SRV/APPSAQ/jsons/ServiceInfoError.json @@ -1,5 +1,6 @@ { "Name": "WRONG_PARAMETER_NAME", + "serName": "WRONG_PARAMETER_NAME", "version": "reprehenderit Ut non commodo", "state": "INACTIVE", "transportInfo": { diff --git a/SRV/APPSAQ/jsons/ServiceInfoUpdated.json b/MEC011/SRV/APPSAQ/jsons/ServiceInfoUpdated.json similarity index 100% rename from SRV/APPSAQ/jsons/ServiceInfoUpdated.json rename to MEC011/SRV/APPSAQ/jsons/ServiceInfoUpdated.json diff --git a/SRV/APPSAQ/jsons/ServiceInfoUpdatedError.json b/MEC011/SRV/APPSAQ/jsons/ServiceInfoUpdatedError.json similarity index 100% rename from SRV/APPSAQ/jsons/ServiceInfoUpdatedError.json rename to MEC011/SRV/APPSAQ/jsons/ServiceInfoUpdatedError.json diff --git a/MEC011/SRV/APPSAQ/schemas/ServiceInfo.schema.json b/MEC011/SRV/APPSAQ/schemas/ServiceInfo.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..97620dfa144d5d310524c3100aefe6137126887c --- /dev/null +++ b/MEC011/SRV/APPSAQ/schemas/ServiceInfo.schema.json @@ -0,0 +1,309 @@ +{ + "ServiceInfo": { + "description": "This type represents the general information of a MEC service.", + "type": "object", + "required": [ + "serName", + "version", + "state", + "transportInfo", + "serializer" + ], + "properties": { + "serInstanceId": { + "description": "Identifier of the service instance assigned by the MEC platform.", + "type": "string", + "readOnly": true, + "example": "ServiceInstance123" + }, + "serName": { + "description": "The name of the service. This is how the service producing MEC application identifies the service instance it produces.", + "type": "string", + "example": "ExampleService" + }, + "serCategory": { + "description": "This type represents the category reference", + "type": "object", + "required": [ + "href", + "id", + "name", + "version" + ], + "properties": { + "href": { + "description": "Reference of the catalogue", + "type": "string", + "format": "uri", + "example": "/example/catalogue1" + }, + "id": { + "description": "Unique identifier of the category", + "type": "string", + "example": "id12345" + }, + "name": { + "description": "Name of the category, example values include RNI, Location & Bandwidth Management", + "type": "string", + "example": "RNI" + }, + "version": { + "description": "Category version", + "type": "string", + "example": "version1" + } + } + }, + "version": { + "description": "Service version", + "type": "string", + "example": "ServiceVersion1" + }, + "state": { + "description": "This enumeration defines the possible states of a service.", + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE", + "SUSPENDED" + ], + "example": "ACTIVE" + }, + "transportInfo": { + "description": "This type represents the general information of a MEC service.", + "type": "object", + "required": [ + "id", + "name", + "type", + "protocol", + "version", + "endpoint", + "security" + ], + "properties": { + "id": { + "description": "The identifier of this transport", + "type": "string", + "example": "TransId12345" + }, + "name": { + "description": "The name of this transport", + "type": "string", + "example": "REST" + }, + "description": { + "description": "Human-readable description of this transport", + "type": "string", + "example": "REST API" + }, + "type": { + "description": "The enumeration TransportType represents types of transports", + "type": "string", + "enum": [ + "REST_HTTP", + "MB_TOPIC_BASED", + "MB_ROUTING", + "MB_PUBSUB", + "RPC", + "RPC_STREAMING", + "WEBSOCKET" + ], + "example": "REST_HTTP" + }, + "protocol": { + "description": "The name of the protocol used. Shall be set to HTTP for a REST API.", + "type": "string", + "example": "HTTP" + }, + "version": { + "description": "The version of the protocol used", + "type": "string", + "example": "2.0" + }, + "endpoint": { + "description": "This type represents information about a transport endpoint", + "type": "object", + "oneOf": [{ + "description": "Entry point information of the service as string, formatted according to URI syntax", + "type": "object", + "required": [ + "uris" + ], + "properties": { + "uris": { + "type": "array", + "minItems": 0, + "items": { + "description": "Entry point information of the service", + "type": "string", + "format": "uri", + "example": "/mecSerMgmtApi/service/EntryPoint" + } + } + } + }, + { + "description": "Entry point information of the service as one or more pairs of IP address and port", + "type": "object", + "required": [ + "addresses" + ], + "properties": { + "addresses": { + "type": "array", + "minItems": 0, + "items": { + "description": "A IP address and port pair", + "type": "object", + "required": [ + "host", + "port" + ], + "properties": { + "host": { + "description": "Host portion of the address", + "type": "string", + "example": "192.0.2.0" + }, + "port": { + "description": "Port portion of the address", + "type": "integer", + "format": "uint32", + "example": 8080 + } + } + } + } + } + }, + { + "description": "Entry point information of the service in a format defined by an implementation, or in an external specification.", + "type": "object", + "required": [ + "alternative" + ], + "properties": { + "alternative": { + "type": "object" + } + } + } + ] + }, + "security": { + "description": "This type represents security information related to a transport", + "type": "object", + "properties": { + "oAuth2Info": { + "description": "Parameters related to use of OAuth 2.0", + "required": [ + "grantTypes", + "tokenEndpoint" + ], + "properties": { + "grantTypes": { + "description": "List of supported OAuth 2.0 grant types.", + "type": "array", + "minItems": 1, + "maxItems": 4, + "items": { + "description": "OAuth 2.0 grant type", + "type": "string", + "enum": [ + "OAUTH2_AUTHORIZATION_CODE", + "OAUTH2_IMPLICIT_GRANT", + "OAUTH2_RESOURCE_OWNER", + "OAUTH2_CLIENT_CREDENTIALS" + ], + "example": "OAUTH2_CLIENT_CREDENTIALS" + } + }, + "tokenEndpoint": { + "description": "The token endpoint", + "type": "string", + "format": "uri", + "example": "/mecSerMgmtApi/security/TokenEndPoint" + } + }, + "type": "object" + } + } + }, + "implSpecificInfo": { + "description": "Additional implementation specific details of the transport", + "type": "object" + } + } + }, + "serializer": { + "description": "The enumeration represents types of serializers", + "type": "string", + "enum": [ + "JSON", + "XML", + "PROTOBUF3" + ], + "example": "JSON" + }, + "scopeOfLocality": { + "description": "The scope of locality as expressed by \"consumedLocalOnly\" and \"isLocal\". If absent, defaults to MEC_HOST", + "type": "string", + "enum": [ + "MEC_SYSTEM", + "MEC_HOST", + "NFVI_POP", + "ZONE", + "ZONE_GROUP", + "NFVI_NODE" + ], + "example": "MEC_SYSTEM" + }, + "consumedLocalOnly": { + "description": "Indicate whether the service can only be consumed by the MEC applications located in the same locality (as defined by scopeOfLocality) as this service instance.", + "type": "boolean", + "example": false + }, + "isLocal": { + "description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.", + "type": "boolean", + "example": true + }, + "livenessInterval": { + "type": "integer" + }, + "_links": { + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a type of link and may be referenced from data structures", + "type": "object", + "properties": { + "href": { + "description": "URI referring to a resource", + "type": "string", + "format": "uri", + "example": "/mecSerMgmtApi/example" + } + } + }, + "liveness": { + "description": "This type represents a type of link and may be referenced from data structures", + "type": "object", + "properties": { + "href": { + "description": "URI referring to a resource", + "type": "string", + "format": "uri", + "example": "/mecSerMgmtApi/example" + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/SRV/APPSAQ/schemas/ServiceInfoList.schema.json b/MEC011/SRV/APPSAQ/schemas/ServiceInfoList.schema.json similarity index 100% rename from SRV/APPSAQ/schemas/ServiceInfoList.schema.json rename to MEC011/SRV/APPSAQ/schemas/ServiceInfoList.schema.json diff --git a/SRV/APPSUB/PlatAppSubscriptions.robot b/MEC011/SRV/APPSUB/PlatAppSubscriptions.robot similarity index 78% rename from SRV/APPSUB/PlatAppSubscriptions.robot rename to MEC011/SRV/APPSUB/PlatAppSubscriptions.robot index 611df12c78f7d3c1593f9fc445e3c9879a5fe55a..3154e0f5f89e1ddfc66aec0bb30c0acd576cc162 100644 --- a/SRV/APPSUB/PlatAppSubscriptions.robot +++ b/MEC011/SRV/APPSUB/PlatAppSubscriptions.robot @@ -3,7 +3,7 @@ Documentation ... A test suite for validating Application Subscriptions (APPSUB) operations. -Resource ../../GenericKeywords.robot +Resource ../../../GenericKeywords.robot Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem @@ -13,12 +13,12 @@ Default Tags TC_MEC_SRV_APPSUB *** Test Cases *** -TC_MEC_SRV_APPSUB_001_OK +TP_MEC_MEC011_SRV_APPSUB_001_OK [Documentation] ... Check that the IUT responds with a list of subscriptions for notifications ... on services availability when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.3.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.3.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/MecAppSuptApiSubscriptionLinkList [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -27,24 +27,24 @@ TC_MEC_SRV_APPSUB_001_OK Check HTTP Response Body Json Schema Is SubscriptionsLinkList -TC_MEC_SRV_APPSUB_001_NF +TP_MEC_MEC011_SRV_APPSUB_001_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.3.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.3.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES Get Subscriptions list ${NON_EXISTENT_APP_INSTANCE_ID} Check HTTP Response Status Code Is 404 -TC_MEC_SRV_APPSUB_002_OK +TP_MEC_MEC011_SRV_APPSUB_002_OK [Documentation] ... Check that the IUT acknowledges the subscription by a MEC Application ... to notifications on service availability events ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.3.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.3.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/AppTerminationNotificationSubscription [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -56,12 +56,12 @@ TC_MEC_SRV_APPSUB_002_OK Check Response Contains ${response['body']} callbackReference ${APP_TERM_NOTIF_CALLBACK_URI} -TC_MEC_SRV_APPSUB_003_OK +TP_MEC_MEC011_SRV_APPSUB_002_BR [Documentation] ... Check that the IUT responds with the information on a specific subscription ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.4.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.3.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/AppTerminationNotificationSubscription [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -71,36 +71,50 @@ TC_MEC_SRV_APPSUB_003_OK Check Response Contains ${response['body']} subscriptionType AppTerminationNotificationSubscription -TC_MEC_SRV_APPSUB_003_NF + +TP_MEC_MEC011_SRV_APPSUB_003_OK + [Documentation] + ... Check that the IUT responds with the information on a specific subscription + ... when queried by a MEC Application + ... + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.4.3.1 + + [Tags] PIC_MEC_PLAT PIC_SERVICES + Get individual subscription ${APP_INSTANCE_ID} ${SUBSCRIPTION_ID} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is AppTerminationNotificationSubscription + + +TP_MEC_MEC011_SRV_APPSUB_003_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.4.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.4.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES Get individual subscription ${APP_INSTANCE_ID} ${NON_EXISTENT_SUBSCRIPTION_ID} Check HTTP Response Status Code Is 404 -TC_MEC_SRV_APPSUB_004_OK +TP_MEC_MEC011_SRV_APPSUB_004_OK [Documentation] ... Check that the IUT acknowledges the unsubscribe from service availability event notifications ... when commanded by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.4.3.5 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.4.3.5 [Tags] PIC_MEC_PLAT PIC_SERVICES Remove subscription ${APP_INSTANCE_ID} ${SUBSCRIPTION_ID} Check HTTP Response Status Code Is 204 -TC_MEC_SRV_APPSUB_004_NF +TP_MEC_MEC011_SRV_APPSUB_004_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.0.9, clause 7.2.4.3.5 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.4.3.5 [Tags] PIC_MEC_PLAT PIC_SERVICES Remove subscription ${NON_EXISTENT_APP_INSTANCE_ID} ${SUBSCRIPTION_ID} @@ -112,6 +126,7 @@ Get Subscriptions List [Arguments] ${appInstanceId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -121,6 +136,7 @@ Create new subscription Set Headers {"Accept":"application/json"} Set Headers {"Content-Type":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} ${file}= Catenate SEPARATOR= jsons/ ${content} .json ${body}= Get File ${file} Post ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/subscriptions ${body} @@ -132,6 +148,8 @@ Get individual subscription [Arguments] ${appInstanceId} ${subscriptionId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -140,6 +158,7 @@ Remove subscription [Arguments] ${appInstanceId} ${subscriptionId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Delete ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SRV/APPSUB/README.md b/MEC011/SRV/APPSUB/README.md similarity index 100% rename from SRV/APPSUB/README.md rename to MEC011/SRV/APPSUB/README.md diff --git a/SRV/APPSUB/environment/variables.txt b/MEC011/SRV/APPSUB/environment/variables.txt similarity index 96% rename from SRV/APPSUB/environment/variables.txt rename to MEC011/SRV/APPSUB/environment/variables.txt index c28506fc614921a925dc3dc9843c1ae081490899..c66b1e95290f06a0c6074ab0d3d76bd71ad9ae6b 100644 --- a/SRV/APPSUB/environment/variables.txt +++ b/MEC011/SRV/APPSUB/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** # Generic variables ${SCHEMA} http -${HOST} 10.192.2.172 +${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l diff --git a/SRV/APPSUB/jsons/AppTerminationNotificationSubscription.json b/MEC011/SRV/APPSUB/jsons/AppTerminationNotificationSubscription.json similarity index 100% rename from SRV/APPSUB/jsons/AppTerminationNotificationSubscription.json rename to MEC011/SRV/APPSUB/jsons/AppTerminationNotificationSubscription.json diff --git a/SRV/APPSUB/schemas/AppTerminationNotificationSubscription.schema.json b/MEC011/SRV/APPSUB/schemas/AppTerminationNotificationSubscription.schema.json similarity index 100% rename from SRV/APPSUB/schemas/AppTerminationNotificationSubscription.schema.json rename to MEC011/SRV/APPSUB/schemas/AppTerminationNotificationSubscription.schema.json diff --git a/SRV/APPSUB/schemas/AppTerminationNotificationSubscriptions.schema.json b/MEC011/SRV/APPSUB/schemas/AppTerminationNotificationSubscriptions.schema.json similarity index 100% rename from SRV/APPSUB/schemas/AppTerminationNotificationSubscriptions.schema.json rename to MEC011/SRV/APPSUB/schemas/AppTerminationNotificationSubscriptions.schema.json diff --git a/SRV/APPSUB/schemas/SubscriptionsLinkList.schema.json b/MEC011/SRV/APPSUB/schemas/SubscriptionsLinkList.schema.json similarity index 100% rename from SRV/APPSUB/schemas/SubscriptionsLinkList.schema.json rename to MEC011/SRV/APPSUB/schemas/SubscriptionsLinkList.schema.json diff --git a/SRV/CONF/PlatConfirmation.robot b/MEC011/SRV/CONFTASK/PlatConfirmation.robot similarity index 80% rename from SRV/CONF/PlatConfirmation.robot rename to MEC011/SRV/CONFTASK/PlatConfirmation.robot index c619ff1b9e76e7a942adba0033a659bb6657c90c..f4edb9a410718fc061642caaa4b5948a8d9ca731 100644 --- a/SRV/CONF/PlatConfirmation.robot +++ b/MEC011/SRV/CONFTASK/PlatConfirmation.robot @@ -3,7 +3,7 @@ Documentation ... A test suite for validating DNS rules (DNS) operations. -Resource ../../GenericKeywords.robot +Resource ../../../GenericKeywords.robot Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem @@ -16,12 +16,12 @@ Default Tags TC_MEC_SRV_CONF *** Test Cases *** -TC_MEC_SRV_CONF_001_OK +TP_MEC_MEC011_SRV_CONFTASK_001_OK [Documentation] - ... Check that the IUT responds with an acknowledge - ... when requested graceful termination/stop of a MEC Application instance + ... Check that the IUT responds that it has completed + ... the application level termination ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.11.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.11.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/AppTerminationConfirmation [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -29,12 +29,12 @@ TC_MEC_SRV_CONF_001_OK Check HTTP Response Status Code Is 204 -TC_MEC_SRV_CONF_001_NF +TP_MEC_MEC011_SRV_CONFTASK_001_NF [Documentation] ... Check that the IUT responds with an error ... when requested graceful termination/stop of an unknown MEC Application instance ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.11.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.11.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/AppTerminationConfirmation [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -44,12 +44,12 @@ TC_MEC_SRV_CONF_001_NF -TC_MEC_SRV_CONF_002_OK +TP_MEC_MEC011_SRV_CONFTASK_002_OK [Documentation] ... Check that the IUT responds with an acknowledge ... when requested readiness status for a MEC Application instance ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.12.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.12.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/AppReadyConfirmation [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -57,12 +57,12 @@ TC_MEC_SRV_CONF_002_OK Check HTTP Response Status Code Is 204 -TC_MEC_SRV_CONF_002_NF +TP_MEC_MEC011_SRV_CONFTASK_002_NF [Documentation] ... Check that the IUT responds with an error ... when requested readiness status for an unknown MEC Application instance ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.12.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.12.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/AppReadyConfirmation [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -78,7 +78,7 @@ Request termination of MEC Application Set Headers {"Authorization":"${TOKEN}"} ${file}= Catenate SEPARATOR= jsons/ ${content} .json ${body}= Get File ${file} - PUT ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/confirm_termination ${body} + POST ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/confirm_termination ${body} ${output}= Output response Set Suite Variable ${response} ${output} @@ -90,6 +90,6 @@ Request readiness status of MEC Application Set Headers {"Authorization":"${TOKEN}"} ${file}= Catenate SEPARATOR= jsons/ ${content} .json ${body}= Get File ${file} - PUT ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/confirm_ready ${body} + POST ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/confirm_ready ${body} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SRV/CONF/README.md b/MEC011/SRV/CONFTASK/README.md similarity index 100% rename from SRV/CONF/README.md rename to MEC011/SRV/CONFTASK/README.md diff --git a/SRV/CONF/environment/variables.txt b/MEC011/SRV/CONFTASK/environment/variables.txt similarity index 97% rename from SRV/CONF/environment/variables.txt rename to MEC011/SRV/CONFTASK/environment/variables.txt index 183991b3e8619c680ead1c4b2bc2a854179da8c2..81a8328be20beca428ce418769074cf80d2c4539 100644 --- a/SRV/CONF/environment/variables.txt +++ b/MEC011/SRV/CONFTASK/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** # Generic variables ${SCHEMA} http -${HOST} 10.192.2.172 +${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l diff --git a/SRV/CONF/jsons/AppReadyConfirmation.json b/MEC011/SRV/CONFTASK/jsons/AppReadyConfirmation.json similarity index 100% rename from SRV/CONF/jsons/AppReadyConfirmation.json rename to MEC011/SRV/CONFTASK/jsons/AppReadyConfirmation.json diff --git a/SRV/CONF/jsons/AppTerminationConfirmation.json b/MEC011/SRV/CONFTASK/jsons/AppTerminationConfirmation.json similarity index 100% rename from SRV/CONF/jsons/AppTerminationConfirmation.json rename to MEC011/SRV/CONFTASK/jsons/AppTerminationConfirmation.json diff --git a/SRV/CONF/schemas/AppReadyConfirmation.schema.json b/MEC011/SRV/CONFTASK/schemas/AppReadyConfirmation.schema.json similarity index 100% rename from SRV/CONF/schemas/AppReadyConfirmation.schema.json rename to MEC011/SRV/CONFTASK/schemas/AppReadyConfirmation.schema.json diff --git a/SRV/CONF/schemas/AppTerminationConfirmation.schema.json b/MEC011/SRV/CONFTASK/schemas/AppTerminationConfirmation.schema.json similarity index 100% rename from SRV/CONF/schemas/AppTerminationConfirmation.schema.json rename to MEC011/SRV/CONFTASK/schemas/AppTerminationConfirmation.schema.json diff --git a/SRV/DNS/PlatDnsRules.robot b/MEC011/SRV/DNS/PlatDnsRules.robot similarity index 78% rename from SRV/DNS/PlatDnsRules.robot rename to MEC011/SRV/DNS/PlatDnsRules.robot index 80a0c18beefa57cb428192fa8cf32f3ff2dfaca1..883e195f74452cff1084dde6fe2d3213c87252ce 100644 --- a/SRV/DNS/PlatDnsRules.robot +++ b/MEC011/SRV/DNS/PlatDnsRules.robot @@ -3,7 +3,7 @@ Documentation ... A test suite for validating DNS rules (DNS) operations. -Resource ../../GenericKeywords.robot +Resource ../../../GenericKeywords.robot Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem @@ -16,12 +16,12 @@ Default Tags TC_MEC_SRV_DNS *** Test Cases *** -TC_MEC_SRV_DNS_001_OK +TP_MEC_MEC011_SRV_DNS_001_OK [Documentation] ... Check that the IUT responds with a list of active DNS rules ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.9.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.9.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -30,12 +30,12 @@ TC_MEC_SRV_DNS_001_OK Check HTTP Response Body Json Schema Is DnsRuleList -TC_MEC_SRV_DNS_002_OK +TP_MEC_MEC011_SRV_DNS_002_OK [Documentation] ... Check that the IUT responds with the information on a specific DNS rule ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -45,24 +45,24 @@ TC_MEC_SRV_DNS_002_OK Check Response Contains ${response['body']} dnsRuleId ${DNS_RULE_ID} -TC_MEC_SRV_DNS_002_NF +TP_MEC_MEC011_SRV_DNS_002_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES Get individual DNS rule ${APP_INSTANCE_ID} ${NON_ESISTENT_DNS_RULE_ID} Check HTTP Response Status Code Is 404 -TC_MEC_SRV_DNS_003_OK +TP_MEC_MEC011_SRV_DNS_003_OK [Documentation] ... Check that the IUT updates a specific DNS rule ... when commanded by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.2 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.2 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -72,12 +72,12 @@ TC_MEC_SRV_DNS_003_OK Check Response Contains ${response['body']} ipAddress ${SOME_IP_ADDRESS} -TC_MEC_SRV_DNS_003_BR +TP_MEC_MEC011_SRV_DNS_003_BR [Documentation] ... Check that the IUT responds with an error when ... a request with incorrect parameters is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.2 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.2 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -85,12 +85,12 @@ TC_MEC_SRV_DNS_003_BR Check HTTP Response Status Code Is 400 -TC_MEC_SRV_DNS_003_NF +TP_MEC_MEC011_SRV_DNS_003_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.2 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.2 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -98,17 +98,18 @@ TC_MEC_SRV_DNS_003_NF Check HTTP Response Status Code Is 404 -TC_MEC_SRV_DNS_003_PF - [Documentation] - ... Check that the IUT responds with an error when - ... a request sent by a MEC Application doesn't comply with a required condition - ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.10.3.2 - ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule - [Tags] PIC_MEC_PLAT PIC_SERVICES - Update a DNS Rule with invalid etag ${APP_INSTANCE_ID} ${DNS_RULE_ID} DnsRuleUpdate - Check HTTP Response Status Code Is 412 +#TP_MEC_MEC011_SRV_DNS_003_PF +# [Documentation] +# ... Check that the IUT responds with an error when +# ... a request sent by a MEC Application doesn't comply with a required condition +# ... +# ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.10.3.2 +# ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/DnsRule +# +# [Tags] PIC_MEC_PLAT PIC_SERVICES +# Update a DNS Rule with invalid etag ${APP_INSTANCE_ID} ${DNS_RULE_ID} DnsRuleUpdate +# Check HTTP Response Status Code Is 412 @@ -117,6 +118,7 @@ Get list of active DNS rules [Arguments] ${appInstanceId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/dns_rules ${output}= Output response Set Suite Variable ${response} ${output} @@ -126,6 +128,7 @@ Get individual DNS rule [Arguments] ${appInstanceId} ${dnsRuleId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/dns_rules/${dnsRuleId} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SRV/DNS/README.md b/MEC011/SRV/DNS/README.md similarity index 100% rename from SRV/DNS/README.md rename to MEC011/SRV/DNS/README.md diff --git a/SRV/DNS/environment/variables.txt b/MEC011/SRV/DNS/environment/variables.txt similarity index 96% rename from SRV/DNS/environment/variables.txt rename to MEC011/SRV/DNS/environment/variables.txt index 1ab92ff9e402bb7a1f3c8005c8cf2cee99795cf2..bed8e739a7f91a5ec2141d55c902ea10fc0fbe24 100644 --- a/SRV/DNS/environment/variables.txt +++ b/MEC011/SRV/DNS/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** # Generic variables ${SCHEMA} http -${HOST} 10.192.2.172 +${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l diff --git a/SRV/DNS/jsons/DnsRuleUpdate.json b/MEC011/SRV/DNS/jsons/DnsRuleUpdate.json similarity index 100% rename from SRV/DNS/jsons/DnsRuleUpdate.json rename to MEC011/SRV/DNS/jsons/DnsRuleUpdate.json diff --git a/SRV/DNS/jsons/DnsRuleUpdateError.json b/MEC011/SRV/DNS/jsons/DnsRuleUpdateError.json similarity index 100% rename from SRV/DNS/jsons/DnsRuleUpdateError.json rename to MEC011/SRV/DNS/jsons/DnsRuleUpdateError.json diff --git a/SRV/DNS/schemas/DnsRule.schema.json b/MEC011/SRV/DNS/schemas/DnsRule.schema.json similarity index 100% rename from SRV/DNS/schemas/DnsRule.schema.json rename to MEC011/SRV/DNS/schemas/DnsRule.schema.json diff --git a/SRV/DNS/schemas/DnsRuleList.schema.json b/MEC011/SRV/DNS/schemas/DnsRuleList.schema.json similarity index 100% rename from SRV/DNS/schemas/DnsRuleList.schema.json rename to MEC011/SRV/DNS/schemas/DnsRuleList.schema.json diff --git a/MEC011/SRV/LIV/Liveness.robot b/MEC011/SRV/LIV/Liveness.robot new file mode 100644 index 0000000000000000000000000000000000000000..2e7e3102d5abebbebc23a3763e7811948beb27ce --- /dev/null +++ b/MEC011/SRV/LIV/Liveness.robot @@ -0,0 +1,86 @@ +*** Settings *** + +Documentation +... A test suite for validating Application Subscriptions (APPSUB) operations. + +Resource ../../../GenericKeywords.robot +Resource environment/variables.txt +Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false +Library OperatingSystem + + +*** Test Cases *** + +TP_MEC_MEC011_SRV_MSL_001_OK + [Documentation] + ... Check that the IUT responds with the liveness of a MEC service instance + ... when queried by a MEC Application + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.10.3.1 + + [Tags] PIC_MEC_PLAT PIC_SERVICES + Individual MEC service liveness ${URL_SERVICE_MEC_LIVENESS} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ServiceLivenessInfo + + + +TP_MEC_MEC011_SRV_MSL_001_NF + [Documentation] + ... Check that the IUT responds with an error when + ... a request for an URI that cannot be mapped to a valid resource URI + ... is sent by a MEC Application + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.10.3.1 + + [Tags] PIC_MEC_PLAT PIC_SERVICES + Individual MEC service liveness ${NOT_EXISING_URL_SERVICE_MEC_LIVENESS} + Check HTTP Response Status Code Is 404 + + +TP_MEC_MEC011_SRV_MSL_002_OK + [Documentation] + ... Check that the IUT updates the liveness of a MEC service instance + ... when requested by a MEC Application + + [Tags] PIC_MEC_PLAT PIC_SERVICES + Set Headers {"Authorization":"${TOKEN}"} + + ${file}= Catenate SEPARATOR= jsons/ ServiceLivenessUpdate .json + ${body}= Get File ${file} + Update MEC service liveness ${URL_SERVICE_MEC_LIVENESS} ${body} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ServiceLivenessInfo + Check Response Contains ${response['body']} state ACTIVE + +TP_MEC_MEC011_SRV_MSL_002_BR + [Documentation] + ... Check that the IUT responds with an error when + ... incorrect parameters were sent by a MEC Application + + [Tags] PIC_MEC_PLAT PIC_SERVICES + Set Headers {"Authorization":"${TOKEN}"} + + ${file}= Catenate SEPARATOR= jsons/ ServiceLivenessUpdateError .json + ${body}= Get File ${file} + Update MEC service liveness ${URL_SERVICE_MEC_LIVENESS} ${body} + Check HTTP Response Status Code Is 400 + + +*** Keywords *** +Individual MEC service liveness + [Arguments] ${URL_MEC_SERVICE_LIVENESS} + Set Headers {"Accept":"application/json"} + Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} + Get ${URL_MEC_SERVICE_LIVENESS} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Update MEC service liveness + [Arguments] ${URL_MEC_SERVICE_LIVENESS} ${body} + Set Headers {"Accept":"application/json"} + Set Headers {"Authorization":"${TOKEN}"} + Patch ${URL_MEC_SERVICE_LIVENESS} ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + \ No newline at end of file diff --git a/SRV/README.md b/MEC011/SRV/LIV/README.md similarity index 100% rename from SRV/README.md rename to MEC011/SRV/LIV/README.md diff --git a/MEC011/SRV/LIV/environment/variables.txt b/MEC011/SRV/LIV/environment/variables.txt new file mode 100644 index 0000000000000000000000000000000000000000..e711cbdb446f7e026c536de45acf8af281ae28fd --- /dev/null +++ b/MEC011/SRV/LIV/environment/variables.txt @@ -0,0 +1,14 @@ +*** Variables *** +# Generic variables +${SCHEMA} http +${HOST} 127.0.0.1 +${PORT} 8081 +${response} {} +${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l +${apiRoot} +${apiName} mec_app_support +${apiVersion} v1 + +# Specific variables +${URL_SERVICE_MEC_LIVENESS} /link/to/individual/mecServiceLiveness +${NOT_EXISING_URL_SERVICE_MEC_LIVENESS} /not_existing_link/to/individual/mecServiceLiveness \ No newline at end of file diff --git a/MEC011/SRV/LIV/jsons/ServiceLivenessUpdate.json b/MEC011/SRV/LIV/jsons/ServiceLivenessUpdate.json new file mode 100644 index 0000000000000000000000000000000000000000..255ddbd626791e36dfb09157728fc163ff7a205d --- /dev/null +++ b/MEC011/SRV/LIV/jsons/ServiceLivenessUpdate.json @@ -0,0 +1,3 @@ +{ + "state": "ACTIVE" +} \ No newline at end of file diff --git a/MEC011/SRV/LIV/jsons/ServiceLivenessUpdateError.json b/MEC011/SRV/LIV/jsons/ServiceLivenessUpdateError.json new file mode 100644 index 0000000000000000000000000000000000000000..78b4a72f1160b1d7c7b9961454d6781539f558ed --- /dev/null +++ b/MEC011/SRV/LIV/jsons/ServiceLivenessUpdateError.json @@ -0,0 +1,3 @@ +{ + "state": "INACTIVE" +} \ No newline at end of file diff --git a/MEC011/SRV/LIV/schemas/ServiceLivenessInfo.schema.json b/MEC011/SRV/LIV/schemas/ServiceLivenessInfo.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..0a68027cbf0250cd03f3ed4524f0b111c55f22cb --- /dev/null +++ b/MEC011/SRV/LIV/schemas/ServiceLivenessInfo.schema.json @@ -0,0 +1,41 @@ +{ + "description": "the liveness information of a MEC service instance", + "type": "object", + "required": [ + "state", + "timeStamp", + "interval" + ], + "properties": { + "state": { + "description": "This enumeration defines the possible states of a service.", + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE", + "SUSPENDED" + ], + "example": "ACTIVE" + }, + "timeStamp": { + "type": "object", + "required": [ + "seconds", + "nanoSeconds" + ], + "properties": { + "seconds": { + "type": "integer", + "format": "uint32" + }, + "nanoSeconds": { + "type": "integer", + "format": "uint32" + } + } + }, + "interval": { + "type": "integer" + } + } +} \ No newline at end of file diff --git a/SRV/SAQ/README.md b/MEC011/SRV/README.md similarity index 100% rename from SRV/SAQ/README.md rename to MEC011/SRV/README.md diff --git a/SRV/SAQ/PlatServices.robot b/MEC011/SRV/SAQ/PlatServices.robot similarity index 84% rename from SRV/SAQ/PlatServices.robot rename to MEC011/SRV/SAQ/PlatServices.robot index 10c254df42f1bec105446c8995612220c63c6623..8843f5f07dbb1b7d19af83a49130970cc0ef9f24 100644 --- a/SRV/SAQ/PlatServices.robot +++ b/MEC011/SRV/SAQ/PlatServices.robot @@ -3,7 +3,7 @@ Documentation ... A test suite for validating Service Availability Query (SAQ) operations. -Resource ../../GenericKeywords.robot +Resource ../../../GenericKeywords.robot Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem @@ -14,12 +14,12 @@ Default Tags TC_MEC_SRV_SAQ *** Test Cases *** -TC_MEC_SRV_SAQ_001_OK +TP_MEC_MEC011_SRV_SAQ_001_OK [Documentation] ... Check that the IUT responds with a list of available MEC services ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.3.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.3.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfoList [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -28,24 +28,24 @@ TC_MEC_SRV_SAQ_001_OK Check HTTP Response Body Json Schema Is ServiceInfoList -TC_MEC_SRV_SAQ_001_BR +TP_MEC_MEC011_SRV_SAQ_001_BR [Documentation] ... Check that the IUT responds with an error when ... a request with incorrect parameters is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.3.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.3.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES Get list of available MEC services with parameters instance_id ${INVALID_VALUE} Check HTTP Response Status Code Is 400 -TC_MEC_SRV_SAQ_002_OK +TP_MEC_MEC011_SRV_SAQ_002_OK [Documentation] ... Check that the IUT responds with the information on a specific service ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.4.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.4.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/ServiceInfoList [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -55,12 +55,12 @@ TC_MEC_SRV_SAQ_002_OK Check Response Contains ${response['body']} serInstanceId ${SERVICE_ID} -TC_MEC_SRV_SAQ_002_NF +TP_MEC_MEC011_SRV_SAQ_002_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.4.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.4.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES Get specific MEC service ${NON_EXISTENT_SERVICE_ID} @@ -72,6 +72,7 @@ Get list of available MEC services with parameters [Arguments] ${key}=None ${value}=None Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/services?${key}=${value} ${output}= Output response Set Suite Variable ${response} ${output} @@ -79,6 +80,7 @@ Get list of available MEC services with parameters Get list of available MEC services Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/services ${output}= Output response Set Suite Variable ${response} ${output} @@ -87,6 +89,7 @@ Get specific MEC service [Arguments] ${serviceId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/services/${serviceId} ${output}= Output response Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SRV/SRVSUB/README.md b/MEC011/SRV/SAQ/README.md similarity index 100% rename from SRV/SRVSUB/README.md rename to MEC011/SRV/SAQ/README.md diff --git a/SRV/SAQ/environment/variables.txt b/MEC011/SRV/SAQ/environment/variables.txt similarity index 97% rename from SRV/SAQ/environment/variables.txt rename to MEC011/SRV/SAQ/environment/variables.txt index fcdf75ea4116ae050f06dadd3a2d052411c1419a..36785814968ae94f817b57908470345a94ee8fc1 100644 --- a/SRV/SAQ/environment/variables.txt +++ b/MEC011/SRV/SAQ/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** # Generic variables ${SCHEMA} http -${HOST} 10.192.2.172 +${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l diff --git a/MEC011/SRV/SAQ/schemas/ServiceInfo.schema.json b/MEC011/SRV/SAQ/schemas/ServiceInfo.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..061534085f161ef75e0870841c2cf8618d24a295 --- /dev/null +++ b/MEC011/SRV/SAQ/schemas/ServiceInfo.schema.json @@ -0,0 +1,307 @@ +{ + "description": "This type represents the general information of a MEC service.", + "type": "object", + "required": [ + "serName", + "version", + "state", + "transportInfo", + "serializer" + ], + "properties": { + "serInstanceId": { + "description": "Identifier of the service instance assigned by the MEC platform.", + "type": "string", + "readOnly": true, + "example": "ServiceInstance123" + }, + "serName": { + "description": "The name of the service. This is how the service producing MEC application identifies the service instance it produces.", + "type": "string", + "example": "ExampleService" + }, + "serCategory": { + "description": "This type represents the category reference", + "type": "object", + "required": [ + "href", + "id", + "name", + "version" + ], + "properties": { + "href": { + "description": "Reference of the catalogue", + "type": "string", + "format": "uri", + "example": "/example/catalogue1" + }, + "id": { + "description": "Unique identifier of the category", + "type": "string", + "example": "id12345" + }, + "name": { + "description": "Name of the category, example values include RNI, Location & Bandwidth Management", + "type": "string", + "example": "RNI" + }, + "version": { + "description": "Category version", + "type": "string", + "example": "version1" + } + } + }, + "version": { + "description": "Service version", + "type": "string", + "example": "ServiceVersion1" + }, + "state": { + "description": "This enumeration defines the possible states of a service.", + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE", + "SUSPENDED" + ], + "example": "ACTIVE" + }, + "transportInfo": { + "description": "This type represents the general information of a MEC service.", + "type": "object", + "required": [ + "id", + "name", + "type", + "protocol", + "version", + "endpoint", + "security" + ], + "properties": { + "id": { + "description": "The identifier of this transport", + "type": "string", + "example": "TransId12345" + }, + "name": { + "description": "The name of this transport", + "type": "string", + "example": "REST" + }, + "description": { + "description": "Human-readable description of this transport", + "type": "string", + "example": "REST API" + }, + "type": { + "description": "The enumeration TransportType represents types of transports", + "type": "string", + "enum": [ + "REST_HTTP", + "MB_TOPIC_BASED", + "MB_ROUTING", + "MB_PUBSUB", + "RPC", + "RPC_STREAMING", + "WEBSOCKET" + ], + "example": "REST_HTTP" + }, + "protocol": { + "description": "The name of the protocol used. Shall be set to HTTP for a REST API.", + "type": "string", + "example": "HTTP" + }, + "version": { + "description": "The version of the protocol used", + "type": "string", + "example": "2.0" + }, + "endpoint": { + "description": "This type represents information about a transport endpoint", + "type": "object", + "oneOf": [{ + "description": "Entry point information of the service as string, formatted according to URI syntax", + "type": "object", + "required": [ + "uris" + ], + "properties": { + "uris": { + "type": "array", + "minItems": 0, + "items": { + "description": "Entry point information of the service", + "type": "string", + "format": "uri", + "example": "/mecSerMgmtApi/service/EntryPoint" + } + } + } + }, + { + "description": "Entry point information of the service as one or more pairs of IP address and port", + "type": "object", + "required": [ + "addresses" + ], + "properties": { + "addresses": { + "type": "array", + "minItems": 0, + "items": { + "description": "A IP address and port pair", + "type": "object", + "required": [ + "host", + "port" + ], + "properties": { + "host": { + "description": "Host portion of the address", + "type": "string", + "example": "192.0.2.0" + }, + "port": { + "description": "Port portion of the address", + "type": "integer", + "format": "uint32", + "example": 8080 + } + } + } + } + } + }, + { + "description": "Entry point information of the service in a format defined by an implementation, or in an external specification.", + "type": "object", + "required": [ + "alternative" + ], + "properties": { + "alternative": { + "type": "object" + } + } + } + ] + }, + "security": { + "description": "This type represents security information related to a transport", + "type": "object", + "properties": { + "oAuth2Info": { + "description": "Parameters related to use of OAuth 2.0", + "required": [ + "grantTypes", + "tokenEndpoint" + ], + "properties": { + "grantTypes": { + "description": "List of supported OAuth 2.0 grant types.", + "type": "array", + "minItems": 1, + "maxItems": 4, + "items": { + "description": "OAuth 2.0 grant type", + "type": "string", + "enum": [ + "OAUTH2_AUTHORIZATION_CODE", + "OAUTH2_IMPLICIT_GRANT", + "OAUTH2_RESOURCE_OWNER", + "OAUTH2_CLIENT_CREDENTIALS" + ], + "example": "OAUTH2_CLIENT_CREDENTIALS" + } + }, + "tokenEndpoint": { + "description": "The token endpoint", + "type": "string", + "format": "uri", + "example": "/mecSerMgmtApi/security/TokenEndPoint" + } + }, + "type": "object" + } + } + }, + "implSpecificInfo": { + "description": "Additional implementation specific details of the transport", + "type": "object" + } + } + }, + "serializer": { + "description": "The enumeration represents types of serializers", + "type": "string", + "enum": [ + "JSON", + "XML", + "PROTOBUF3" + ], + "example": "JSON" + }, + "scopeOfLocality": { + "description": "The scope of locality as expressed by \"consumedLocalOnly\" and \"isLocal\". If absent, defaults to MEC_HOST", + "type": "string", + "enum": [ + "MEC_SYSTEM", + "MEC_HOST", + "NFVI_POP", + "ZONE", + "ZONE_GROUP", + "NFVI_NODE" + ], + "example": "MEC_SYSTEM" + }, + "consumedLocalOnly": { + "description": "Indicate whether the service can only be consumed by the MEC applications located in the same locality (as defined by scopeOfLocality) as this service instance.", + "type": "boolean", + "example": false + }, + "isLocal": { + "description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.", + "type": "boolean", + "example": true + }, + "livenessInterval": { + "type": "integer" + }, + "_links": { + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a type of link and may be referenced from data structures", + "type": "object", + "properties": { + "href": { + "description": "URI referring to a resource", + "type": "string", + "format": "uri", + "example": "/mecSerMgmtApi/example" + } + } + }, + "liveness": { + "description": "This type represents a type of link and may be referenced from data structures", + "type": "object", + "properties": { + "href": { + "description": "URI referring to a resource", + "type": "string", + "format": "uri", + "example": "/mecSerMgmtApi/example" + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SRV/APPSAQ/schemas/ServiceInfo.schema.json b/MEC011/SRV/SAQ/schemas/ServiceInfo.schema.json_OLD similarity index 100% rename from SRV/APPSAQ/schemas/ServiceInfo.schema.json rename to MEC011/SRV/SAQ/schemas/ServiceInfo.schema.json_OLD diff --git a/SRV/SAQ/schemas/ServiceInfoList.schema.json b/MEC011/SRV/SAQ/schemas/ServiceInfoList.schema.json similarity index 100% rename from SRV/SAQ/schemas/ServiceInfoList.schema.json rename to MEC011/SRV/SAQ/schemas/ServiceInfoList.schema.json diff --git a/SRV/SRVSUB/PlatSrvSubscriptions.robot b/MEC011/SRV/SRVSUB/PlatSrvSubscriptions.robot similarity index 86% rename from SRV/SRVSUB/PlatSrvSubscriptions.robot rename to MEC011/SRV/SRVSUB/PlatSrvSubscriptions.robot index 7b61bf7b836e44057eac680ac96be0d8df2f81dc..1c9edc801fe7d4bee478275124d3bd74003c366e 100644 --- a/SRV/SRVSUB/PlatSrvSubscriptions.robot +++ b/MEC011/SRV/SRVSUB/PlatSrvSubscriptions.robot @@ -3,7 +3,7 @@ Documentation ... A test suite for validating Service Subscriptions (SRVSUB) operations. -Resource ../../GenericKeywords.robot +Resource ../../../GenericKeywords.robot Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem @@ -13,12 +13,12 @@ Default Tags TC_MEC_SRV_SRVSUB *** Test Cases *** -TC_MEC_SRV_SRVSUB_001_OK +TP_MEC_MEC011_SRV_SRVSUB_001_OK [Documentation] ... Check that the IUT responds with a list of subscriptions for notifications ... on services availability when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.8.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.8.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/MecServiceMgmtApiSubscriptionLinkList [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -27,24 +27,24 @@ TC_MEC_SRV_SRVSUB_001_OK Check HTTP Response Body Json Schema Is SubscriptionLinkList -TC_MEC_SRV_SRVSUB_001_NF +TP_MEC_MEC011_SRV_SRVSUB_001_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.8.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.8.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES Get list of subscriptions ${NON_EXISTENT_INSTANCE_ID} Check HTTP Response Status Code Is 404 -TC_MEC_SRV_SRVSUB_002_OK +TP_MEC_MEC011_SRV_SRVSUB_002_OK [Documentation] ... Check that the IUT acknowledges the subscription by a MEC Application ... to notifications on service availability events ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.8.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.8.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/SerAvailabilityNotificationSubscription [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -56,12 +56,12 @@ TC_MEC_SRV_SRVSUB_002_OK Check Response Contains ${response['body']} callbackReference ${APP_SRVSUB_NOTIF_CALLBACK_URI} -TC_MEC_SRV_SRVSUB_002_BR +TP_MEC_MEC011_SRV_SRVSUB_002_BR [Documentation] ... Check that the IUT responds with an error when ... a request with incorrect parameters is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.8.3.4 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.8.3.4 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/SerAvailabilityNotificationSubscription [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -69,12 +69,12 @@ TC_MEC_SRV_SRVSUB_002_BR Check HTTP Response Status Code Is 400 -TC_MEC_SRV_SRVSUB_003_OK +TP_MEC_MEC011_SRV_SRVSUB_003_OK [Documentation] ... Check that the IUT responds with the information on a specific subscription ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.9.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.9.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/SerAvailabilityNotificationSubscription [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -84,36 +84,36 @@ TC_MEC_SRV_SRVSUB_003_OK Check Response Contains ${response['body']} subscriptionType SerAvailabilityNotificationSubscription -TC_MEC_SRV_SRVSUB_003_NF +TP_MEC_MEC011_SRV_SRVSUB_003_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.9.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.9.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES Get individual subscription ${APP_INSTANCE_ID} ${NON_EXISTENT_SUBSCRIPTION_ID} Check HTTP Response Status Code Is 404 -TC_MEC_SRV_SRVSUB_004_OK +TP_MEC_MEC011_SRV_SRVSUB_004_OK [Documentation] ... Check that the IUT acknowledges the unsubscribe from service availability event notifications ... when commanded by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.9.3.5 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.9.3.5 [Tags] PIC_MEC_PLAT PIC_SERVICES Remove subscription ${APP_INSTANCE_ID} ${SUBSCRIPTION_ID} Check HTTP Response Status Code Is 204 -TC_MEC_SRV_SRVSUB_004_NF +TP_MEC_MEC011_SRV_SRVSUB_004_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.9.3.5 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.9.3.5 [Tags] PIC_MEC_PLAT PIC_SERVICES Remove subscription ${NON_EXISTENT_INSTANCE_ID} ${SUBSCRIPTION_ID} @@ -125,6 +125,7 @@ Get list of subscriptions [Arguments] ${appInstanceId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} @@ -144,6 +145,7 @@ Get individual subscription [Arguments] ${appInstanceId} ${subscriptionId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -152,6 +154,7 @@ Remove subscription [Arguments] ${appInstanceId} ${subscriptionId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Delete ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SRV/TIME/README.md b/MEC011/SRV/SRVSUB/README.md similarity index 100% rename from SRV/TIME/README.md rename to MEC011/SRV/SRVSUB/README.md diff --git a/SRV/SRVSUB/environment/variables.txt b/MEC011/SRV/SRVSUB/environment/variables.txt similarity index 94% rename from SRV/SRVSUB/environment/variables.txt rename to MEC011/SRV/SRVSUB/environment/variables.txt index 726b694a152a28425f16114a82983929eccfbdca..0e357a5e786a2c028d819cc5b9e6db72f2100899 100644 --- a/SRV/SRVSUB/environment/variables.txt +++ b/MEC011/SRV/SRVSUB/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** # Generic variables ${SCHEMA} http -${HOST} 10.192.2.172 +${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l diff --git a/SRV/SRVSUB/jsons/SerAvailabilityNotificationSubscription.json b/MEC011/SRV/SRVSUB/jsons/SerAvailabilityNotificationSubscription.json similarity index 100% rename from SRV/SRVSUB/jsons/SerAvailabilityNotificationSubscription.json rename to MEC011/SRV/SRVSUB/jsons/SerAvailabilityNotificationSubscription.json diff --git a/SRV/SRVSUB/jsons/SerAvailabilityNotificationSubscriptionError.json b/MEC011/SRV/SRVSUB/jsons/SerAvailabilityNotificationSubscriptionError.json similarity index 100% rename from SRV/SRVSUB/jsons/SerAvailabilityNotificationSubscriptionError.json rename to MEC011/SRV/SRVSUB/jsons/SerAvailabilityNotificationSubscriptionError.json diff --git a/SRV/SRVSUB/schemas/SerAvailabilityNotificationSubscription.schema.json b/MEC011/SRV/SRVSUB/schemas/SerAvailabilityNotificationSubscription.schema.json similarity index 96% rename from SRV/SRVSUB/schemas/SerAvailabilityNotificationSubscription.schema.json rename to MEC011/SRV/SRVSUB/schemas/SerAvailabilityNotificationSubscription.schema.json index 26682d5b5b0302222d83fe1987fee6d044477daf..e84043b7cecc7fb2268f87ebf749a79c654efb68 100644 --- a/SRV/SRVSUB/schemas/SerAvailabilityNotificationSubscription.schema.json +++ b/MEC011/SRV/SRVSUB/schemas/SerAvailabilityNotificationSubscription.schema.json @@ -42,6 +42,13 @@ "filteringCriteria": { "description": "Filtering criteria to match services for which events are requested to be reported. If absent, matches all services. All child attributes are combined with the logical \"AND\" operation.", "type": "object", + "not": { + "required": [ + "serInstanceIds", + "serNames", + "serCategories" + ] + }, "properties": { "serInstanceIds": { "description": "Identifiers of service instances about which to report events.", @@ -111,7 +118,8 @@ "type": "string", "enum": [ "ACTIVE", - "INACTIVE" + "INACTIVE", + "SUSPENDED" ], "example": "ACTIVE" } diff --git a/SRV/SRVSUB/schemas/SubscriptionLink.schema.json b/MEC011/SRV/SRVSUB/schemas/SubscriptionLink.schema.json similarity index 100% rename from SRV/SRVSUB/schemas/SubscriptionLink.schema.json rename to MEC011/SRV/SRVSUB/schemas/SubscriptionLink.schema.json diff --git a/SRV/SRVSUB/schemas/SubscriptionLinkList.schema.json b/MEC011/SRV/SRVSUB/schemas/SubscriptionLinkList.schema.json similarity index 100% rename from SRV/SRVSUB/schemas/SubscriptionLinkList.schema.json rename to MEC011/SRV/SRVSUB/schemas/SubscriptionLinkList.schema.json diff --git a/SRV/TIME/PlatTiming.robot b/MEC011/SRV/TIME/PlatTiming.robot similarity index 84% rename from SRV/TIME/PlatTiming.robot rename to MEC011/SRV/TIME/PlatTiming.robot index 63c90325352f5c6f5ab62f4f6098797336878896..e93be9e9bbc261bfde74b56a6858a7aac291ea95 100644 --- a/SRV/TIME/PlatTiming.robot +++ b/MEC011/SRV/TIME/PlatTiming.robot @@ -3,7 +3,7 @@ Documentation ... A test suite for validating Timing capabilities (TIME) operations. -Resource ../../GenericKeywords.robot +Resource ../../../GenericKeywords.robot Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem @@ -14,12 +14,12 @@ Default Tags TC_MEC_SRV_TIME *** Test Cases *** -TC_MEC_SRV_TIME_001_OK +TP_MEC_MEC011_SRV_TIME_001_OK [Documentation] ... Check that the IUT responds with timing capabilities ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.5.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.5.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/TimingCaps [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -28,12 +28,12 @@ TC_MEC_SRV_TIME_001_OK Check HTTP Response Body Json Schema Is TimingCaps -TC_MEC_SRV_TIME_002_OK +TP_MEC_MEC011_SRV_TIME_002_OK [Documentation] ... Check that the IUT responds with current time ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.6.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.6.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/CurrentTime [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -47,12 +47,14 @@ Get time capabilities Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} Get ${apiRoot}/${apiName}/${apiVersion}/timing/timing_caps + Set Headers {"Content-Type":"*/*"} ${output}= Output response Set Suite Variable ${response} ${output} Get current time Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/timing/current_time ${output}= Output response Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SRV/TRAF/README.md b/MEC011/SRV/TIME/README.md similarity index 100% rename from SRV/TRAF/README.md rename to MEC011/SRV/TIME/README.md diff --git a/SRV/TIME/environment/variables.txt b/MEC011/SRV/TIME/environment/variables.txt similarity index 95% rename from SRV/TIME/environment/variables.txt rename to MEC011/SRV/TIME/environment/variables.txt index 8837e3089a85f450441456a96c69748a3e76a517..3ae69ae51ee7dc3489e726b5608c5bec284534d5 100644 --- a/SRV/TIME/environment/variables.txt +++ b/MEC011/SRV/TIME/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** # Generic variables ${SCHEMA} http -${HOST} 10.192.2.172 +${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l diff --git a/SRV/TIME/schemas/CurrentTime.schema.json b/MEC011/SRV/TIME/schemas/CurrentTime.schema.json similarity index 100% rename from SRV/TIME/schemas/CurrentTime.schema.json rename to MEC011/SRV/TIME/schemas/CurrentTime.schema.json diff --git a/SRV/TIME/schemas/TimingCaps.schema.json b/MEC011/SRV/TIME/schemas/TimingCaps.schema.json similarity index 100% rename from SRV/TIME/schemas/TimingCaps.schema.json rename to MEC011/SRV/TIME/schemas/TimingCaps.schema.json diff --git a/SRV/TRAF/PlatTrafficRules.robot b/MEC011/SRV/TRAF/PlatTrafficRules.robot similarity index 78% rename from SRV/TRAF/PlatTrafficRules.robot rename to MEC011/SRV/TRAF/PlatTrafficRules.robot index f8cf514ca89ea001206f44e243bb836b74efc419..1bf634bc7aab8ed9197f95e5e8118b085fe34ed7 100644 --- a/SRV/TRAF/PlatTrafficRules.robot +++ b/MEC011/SRV/TRAF/PlatTrafficRules.robot @@ -3,7 +3,7 @@ Documentation ... A test suite for validating Traffic rules (TRAF) operations. -Resource ../../GenericKeywords.robot +Resource ../../../GenericKeywords.robot Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem @@ -13,12 +13,12 @@ Default Tags TC_MEC_SRV_TRAF *** Test Cases *** -TC_MEC_SRV_TRAF_001_OK +TP_MEC_MEC011_SRV_TRAF_001_OK [Documentation] ... Check that the IUT responds with a list of available traffic rules ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.7.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.7.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/TrafficRule [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -27,24 +27,24 @@ TC_MEC_SRV_TRAF_001_OK Check HTTP Response Body Json Schema Is TrafficRuleList -TC_MEC_SRV_TRAF_001_NF +TP_MEC_MEC011_SRV_TRAF_001_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.0.9, clause 7.2.8.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.8.3.1 [Tags] PIC_MEC_PLAT PIC_SERVICES Get list of traffic rules ${NON_EXISTENT_APP_INSTANCE_ID} Check HTTP Response Status Code Is 404 -TC_MEC_SRV_TRAF_002_OK +TP_MEC_MEC011_SRV_TRAF_002_OK [Documentation] ... Check that the IUT responds with the information on a specific traffic rule ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.8.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.8.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/TrafficRule [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -54,12 +54,12 @@ TC_MEC_SRV_TRAF_002_OK Check Response Contains ${response['body']} trafficRuleId ${TRAFFIC_RULE_ID} -TC_MEC_SRV_TRAF_003_OK +TP_MEC_MEC011_SRV_TRAF_003_OK [Documentation] ... Check that the IUT updates a specific traffic rule ... when commanded by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.8.3.2 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.8.3.2 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/TrafficRule [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -70,12 +70,12 @@ TC_MEC_SRV_TRAF_003_OK Check Response Contains ${response['body']} action DROP -TC_MEC_SRV_TRAF_003_BR +TP_MEC_MEC011_SRV_TRAF_003_BR [Documentation] ... Check that the IUT responds with an error when ... a request with incorrect parameters is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.8.3.2 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.8.3.2 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/TrafficRule [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -83,36 +83,37 @@ TC_MEC_SRV_TRAF_003_BR Check HTTP Response Status Code Is 400 -TC_MEC_SRV_TRAF_003_NF +TP_MEC_MEC011_SRV_TRAF_003_NF [Documentation] ... Check that the IUT responds with an error when ... a request for an unknown URI is sent by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.8.3.2 + ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.8.3.2 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/TrafficRule [Tags] PIC_MEC_PLAT PIC_SERVICES Update a traffic rule ${APP_INSTANCE_ID} ${NON_EXISTENT_TRAFFIC_RULE_ID} TrafficRuleUpdate Check HTTP Response Status Code Is 404 - -TC_MEC_SRV_TRAF_003_PF - [Documentation] - ... Check that the IUT responds with an error when - ... a request sent by a MEC Application doesn't comply with a required condition - ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 7.2.8.3.2 - ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/TrafficRule - - [Tags] PIC_MEC_PLAT PIC_SERVICES - Update a traffic rule with invalid etag ${APP_INSTANCE_ID} ${TRAFFIC_RULE_ID} TrafficRuleUpdate - Check HTTP Response Status Code Is 412 +## Commented as ETag is not mandatory +#TP_MEC_MEC011_SRV_TRAF_003_PF +# [Documentation] +# ... Check that the IUT responds with an error when +# ... a request sent by a MEC Application doesn't comply with a required condition +# ... +# ... Reference ETSI GS MEC 011 V2.2.1, clause 7.2.8.3.2 +# ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecAppSupportApi.yaml#/definitions/TrafficRule +# +# [Tags] PIC_MEC_PLAT PIC_SERVICES +# Update a traffic rule with invalid etag ${APP_INSTANCE_ID} ${TRAFFIC_RULE_ID} TrafficRuleUpdate +# Check HTTP Response Status Code Is 412 *** Keywords *** Get list of traffic rules [Arguments] ${appInstanceId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/traffic_rules ${output}= Output response Set Suite Variable ${response} ${output} @@ -121,6 +122,7 @@ Get individual traffic rule [Arguments] ${appInstanceId} ${trafficRuleId} Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/traffic_rules/${trafficRuleId} ${output}= Output response Set Suite Variable ${response} ${output} @@ -130,6 +132,7 @@ Update a traffic rule Set Headers {"Accept":"application/json"} Set Headers {"Content-Type":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + ${file}= Catenate SEPARATOR= jsons/ ${content} .json ${body}= Get File ${file} PUT ${apiRoot}/${apiName}/${apiVersion}/applications/${appInstanceId}/traffic_rules/${trafficRuleId} ${body} diff --git a/SRV/TRANS/README.md b/MEC011/SRV/TRAF/README.md similarity index 100% rename from SRV/TRANS/README.md rename to MEC011/SRV/TRAF/README.md diff --git a/SRV/TRAF/environment/variables.txt b/MEC011/SRV/TRAF/environment/variables.txt similarity index 94% rename from SRV/TRAF/environment/variables.txt rename to MEC011/SRV/TRAF/environment/variables.txt index 616d47dbba00d3be15ffea3cf49822e964c8c2cb..74db1cc81e0af0957b8ee80fecbea7f24636b718 100644 --- a/SRV/TRAF/environment/variables.txt +++ b/MEC011/SRV/TRAF/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** # Generic variables ${SCHEMA} http -${HOST} 10.192.2.172 +${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l diff --git a/SRV/TRAF/jsons/TrafficRuleUpdate.json b/MEC011/SRV/TRAF/jsons/TrafficRuleUpdate.json similarity index 100% rename from SRV/TRAF/jsons/TrafficRuleUpdate.json rename to MEC011/SRV/TRAF/jsons/TrafficRuleUpdate.json diff --git a/SRV/TRAF/jsons/TrafficRuleUpdateError.json b/MEC011/SRV/TRAF/jsons/TrafficRuleUpdateError.json similarity index 100% rename from SRV/TRAF/jsons/TrafficRuleUpdateError.json rename to MEC011/SRV/TRAF/jsons/TrafficRuleUpdateError.json diff --git a/SRV/TRAF/schemas/TrafficRule.schema.json b/MEC011/SRV/TRAF/schemas/TrafficRule.schema.json similarity index 100% rename from SRV/TRAF/schemas/TrafficRule.schema.json rename to MEC011/SRV/TRAF/schemas/TrafficRule.schema.json diff --git a/SRV/TRAF/schemas/TrafficRuleList.schema.json b/MEC011/SRV/TRAF/schemas/TrafficRuleList.schema.json similarity index 100% rename from SRV/TRAF/schemas/TrafficRuleList.schema.json rename to MEC011/SRV/TRAF/schemas/TrafficRuleList.schema.json diff --git a/SRV/TRANS/PlatTransport.robot b/MEC011/SRV/TRANS/PlatTransport.robot similarity index 85% rename from SRV/TRANS/PlatTransport.robot rename to MEC011/SRV/TRANS/PlatTransport.robot index ade483f8076ab46abfbfb30fa9790be044f6a3da..6dd57cc963be378cac8309ef2c8b7d24824ec7c9 100644 --- a/SRV/TRANS/PlatTransport.robot +++ b/MEC011/SRV/TRANS/PlatTransport.robot @@ -3,7 +3,7 @@ Documentation ... A test suite for validating Transport (TRANS) operations. -Resource ../../GenericKeywords.robot +Resource ../../../GenericKeywords.robot Resource environment/variables.txt Library REST ${SCHEMA}://${HOST}:${PORT} ssl_verify=false Library OperatingSystem @@ -13,12 +13,12 @@ Default Tags TC_MEC_SRV_TRANS *** Test Cases *** -TC_MEC_SRV_TRANS_001_OK +TP_MEC_MEC011_SRV_TRANS_001_OK [Documentation] ... Check that the IUT responds with a list of available transports ... when queried by a MEC Application ... - ... Reference ETSI GS MEC 011 V2.1.1, clause 8.2.5.3.1 + ... Reference ETSI GS MEC 011 V2.2.1, clause 8.2.5.3.1 ... OpenAPI https://forge.etsi.org/rep/mec/gs011-app-enablement-api/blob/master/MecServiceMgmtApi.yaml#/definitions/TransportInfo [Tags] PIC_MEC_PLAT PIC_SERVICES @@ -30,6 +30,7 @@ TC_MEC_SRV_TRANS_001_OK Get list of available transports Set Headers {"Accept":"application/json"} Set Headers {"Authorization":"${TOKEN}"} + Set Headers {"Content-Type":"*/*"} Get ${apiRoot}/${apiName}/${apiVersion}/transports ${output}= Output response Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/MEC011/SRV/TRANS/README.md b/MEC011/SRV/TRANS/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/SRV/TRANS/environment/variables.txt b/MEC011/SRV/TRANS/environment/variables.txt similarity index 93% rename from SRV/TRANS/environment/variables.txt rename to MEC011/SRV/TRANS/environment/variables.txt index 54a9fa3966b372918a594fd5cee455bdd9991795..f5a43dd1fc5697332990eea5997fff6c52d2000d 100644 --- a/SRV/TRANS/environment/variables.txt +++ b/MEC011/SRV/TRANS/environment/variables.txt @@ -1,7 +1,7 @@ *** Variables *** # Generic variables ${SCHEMA} http -${HOST} 10.192.2.172 +${HOST} 127.0.0.1 ${PORT} 8081 ${response} {} ${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l diff --git a/SRV/TRANS/schemas/TransportInfoList.schema.json b/MEC011/SRV/TRANS/schemas/TransportInfoList.schema.json similarity index 100% rename from SRV/TRANS/schemas/TransportInfoList.schema.json rename to MEC011/SRV/TRANS/schemas/TransportInfoList.schema.json diff --git a/SRV/SAQ/schemas/ServiceInfo.schema.json b/SRV/SAQ/schemas/ServiceInfo.schema.json deleted file mode 100644 index 50fbfe28d02dc6d410934a358a22fd4b9f7ace11..0000000000000000000000000000000000000000 --- a/SRV/SAQ/schemas/ServiceInfo.schema.json +++ /dev/null @@ -1,271 +0,0 @@ -{ - "description": "This type represents the general information of a MEC service.", - "type": "object", - "required": [ - "serName", - "version", - "state", - "transportInfo", - "serializer" - ], - "properties": { - "serInstanceId": { - "description": "Identifier of the service instance assigned by the MEC platform.", - "type": "string", - "readOnly": true, - "example": "ServiceInstance123" - }, - "serName": { - "description": "The name of the service. This is how the service producing MEC application identifies the service instance it produces.", - "type": "string", - "example": "ExampleService" - }, - "serCategory": { - "description": "This type represents the category reference", - "type": "object", - "required": [ - "href", - "id", - "name", - "version" - ], - "properties": { - "href": { - "description": "Reference of the catalogue", - "type": "string", - "format": "uri", - "example": "/example/catalogue1" - }, - "id": { - "description": "Unique identifier of the category", - "type": "string", - "example": "id12345" - }, - "name": { - "description": "Name of the category, example values include RNI, Location & Bandwidth Management", - "type": "string", - "example": "RNI" - }, - "version": { - "description": "Category version", - "type": "string", - "example": "version1" - } - } - }, - "version": { - "description": "Service version", - "type": "string", - "example": "ServiceVersion1" - }, - "state": { - "description": "This enumeration defines the possible states of a service.", - "type": "string", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "example": "ACTIVE" - }, - "transportInfo": { - "description": "This type represents the general information of a MEC service.", - "type": "object", - "required": [ - "id", - "name", - "type", - "protocol", - "version", - "endpoint", - "security" - ], - "properties": { - "id": { - "description": "The identifier of this transport", - "type": "string", - "example": "TransId12345" - }, - "name": { - "description": "The name of this transport", - "type": "string", - "example": "REST" - }, - "description": { - "description": "Human-readable description of this transport", - "type": "string", - "example": "REST API" - }, - "type": { - "description": "The enumeration TransportType represents types of transports", - "type": "string", - "enum": [ - "REST_HTTP", - "MB_TOPIC_BASED", - "MB_ROUTING", - "MB_PUBSUB", - "RPC", - "RPC_STREAMING", - "WEBSOCKET" - ], - "example": "REST_HTTP" - }, - "protocol": { - "description": "The name of the protocol used. Shall be set to HTTP for a REST API.", - "type": "string", - "example": "HTTP" - }, - "version": { - "description": "The version of the protocol used", - "type": "string", - "example": "2.0" - }, - "endpoint": { - "description": "This type represents information about a transport endpoint", - "type": "object", - "oneOf": [{ - "description": "Entry point information of the service as string, formatted according to URI syntax", - "type": "object", - "required": [ - "uris" - ], - "properties": { - "uris": { - "type": "array", - "minItems": 0, - "items": { - "description": "Entry point information of the service", - "type": "string", - "format": "uri", - "example": "/mecSerMgmtApi/service/EntryPoint" - } - } - } - }, - { - "description": "Entry point information of the service as one or more pairs of IP address and port", - "type": "object", - "required": [ - "addresses" - ], - "properties": { - "addresses": { - "type": "array", - "minItems": 0, - "items": { - "description": "A IP address and port pair", - "type": "object", - "required": [ - "host", - "port" - ], - "properties": { - "host": { - "description": "Host portion of the address", - "type": "string", - "example": "192.0.2.0" - }, - "port": { - "description": "Port portion of the address", - "type": "integer", - "format": "uint32", - "example": 8080 - } - } - } - } - } - }, - { - "description": "Entry point information of the service in a format defined by an implementation, or in an external specification.", - "type": "object", - "required": [ - "alternative" - ], - "properties": { - "alternative": { - "type": "object" - } - } - } - ] - }, - "security": { - "description": "This type represents security information related to a transport", - "type": "object", - "properties": { - "oAuth2Info": { - "description": "Parameters related to use of OAuth 2.0", - "required": [ - "grantTypes", - "tokenEndpoint" - ], - "properties": { - "grantTypes": { - "description": "List of supported OAuth 2.0 grant types.", - "type": "array", - "minItems": 1, - "maxItems": 4, - "items": { - "description": "OAuth 2.0 grant type", - "type": "string", - "enum": [ - "OAUTH2_AUTHORIZATION_CODE", - "OAUTH2_IMPLICIT_GRANT", - "OAUTH2_RESOURCE_OWNER", - "OAUTH2_CLIENT_CREDENTIALS" - ], - "example": "OAUTH2_CLIENT_CREDENTIALS" - } - }, - "tokenEndpoint": { - "description": "The token endpoint", - "type": "string", - "format": "uri", - "example": "/mecSerMgmtApi/security/TokenEndPoint" - } - }, - "type": "object" - } - } - }, - "implSpecificInfo": { - "description": "Additional implementation specific details of the transport", - "type": "object" - } - } - }, - "serializer": { - "description": "The enumeration represents types of serializers", - "type": "string", - "enum": [ - "JSON", - "XML", - "PROTOBUF3" - ], - "example": "JSON" - }, - "scopeOfLocality": { - "description": "The scope of locality as expressed by \"consumedLocalOnly\" and \"isLocal\". If absent, defaults to MEC_HOST", - "type": "string", - "enum": [ - "MEC_SYSTEM", - "MEC_HOST", - "NFVI_POP", - "ZONE", - "ZONE_GROUP", - "NFVI_NODE" - ], - "example": "MEC_SYSTEM" - }, - "consumedLocalOnly": { - "description": "Indicate whether the service can only be consumed by the MEC applications located in the same locality (as defined by scopeOfLocality) as this service instance.", - "type": "boolean", - "example": false - }, - "isLocal": { - "description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.", - "type": "boolean", - "example": true - } - } -} \ No newline at end of file