Interface operation feature enhancements
1. API restructuring to enhance model and provide more capabilities.
2. Allowed multiple interface creation under same resource/service.
3. Enhanced validations to align with updated model.
4. API restructuring to align UI model with Tosca model.
5. Enhanced Junit and code coverage.
6. Added BDD and CI-API tests.
Change-Id: I2d8ac8a6154fd9be8254836ba0da1540210031c0
Issue-ID: SDC-1999
Signed-off-by: priyanshu <pagarwal@amdocs.com>
diff --git a/cucumber-js-test-apis-ci/resources/json/createService.json b/cucumber-js-test-apis-ci/resources/json/createService.json
new file mode 100644
index 0000000..a76cc51
--- /dev/null
+++ b/cucumber-js-test-apis-ci/resources/json/createService.json
@@ -0,0 +1,66 @@
+{
+ "artifacts": {},
+ "toscaArtifacts": {},
+ "contactId": "cs0008",
+ "categories": [{
+ "name": "Network L4+",
+ "normalizedName": "network l4+",
+ "uniqueId": "serviceNewCategory.network l4+",
+ "icons": ["network_l_4"],
+ "subcategories": null,
+ "version": null,
+ "ownerId": null,
+ "empty": false,
+ "type": null
+ }],
+ "description": "service1 for bdd",
+ "icon": "defaulticon",
+ "componentInstancesProperties": {},
+ "componentInstancesAttributes": {},
+ "name": "service1",
+ "tags": ["service1"],
+ "capabilities": {},
+ "requirements": {},
+ "deploymentArtifacts": {},
+ "componentType": "SERVICE",
+ "projectCode": "010203",
+ "componentInstances": [],
+ "properties": [],
+ "inputs": [{
+ "uniqueId": "03eeb10e-cf2a-41b8-9d8e-d2dbd094f9d4.test1_dasddas",
+ "type": "scalar-unit.size",
+ "required": false,
+ "definition": false,
+ "schema": {
+ "properties": {},
+ "property": {
+ "type": "",
+ "required": false,
+ "definition": true,
+ "password": false,
+ "hidden": false,
+ "immutable": false,
+ "getInputProperty": false,
+ "empty": false
+ },
+ "empty": false
+ },
+ "password": false,
+ "name": "test1_dasddas",
+ "hidden": false,
+ "immutable": false,
+ "instanceUniqueId": "03eeb10e-cf2a-41b8-9d8e-d2dbd094f9d4",
+ "propertyId": "03eeb10e-cf2a-41b8-9d8e-d2dbd094f9d4.dasddas",
+ "parentUniqueId": "cs0008",
+ "schemaType": "",
+ "getInputProperty": false,
+ "ownerId": "cs0008",
+ "empty": false
+ }],
+ "attributes": [],
+ "forwardingPaths": {},
+ "ecompGeneratedNaming": true,
+ "serviceApiArtifacts": {},
+ "instantiationType": "A-la-carte",
+ "environmentContext": "General_Revenue-Bearing"
+}
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/resources/json/createVFWithoutCSAR.json b/cucumber-js-test-apis-ci/resources/json/createVFWithoutCSAR.json
new file mode 100644
index 0000000..dd8764f
--- /dev/null
+++ b/cucumber-js-test-apis-ci/resources/json/createVFWithoutCSAR.json
@@ -0,0 +1,76 @@
+{
+ "artifacts": {},
+ "toscaArtifacts": {},
+ "contactId": "cs0008",
+ "categories": [{
+ "name": "Generic",
+ "normalizedName": "generic",
+ "uniqueId": "REPLACE CATEGORY VSP",
+ "icons": null,
+ "subcategories": [
+ {
+ "name": "Abstract",
+ "normalizedName": "abstract",
+ "uniqueId": "REPLACE SUBCATEGORY VSP",
+ "icons": [
+ "objectStorage",
+ "compute"
+ ],
+ "groupings": null,
+ "ownerId": null,
+ "empty": false
+ }
+ ],
+ "ownerId": null,
+ "empty": false
+ }],
+ "description": "vf_for_bdd",
+ "icon": "defaulticon",
+ "componentInstancesProperties": {},
+ "componentInstancesAttributes": {},
+ "name": "vf_for_bdd",
+ "tags": ["vf_for_bdd"],
+ "capabilities": {},
+ "requirements": {},
+ "deploymentArtifacts": {},
+ "componentType": "RESOURCE",
+ "vendorName": "vf_for_bdd",
+ "vendorRelease": "vf_for_bdd",
+ "componentInstances": [],
+ "inputs": [{
+ "uniqueId": "testInputForBDD",
+ "type": "org.openecomp.datatypes.Naming",
+ "required": false,
+ "definition": false,
+ "defaultValue": null,
+ "description": null,
+ "schema": null,
+ "password": false,
+ "name": "abcdef",
+ "value": null,
+ "label": null,
+ "hidden": false,
+ "immutable": false,
+ "inputPath": null,
+ "status": null,
+ "inputId": null,
+ "instanceUniqueId": null,
+ "propertyId": null,
+ "annotations": null,
+ "parentUniqueId": "abcd",
+ "getInputValues": null,
+ "constraints": null,
+ "inputs": null,
+ "properties": null,
+ "getInputProperty": false,
+ "schemaType": null,
+ "schemaProperty": null,
+ "version": null,
+ "ownerId": null,
+ "empty": false
+ }],
+ "properties": [],
+ "attributes": [],
+ "groups": [],
+ "resourceType": "VF"
+}
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/resources/json/interfaceOperation/createInterfaceOperations.json b/cucumber-js-test-apis-ci/resources/json/interfaceOperation/createInterfaceOperations.json
new file mode 100644
index 0000000..ee38f17
--- /dev/null
+++ b/cucumber-js-test-apis-ci/resources/json/interfaceOperation/createInterfaceOperations.json
@@ -0,0 +1,31 @@
+{
+ "interfaces": {
+ "interface1": {
+ "type": "interface1",
+ "operations": {
+ "delete": {
+ "name": "delete",
+ "description": "description",
+ "inputs": {
+ "listToscaDataDefinition": [{
+ "name": "inp1",
+ "type": "string",
+ "inputId": "c4c6e35f-37d1-4fd5-943c-51257386a86c.nf_naming.instance_name",
+ "required": true
+ }]
+ },
+ "outputs": {
+ "listToscaDataDefinition": [{
+ "type": "string",
+ "required": true,
+ "name": "op1"
+ }]
+ },
+ "workflowAssociationType": "NONE",
+ "workflowId": null,
+ "workflowVersionId": null
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/resources/json/interfaceOperation/updateInterfaceOperation.json b/cucumber-js-test-apis-ci/resources/json/interfaceOperation/updateInterfaceOperation.json
new file mode 100644
index 0000000..8821e7f
--- /dev/null
+++ b/cucumber-js-test-apis-ci/resources/json/interfaceOperation/updateInterfaceOperation.json
@@ -0,0 +1,34 @@
+{
+ "interfaces": {
+ "interface1": {
+ "type": "interface1",
+ "operations": {
+ "delete" : {
+ "name": "sshGV",
+ "description": "sshGV updated description" ,
+ "inputs": {
+ "listToscaDataDefinition": [
+ {
+ "name": "inputId_up",
+ "type": "string",
+ "inputId": "c4c6e35f-37d1-4fd5-943c-51257386a86c.nf_naming.instance_name",
+ "required": true
+ }
+ ]
+ },
+ "outputs": {
+ "listToscaDataDefinition": [{
+ "name": "outUp_up",
+ "type": "string",
+ "required": true
+ }]
+ },
+ "uniqueId": "3f6b7144-2dec-48e2-80cb-c67e8bc1d7d2",
+ "workflowAssociationType": "NONE",
+ "workflowId": null,
+ "workflowVersionId": null
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/resources/json/operation/createOperation-with-workflow.json b/cucumber-js-test-apis-ci/resources/json/operation/createOperation-with-workflow.json
deleted file mode 100644
index e9693ad..0000000
--- a/cucumber-js-test-apis-ci/resources/json/operation/createOperation-with-workflow.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "interfaceOperations": {
- "operation": {
- "description": "abcd description",
- "inputParams": {
- "listToscaDataDefinition": [
- {
- "name": "inp1",
- "type": "string",
- "property": "97477d27-8fe2-45a1-83cb-83368ef2a402.nf_naming_code",
- "mandatory": true
- }
- ]
- },
- "outputParams": {
- "listToscaDataDefinition": [
- {
- "name": "op",
- "mandatory": true,
- "type": "String"
- }
- ]
- },
- "operationType": "create",
- "workflowAssociationType": "EXISTING",
- "workflowId" : "workflowId",
- "workflowVersionId" : "workflowVersionId"
- }
- }
-}
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/resources/json/operation/createOperation.json b/cucumber-js-test-apis-ci/resources/json/operation/createOperation.json
deleted file mode 100644
index 10c34ba..0000000
--- a/cucumber-js-test-apis-ci/resources/json/operation/createOperation.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "interfaceOperations": {
- "operation": {
- "description": "abcd description",
- "inputParams": {
- },
- "outputParams": {
- },
- "operationType": "create",
- "workflowId" : null,
- "workflowVersionId" : null
- }
- }
-}
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/resources/json/operation/createOperationWithInputOutput.json b/cucumber-js-test-apis-ci/resources/json/operation/createOperationWithInputOutput.json
deleted file mode 100644
index 013d615..0000000
--- a/cucumber-js-test-apis-ci/resources/json/operation/createOperationWithInputOutput.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "interfaceOperations": {
- "operation": {
- "description": "abcd description",
- "inputParams": {
- "listToscaDataDefinition": [
- {
- "name": "inp1",
- "type": "string",
- "property": "97477d27-8fe2-45a1-83cb-83368ef2a402.nf_naming_code",
- "mandatory": true
- }
- ]
- },
- "outputParams": {
- "listToscaDataDefinition": [
- {
- "name": "op",
- "mandatory": true,
- "type": "String"
- }
- ]
- },
- "operationType": "create",
- "workflowId" : null,
- "workflowVersionId" : null
- }
- }
-}
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/resources/json/operation/createService.json b/cucumber-js-test-apis-ci/resources/json/operation/createService.json
deleted file mode 100644
index e7afe2a..0000000
--- a/cucumber-js-test-apis-ci/resources/json/operation/createService.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "artifacts": {
-
- },
- "toscaArtifacts": {
-
- },
- "contactId": "cs0008",
- "categories": [
- {
- "name": "Network L4+",
- "normalizedName": "network l4+",
- "uniqueId": "serviceNewCategory.network l4+",
- "icons": [
- "network_l_4"
- ],
- "subcategories": null,
- "version": null,
- "ownerId": null,
- "empty": false,
- "type": null
- }
- ],
- "description": "service1 for bdd",
- "icon": "defaulticon",
- "componentInstancesProperties": {
-
- },
- "componentInstancesAttributes": {
-
- },
- "name": "service1",
- "tags": [
- "service1"
- ],
- "capabilities": {
-
- },
- "requirements": {
-
- },
- "deploymentArtifacts": {
-
- },
- "componentType": "SERVICE",
- "projectCode": "010203",
- "componentInstances": [
-
- ],
- "properties": [
-
- ],
-
- "inputs": [
- {
- "uniqueId": "03eeb10e-cf2a-41b8-9d8e-d2dbd094f9d4.test1_dasddas",
- "type": "scalar-unit.size",
- "required": false,
- "definition": false,
- "schema": {
- "properties": {
-
- },
- "property": {
- "type": "",
- "required": false,
- "definition": true,
- "password": false,
- "hidden": false,
- "immutable": false,
- "getInputProperty": false,
- "empty": false
- },
- "empty": false
- },
- "password": false,
- "name": "test1_dasddas",
- "hidden": false,
- "immutable": false,
- "instanceUniqueId": "03eeb10e-cf2a-41b8-9d8e-d2dbd094f9d4",
- "propertyId": "03eeb10e-cf2a-41b8-9d8e-d2dbd094f9d4.dasddas",
- "parentUniqueId": "cs0008",
- "schemaType": "",
- "getInputProperty": false,
- "ownerId": "cs0008",
- "empty": false
- }
- ],
-
- "attributes": [
-
- ],
- "forwardingPaths": {
-
- },
- "ecompGeneratedNaming": true,
- "serviceApiArtifacts": {
-
- },
- "instantiationType": "A-la-carte",
- "environmentContext": "General_Revenue-Bearing"
-}
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/resources/json/operation/createVF.json b/cucumber-js-test-apis-ci/resources/json/operation/createVF.json
deleted file mode 100644
index 6fe9688..0000000
--- a/cucumber-js-test-apis-ci/resources/json/operation/createVF.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "artifacts": {
-
- },
- "toscaArtifacts": {
-
- },
- "contactId": "cs0008",
- "categories": [
- {
- "name": "Allotted Resource",
- "normalizedName": "allotted resource",
- "uniqueId": "resourceNewCategory.allotted resource",
- "icons": null,
- "subcategories": [
- {
- "name": "Tunnel XConnect",
- "normalizedName": "tunnel xconnect",
- "uniqueId": "resourceNewCategory.allotted resource.tunnel xconnect",
- "icons": [
- "tunnel_x_connect"
- ],
- "groupings": null,
- "ownerId": null,
- "empty": false
- }
- ],
- "ownerId": null,
- "empty": false
- }
- ],
- "description": "sd",
- "icon": "defaulticon",
- "componentInstancesProperties": {
-
- },
- "componentInstancesAttributes": {
-
- },
- "name": "REPLACE",
- "tags": [
- "REPLACE"
- ],
- "capabilities": {
-
- },
- "requirements": {
-
- },
- "deploymentArtifacts": {
-
- },
- "componentType": "RESOURCE",
- "vendorName": "vendor",
- "vendorRelease": "vendor release",
- "componentInstances": [
-
- ],
- "inputs": [{
- "uniqueId": "abcdef",
- "type": "org.openecomp.datatypes.Naming",
- "required": false,
- "definition": false,
- "defaultValue": null,
- "description": null,
- "schema": null,
- "password": false,
- "name": "abcdef",
- "value": null,
- "label": null,
- "hidden": false,
- "immutable": false,
- "inputPath": null,
- "status": null,
- "inputId": null,
- "instanceUniqueId": null,
- "propertyId": null,
- "annotations": null,
- "parentUniqueId": "abcd",
- "getInputValues": null,
- "constraints": null,
- "inputs": null,
- "properties": null,
- "getInputProperty": false,
- "schemaType": null,
- "schemaProperty": null,
- "version": null,
- "ownerId": null,
- "empty": false
- } ],
- "properties": [
-
- ],
- "attributes": [
-
- ],
- "groups": [
-
- ],
- "resourceType": "VF"
-}
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/resources/json/operation/updateOperation.json b/cucumber-js-test-apis-ci/resources/json/operation/updateOperation.json
deleted file mode 100644
index 698d38c..0000000
--- a/cucumber-js-test-apis-ci/resources/json/operation/updateOperation.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "interfaceOperations": {
- "operation": {
- "description": "create operation_Updated",
- "inputParams": {
- "listToscaDataDefinition": [
- {
- "name": "inp1",
- "type": "string",
- "property": "97477d27-8fe2-45a1-83cb-83368ef2a402.nf_naming_code",
- "mandatory": true
- }
- ]
- },
- "outputParams": {
- "listToscaDataDefinition": [
- {
- "name": "op",
- "mandatory": true,
- "type": "String"
- }
- ]
- },
- "operationType": "create",
- "uniqueId": "REPLACE FROM CONTEXT"
- }
- }
-}
\ No newline at end of file