Commit 0c96fc4c authored by piscione's avatar piscione
Browse files

Updated App Package Management TCs for MEC010p2 v2.2.1

parent cbf7bbb7
Pipeline #10602 passed with stage
in 0 seconds
*** Variables ***
# Generic variables
${MEO_SCHEMA} http
${MEO_HOST} 10.192.2.172
${MEO_HOST} 127.0.0.1
#${MEO_HOST} 10.192.2.172
${MEO_PORT} 8081
${response} {}
${TOKEN} Basic YWxhZGRpbjpvcGVuc2VzYW1l
${apiRoot}
${apiName} apmi
${apiName} app_pkgm
${apiVersion} v1
# Specific variables
${APP_PKG_NAME} APP_PKG_NAME // Should be the same as in AppPkg.json
${APP_PKG_VERSION} APP_PKG_VERSION // Should be the same as in AppPkg.json
${CHECKSUM} CHECKSUM // Should be the same as in AppPkg.json
${OPERATIONAL_STATE} OPERATIONAL_STATE // Should be the same as in AppPkg.json
${USAGE_STATE} USAGE_STATE // Should be the same as in AppPkg.json
${APP_PKG_NAME} appName
${APP_PKG_VERSION} APP_PKG_VERSION
${APP_NAME} appName
${CHECKSUM} SHA-256
${OPERATIONAL_STATE} ENABLED
${ONBOARDING_STATE} CREATED
${USAGE_STATE} NOT_IN_USE
${APP_PKG_ID} 01234782-2c70-4e47-9a4e-0ee3a1a00123
${ON_BOARDED_APP_PKG_ID} 5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f
${APPD_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3
${MALFORMED_FILTER_NAME} operationalStatus // Should be operationalState
${MALFORMED_FILTER_NAME} operationalStatus
${FILTER_VALUE} NOT_IN_USE
${NON_EXISTENT_APP_PKG_ID} NON_EXISTENT_APP_PKG_ID
${OPERATION_VALUE} DISABLE
${WRONG_OPERATION_VALUE} DISABL
${ACCEPTED_CONTENT_TYPE} text/plain // Should refer to the type of AppD
${ACCEPTED_CONTENT_TYPE} text/plain; charset=utf-8
${ACCEPTED_CONTENT_TYPE_ZIP} application/zip
${WRONG_CONTENT_TYPE} application/json
${SUBSCRIPTION_ID} e0deee2b-6e50-4f33-ab09-8bf0585025d3
${NOT_EXISTING_APP_PKG_ID} NOT_EXISTING_APP_PKG_ID
${SUBSCRIPTION_TYPE} MobilityProcedureSubscription
${SUBSCRIPTION_TYPE} AppPackageOnBoardingSubscription
${NON_EXISTENT_SUBSCRIPTION_ID} NON_EXISTENT_SUBSCRIPTION_ID
${CALLBACK_URI} http://some.url/somepath
# Notifications variables
......
{
"operationalState": "ENABLED"
}
\ No newline at end of file
{
"operationalState": "DISABL"
}
\ No newline at end of file
{
"id": "1234",
"subscriptionType": "AppPackageOnBoardingSubscription",
"callbackUri": "http://172.22.1.7:9091",
"_links": {
"self": {
"href": "https://app_lcm/subscriptions/1234"
}
}
}
\ No newline at end of file
{
"id": "1234",
"subscriptionType": "ON-BOARDING",
"callbackUri": "http://172.22.1.7:9091",
"_links": {
"self": {
"href": "https://app_lcm/subscriptions/1234"
}
}
}
\ No newline at end of file
{}
\ No newline at end of file
{
"id": "AppPkgInfoId",
"appDid": "appdId",
"appName": "APP_NAME",
"appSoftwareVersion": "APP_SOFTWARE_VERSION",
"appDVersion": "APP_D_VERSION",
"checksum": {
"algorithm": "SHA-256",
"hash": "0x1234567890abcdef"
},
"softwareImages": ["info about sofware image"],
"onBoardingState": "CREATED",
"operationalState": "ENABLED",
"usageState": "NOT_IN_USE",
"mecInfo": ["mecInfo"],
"links": {
"self": {
"href": "/app_lcm/v1/app_packages/123"
},
"appD": {
"href": "/app_lcm/v1/on_boarded_app_packages/456/appd"
},
"appPkgContent": {
"href": "/app_lcm/v1/on_boarded_app_packages/456/package_content"
}
}
}
\ No newline at end of file
This diff is collapsed.
{
"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",
"_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"
]
},
"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 the operational state for an application package resource'",
"type": "object",
"required": [
"operationalState"
],
"properties": {
"operationalState": {
"type": "string",
"enum": [
"DISABLED",
"ENABLED"
]
}
}
}
\ No newline at end of file
{
"description": "'This data type represents an application package management notification for informing the subscribers about onboarding application package resources. The notification is triggered when a new application package is onboarded'",
"type": "object",
"required": [
"id",
"notificationType",
"subscriptionId",
"timeStamp",
"appPkgId",
"appDId",
"operationalState",
"_links"
],
"properties": {
"id": {
"description": "''",
"type": "string"
},
"notificationType": {
"description": "Discriminator for the different notification types",
"type": "string",
"enum": [
"AppPackageOnBoarded",
"AppPacakgeEnabled",
"AppPacakgeDisabled",
"AppPackageDeleted"
]
},
"subscriptionId": {
"description": "Identifier of the subscription related to this notification.",
"type": "string"
},
"timeStamp": {
"properties": {
"nanoSeconds": {
"description": "The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "Uint32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
},
"seconds": {
"description": "The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
"format": "Uint32",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Uint32"
}
},
"required": [
"seconds",
"nanoSeconds"
],
"type": "object",
"x-etsi-ref": "6.2.5.4"
},
"appPkgId": {
"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"
},
"operationalState": {
"type": "string",
"enum": [
"DISABLED",
"ENABLED"
]
},
"_links": {
"description": "Links to resources related to this resource.",
"type": "object",
"required": [
"subscription"
],
"properties": {
"subscription": {
"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",
"AppPacakgeOperationChange",
"AppPackageDeletion"
]
},
"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
{
"description": "'The data type represents a subscription link list of notification on application package management'",
"type": "object",
"required": [
"_links"
],
"properties": {
"_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"
},
"subscriptions": {
"type": "array",
"items": {
"description": "'The data type represents the input parameters of \"subscription operation\" to notification of application package management for the onboarding, or operational state change of application package.'",
"type": "object",
"required": [
"href",
"subsctiptionType"
],
"properties": {
"href": {
"description": "The URI referring to the subscription.",
"type": "string",
"format": "uri"
},
"subsctiptionType": {
"description": "'Subscribed notification type'",
"type": "string",
"enum": [
"AppPackageOnBoardingSubscription",
"AppPacakgeOperationChange",
"AppPackageDeletion"
]
}
}
}
}
}
}
}
}
\ No newline at end of file
{
"properties": {
"appPkgName": {
"description": "Name of the application package to be onboarded.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"appPkgPath": {
"type": "string"
},
"appPkgVersion": {
"description": "Version of the application package to be onboarded.\nThe appPkgName with appPkgVersion can be used to uniquely identify the application package.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"appProvider": {
"description": "The provider's name of the application package to be onboarded.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-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"
},
"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
}
},
"required": [
"appPkgName",
"appPkgVersion",
"checksum",
"appPkgPath"
],
"type": "object",
"x-etsi-notes": "NOTE:\tIt is for further study how to convey appPkgPath, and align with ETSI GS NFV-SOL 005 [i.7].",
"x-etsi-ref": "6.2.3.2"