aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/resources/karatetest
diff options
context:
space:
mode:
authorNikhilMohan <nikmohan81@gmail.com>2020-08-26 20:30:48 +0530
committernikhil mohan <nikmohan81@gmail.com>2020-08-26 20:34:02 +0530
commit93fabeb929bb1b422d7473e23935f47fead4f4d8 (patch)
treef81cd4b669efda82154362c95beaba4b977fbd5f /src/test/resources/karatetest
parentb337097739ba195b5d7a8cbb71c2f0e7f0e74d30 (diff)
Implementation for TMF 633 API - POST /serviceSpecification
Issue-ID: EXTAPI-488 Signed-off-by: nikhil mohan <nikmohan81@gmail.com> Change-Id: I382e3b2bfbde656508bcfb0c86e748f21a7790d2
Diffstat (limited to 'src/test/resources/karatetest')
-rw-r--r--src/test/resources/karatetest/data/serviceSpecification.json195
-rw-r--r--src/test/resources/karatetest/features/00--ServiceCatalog.feature73
2 files changed, 267 insertions, 1 deletions
diff --git a/src/test/resources/karatetest/data/serviceSpecification.json b/src/test/resources/karatetest/data/serviceSpecification.json
new file mode 100644
index 0000000..858aa11
--- /dev/null
+++ b/src/test/resources/karatetest/data/serviceSpecification.json
@@ -0,0 +1,195 @@
+[
+ {
+ "name": "partner-service",
+ "description": "A test service through TMF API 633",
+ "@type": "ServiceSpecification",
+ "@schemaLocation": null,
+ "@baseType": "Service",
+ "toscaModelURL": "/",
+ "toscaResourceName": "",
+ "category": "Partner Domain Service",
+ "subcategory": "subservice",
+ "version": "1.0",
+ "lifecycleStatus": "NOT_CERTIFIED_CHECKOUT",
+ "DistributionStatus": "DISTRIBUTION_NOT_APPROVED",
+ "targetServiceSchema": {
+ "@type": "string",
+ "@schemaLocation": "/"
+ },
+ "attachment": [{
+ "id" : "1eadef",
+ "name" : "info-artifact",
+ "description" : "informational",
+ "artifactLabel" : "notes",
+ "artifactGroupType" : "info",
+ "artifactTimeout" : "500",
+ "artifactChecksum" : "adef23",
+ "artifactVersion" : "1.0",
+ "generatedFromUUID" : "a12e",
+ "url" : "/artifact/info/1eadef",
+ "mimeType" : "text",
+ "@type" : "ONAPartifact"
+ }
+
+ ],
+ "relatedParty": [
+ {
+ "id": "cs0008",
+ "role": "designer",
+ "name": "Carlos Santana"
+ }
+ ],
+ "resourceSpecification": [
+ {
+ "id" : "281abc4d",
+ "version" : "1.0",
+ "name" : "vfirewall",
+ "resourceInstanceName" : "vfirewallinst",
+ "modelCustomizationName" : "vfirewallinst",
+ "resourceInvariantUUID" : "123ebdf",
+ "resourceType" : "VNF",
+ "@type" : "ONAPresource"
+ }
+ ],
+ "serviceSpecCharacteristic": [
+ {
+ "name": "firewall",
+ "description": "Firewall characteristic",
+ "valueType": "string",
+ "@type": "string",
+ "@schemaLocation": "string",
+ "required": true,
+ "serviceSpecCharacteristicValue": [
+ {
+ "valueType": "string",
+ "isDefault": true,
+ "value": "NA"
+ }
+ ]
+ },
+ {
+ "name": "isBundled",
+ "description": "is bundled or not",
+ "valueType": "boolean",
+ "@type": "string",
+ "@schemaLocation": "string",
+ "required": true,
+ "serviceSpecCharacteristicValue": [
+ {
+ "valueType": "boolean",
+ "isDefault": true,
+ "value": true
+ }
+ ]
+ },
+ {
+ "name": "NumberofPort",
+ "description": "NumberofPorts",
+ "valueType": "integer",
+ "@type": "string",
+ "@schemaLocation": "string",
+ "required": true,
+ "serviceSpecCharacteristicValue": [
+ {
+ "valueType": "string",
+ "isDefault": false,
+ "value": "10"
+ }
+ ]
+ },
+ {
+ "name": "ipaddress",
+ "description": "ipaddress",
+ "valueType": "float",
+ "@type": "string",
+ "@schemaLocation": "string",
+ "required": true,
+ "serviceSpecCharacteristicValue": [
+ {
+ "valueType": "string",
+ "isDefault": false,
+ "value": "15.123.9.101"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "@type": "ServiceSpecification",
+ "@schemaLocation": null,
+ "@baseType": "Service",
+ "toscaModelURL": "/",
+ "toscaResourceName": "",
+ "subcategory": "subservice",
+ "version": "1.0",
+ "lifecycleStatus": "NOT_CERTIFIED_CHECKOUT",
+ "targetServiceSchema": {
+ "@type": "string",
+ "@schemaLocation": "/"
+ },
+ "attachment": [],
+ "resourceSpecification": [],
+ "serviceSpecCharacteristic": [
+ {
+ "name": "firewall",
+ "description": "Firewall characteristic",
+ "valueType": "string",
+ "@type": "string",
+ "@schemaLocation": "string",
+ "required": true,
+ "serviceSpecCharacteristicValue": [
+ {
+ "valueType": "string",
+ "isDefault": true,
+ "value": "NA"
+ }
+ ]
+ },
+ {
+ "name": "isBundled",
+ "description": "is bundled or not",
+ "valueType": "boolean",
+ "@type": "string",
+ "@schemaLocation": "string",
+ "required": true,
+ "serviceSpecCharacteristicValue": [
+ {
+ "valueType": "boolean",
+ "isDefault": true,
+ "value": true
+ }
+ ]
+ },
+ {
+ "name": "NumberofPorts",
+ "description": "Number of Ports",
+ "valueType": "integer",
+ "@type": "string",
+ "@schemaLocation": "string",
+ "required": true,
+ "serviceSpecCharacteristicValue": [
+ {
+ "valueType": "string",
+ "isDefault": false,
+ "value": "10"
+ }
+ ]
+ },
+ {
+ "name": "ipaddress",
+ "description": "ipaddress",
+ "valueType": "string",
+ "@type": "string",
+ "@schemaLocation": "string",
+ "required": true,
+ "serviceSpecCharacteristicValue": [
+ {
+ "valueType": "string",
+ "isDefault": true,
+ "value": "10.244.34.1"
+ }
+ ]
+ }
+ ]
+ }
+] \ No newline at end of file
diff --git a/src/test/resources/karatetest/features/00--ServiceCatalog.feature b/src/test/resources/karatetest/features/00--ServiceCatalog.feature
index 2a4a5c0..1887498 100644
--- a/src/test/resources/karatetest/features/00--ServiceCatalog.feature
+++ b/src/test/resources/karatetest/features/00--ServiceCatalog.feature
@@ -20,9 +20,10 @@ Feature: Service Catalog
Background:
* url nbiBaseUrl
* def Context = Java.type('org.onap.nbi.test.Context');
+* def data = read('../data/serviceSpecification.json')
* configure readTimeout = 30000
* call Context.startServers();
-
+
Scenario: testServiceCatalogGetResourceWithoutTosca
Given path 'serviceSpecification','1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca'
When method get
@@ -127,4 +128,74 @@ When method get
Then status 500
* call Context.startServers();
+Scenario: testCreateServiceSpec
+Given path 'serviceSpecification'
+And header USER_ID = 'cs0008'
+And request data[0]
+When method post
+Then status 201
+And match $.id contains '#notnull'
+And match $.lifecycleStatus == 'NOT_CERTIFIED_CHECKOUT'
+And match $.serviceSpecCharacteristic ==
+"""
+[ {
+ "name" : "isBundle",
+ "description" : "is bundled or not",
+ "valueType" : "boolean",
+ "required" : true,
+ "serviceSpecCharacteristicValue" : [ {
+ "value" : "true",
+ "isDefault" : true
+ } ]
+ }, {
+ "name" : "ipaddress",
+ "description" : "ipaddress",
+ "valueType" : "string",
+ "required" : true,
+ "serviceSpecCharacteristicValue" : [ {
+ "value" : "10.244.34.1",
+ "isDefault" : true
+ } ]
+ }, {
+ "name" : "firewall",
+ "description" : "Firewall characteristic",
+ "valueType" : "string",
+ "required" : true,
+ "serviceSpecCharacteristicValue" : [ {
+ "value" : "NA",
+ "isDefault" : true
+ } ]
+ }, {
+ "name" : "NumberofPorts",
+ "description" : "Number of Ports",
+ "valueType" : "integer",
+ "required" : true,
+ "serviceSpecCharacteristicValue" : [ {
+ "value" : "10",
+ "isDefault" : true
+ } ]
+ } ]
+"""
+
+Scenario: testCreateServiceSpecWithoutUser
+Given path 'serviceSpecification'
+And request data[0]
+When method post
+Then status 400
+And match $.message contains "Missing request header 'USER_ID'"
+
+Scenario: testCreateServiceSpecWithoutPayload
+Given path 'serviceSpecification'
+And header USER_ID = 'cs0008'
+And request {}
+When method post
+Then status 400
+
+Scenario: testCreateServiceSpecWithoutMandatoryDetails
+Given path 'serviceSpecification'
+And header USER_ID = 'cs0008'
+And request data[1]
+When method post
+Then status 400
+And match $.message contains 'Bad Request'