From 6b108a1ee9757373600688c7aeb7ee7c27f7f699 Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Mon, 24 May 2021 12:01:55 -0400 Subject: Add GRA CSIT tests Added CSIT test cases for basic GENERIC-RESOURCE-API flow Change-Id: Ic4f0b1bb5c59ca873e028089e77ab938deaa95f9 Issue-ID: SDNC-1546 Signed-off-by: Dan Timoney Former-commit-id: 1e647188c6844f5fdef672feec05282b77cdbf87 --- .../grafiles/network-topology-assign.json | 43 +++ .../grafiles/network-topology-unassign.json | 46 +++ .../sdnc/resources/grafiles/preload-network.json | 91 +++++ .../sdnc/resources/grafiles/preload-vf-module.json | 375 +++++++++++++++++++++ .../resources/grafiles/svc-topology-assign.json | 34 ++ .../resources/grafiles/svc-topology-delete.json | 34 ++ .../grafiles/vf-module-topology-assign.json | 58 ++++ .../grafiles/vf-module-topology-unassign.json | 58 ++++ .../resources/grafiles/vnf-topology-assign.json | 47 +++ .../resources/grafiles/vnf-topology-unassign.json | 48 +++ csit/tests/sdnc/resources/sdnc-keywords.robot | 37 +- csit/tests/sdnc/resources/sdnc-properties.robot | 30 +- csit/tests/sdnc/sdnc_csit.robot | 52 +++ 13 files changed, 924 insertions(+), 29 deletions(-) create mode 100644 csit/tests/sdnc/resources/grafiles/network-topology-assign.json create mode 100644 csit/tests/sdnc/resources/grafiles/network-topology-unassign.json create mode 100644 csit/tests/sdnc/resources/grafiles/preload-network.json create mode 100644 csit/tests/sdnc/resources/grafiles/preload-vf-module.json create mode 100644 csit/tests/sdnc/resources/grafiles/svc-topology-assign.json create mode 100644 csit/tests/sdnc/resources/grafiles/svc-topology-delete.json create mode 100644 csit/tests/sdnc/resources/grafiles/vf-module-topology-assign.json create mode 100644 csit/tests/sdnc/resources/grafiles/vf-module-topology-unassign.json create mode 100644 csit/tests/sdnc/resources/grafiles/vnf-topology-assign.json create mode 100644 csit/tests/sdnc/resources/grafiles/vnf-topology-unassign.json (limited to 'csit/tests') diff --git a/csit/tests/sdnc/resources/grafiles/network-topology-assign.json b/csit/tests/sdnc/resources/grafiles/network-topology-assign.json new file mode 100644 index 00000000..ea1c2789 --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/network-topology-assign.json @@ -0,0 +1,43 @@ +{ + "input": { + "network-information": { + "onap-model-information": { + "model-name": "VcpesvcVbng0412a.bng_mux", + "model-version": "1.0", + "model-customization-uuid": "b0cf3385-a390-488c-b6a0-d879fb4a4825", + "model-uuid": "9b7c1cbe-ddcd-458c-8792-d76391419b72", + "model-invariant-uuid": "206d5e6c-4cba-4c14-b942-5d946c881869" + }, + "network-id": "2e723205-7f96-49a9-bd60-24168fbd9f07" + }, + "network-request-input": { + "aic-cloud-region": "wnv1a", + "cloud-owner": "att-nc", + "tenant": "1795554216e946af8a3c788f195eb813", + "network-name": "vUSP-23804-T-01-wnv1a_int_csdb_net_1" + }, + "request-information": { + "request-action": "CreateNetworkInstance", + "source": "simulator", + "request-id": "testnet1" + }, + "sdnc-request-header": { + "svc-request-id": "svc-testnet1", + "svc-action": "assign" + }, + "service-information": { + "global-customer-id": "testsvc1", + "onap-model-information": { + "model-customization-uuid": "12341234", + "model-invariant-uuid": "12341234", + "model-name": "vBNG_0202", + "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", + "model-version": "1920" + }, + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "subscriber-name": "test", + "subscription-service-type": "test" + } + } +} diff --git a/csit/tests/sdnc/resources/grafiles/network-topology-unassign.json b/csit/tests/sdnc/resources/grafiles/network-topology-unassign.json new file mode 100644 index 00000000..8617d706 --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/network-topology-unassign.json @@ -0,0 +1,46 @@ + +{ + "input": { + "network-information": { + "onap-model-information": { + "model-name": "VcpesvcVbng0412a.bng_mux", + "model-version": "1.0", + "model-customization-uuid": "b0cf3385-a390-488c-b6a0-d879fb4a4825", + "model-uuid": "9b7c1cbe-ddcd-458c-8792-d76391419b72", + "model-invariant-uuid": "206d5e6c-4cba-4c14-b942-5d946c881869" + }, + "network-technology": "", + "network-id": "2e723205-7f96-49a9-bd60-24168fbd9f07", + "network-type": "" + }, + "network-request-input": { + "aic-cloud-region": "wnv1a", + "cloud-owner": "att-nc", + "tenant": "1795554216e946af8a3c788f195eb813", + "network-name": "vUSP-23804-T-01-wnv1a_int_ccfx_net_1" + }, + "request-information": { + "request-action": "DeleteNetworkInstance", + "source": "simulator", + "request-id": "testnet1" + }, + "sdnc-request-header": { + "svc-request-id": "svc-testnet1", + "svc-action": "unassign" + }, + "service-information": { + "global-customer-id": "testsvc1", + "onap-model-information": { + "model-customization-uuid": "12341234", + "model-invariant-uuid": "12341234", + "model-name": "vBNG_0202", + "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", + "model-version": "1920" + }, + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "subscriber-name": "test", + "subscription-service-type": "test" + } + } +} diff --git a/csit/tests/sdnc/resources/grafiles/preload-network.json b/csit/tests/sdnc/resources/grafiles/preload-network.json new file mode 100644 index 00000000..3819672d --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/preload-network.json @@ -0,0 +1,91 @@ +{ + "input": { + "preload-network-topology-information": { + "host-routes": [ + { + "next-hop": "10.1.12.1", + "route-prefix": "12" + } + ], + "is-external-network": true, + "is-provider-network": true, + "is-shared-network": true, + "network-policy": [ + { + "network-policy-fqdn": "policy-sdnc.onap.org", + "network-policy-id": "123" + } + ], + "network-topology-identifier-structure": { + "eipam-v4-address-plan": "plan9", + "eipam-v6-address-plan": "plan9v6", + "is-trunked": true, + "network-id": "vUSP-23804-T-01-wnv1a_int_csdb_net_1", + "network-instance-group-id": "abc123", + "network-name": "vUSP-23804-T-01-wnv1a_int_csdb_net_1", + "network-role": "secret", + "network-technology": "soupcan", + "network-type": "fake", + "related-networks": { + "related-network": [ + { + "network-id": "skynet", + "network-role": "master", + "vlan-tags": { + "is-private": true, + "lower-tag-id": 0, + "upper-tag-id": 0, + "vlan-interface": "le0" + } + } + ] + }, + "segmentation-id": "seg1" + }, + "physical-network-name": "skynet", + "route-table-reference": [ + { + "route-table-reference-fqdn": "sky.net", + "route-table-reference-id": "ref1" + } + ], + "subnets": [ + { + "addr-from-start": "Y", + "cidr-mask": "255.255.0.0", + "dhcp-enabled": "Y", + "dhcp-end-address": "10.1.2.254", + "dhcp-start-address": "10.1.2.1", + "gateway-address": "10.1.2.255", + "ip-version": "ipv4", + "start-address": "10.1.2.1", + "subnet-name": "subnet1", + "subnet-role": "puppies", + "subnet-sequence": 0 + } + ], + "vpn-bindings": [ + { + "aic-zone": "zone1", + "global-route-target": "string", + "route-target-role": "string", + "vpn-binding-id": "string", + "vpn-name": "string" + } + ] + }, + "request-information": { + "notification-url": "http://dev.null.com", + "order-number": "123456", + "order-version": "2010.06", + "request-action": "CreateNetworkInstance", + "request-id": "REQ123456", + "source": "curl" + }, + "sdnc-request-header": { + "svc-action": "reserve", + "svc-notification-url": "http://dev.null.com", + "svc-request-id": "SVCREQ123456" + } + } +} diff --git a/csit/tests/sdnc/resources/grafiles/preload-vf-module.json b/csit/tests/sdnc/resources/grafiles/preload-vf-module.json new file mode 100644 index 00000000..ab67f254 --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/preload-vf-module.json @@ -0,0 +1,375 @@ +{ + "input": { + "preload-vf-module-topology-information": { + "vf-module-topology": { + "aic-clli": "AIC12345", + "aic-cloud-region": "rdm61a", + "cloud-owner": "att-nc", + "onap-model-information": { + "model-customization-uuid": "123123123", + "model-invariant-uuid": "123123123", + "model-name": "frankfurt", + "model-uuid": "121212", + "model-version": "frankfurt" + }, + "sdnc-generated-cloud-resources": true, + "tenant": "tenant", + "vf-module-assignments": { + "dhcp-subnet-assignments": { + "dhcp-subnet-assignment": [ + { + "ip-version": "ipv4", + "network-role": "secret", + "neutron-subnet-id": "sub1" + } + ] + }, + "vf-module-status": "Active", + "vlan-vnfc-instance-groups": { + "vlan-vnfc-instance-group": [ + { + "instance-group-function": "function", + "instance-group-id": "groupid", + "vnf-id": "123", + "vnfcs": { + "vnfc": [ + { + "vnfc-name": "vnc1", + "vnic-groups": { + "vnic-group": [ + { + "network-instance-group-function": "func1", + "vlan-assignment-policy-name": "policy1", + "vlan-common-ip-addresses": { + "ip-addresses": { + "ipv4-address": "10.1.2.1" + } + }, + "vlan-tag-index-next": 0, + "vlan-vnics": { + "vlan-vnic": [ + { + "vnic-port-id": "8080", + "vnic-sub-interfaces": { + "sub-interface-network-data": [ + { + "floating-ips": { + "floating-ip-v4": [ + "10.1.2.1" + ] + }, + "network-id": "string", + "network-information-items": { + "network-information-item": [ + { + "ip-count": 0, + "ip-version": "ipv4", + "network-ips": { + "network-ip": [ + "10.1.2.2" + ] + }, + "use-dhcp": "Y" + } + ] + }, + "network-name": 0, + "network-role": "secret", + "network-role-tag": "tag1", + "neutron-network-id": "net1", + "vlan-tag-id": 0 + } + ] + } + } + ] + }, + "vnic-interface-role": "vnicrole1" + } + ] + } + } + ] + } + } + ] + }, + "vms": { + "vm": [ + { + "nfc-naming-code": "name1", + "onap-model-information": { + "model-customization-uuid": "456456456", + "model-invariant-uuid": "456456456", + "model-name": "model2", + "model-uuid": "678678678", + "model-version": "version2" + }, + "vm-count": 0, + "vm-names": { + "vm-name": [ + "vm1" + ], + "vnfc-names": [ + { + "vnfc-name": "vnc1", + "vnfc-networks": { + "vnfc-network-data": [ + { + "connection-point": { + "connection-point-id": "conn1", + "port-id": "8181", + "vlan-data": [ + { + "vlan-role": "role2", + "vlan-tag-description": "tag2", + "vlan-tag-id": "1", + "vlan-uuid": "78789789" + } + ] + }, + "vnfc-network-role": "role3", + "vnfc-ports": { + "vnfc-port": [ + { + "common-sub-interface-role": "subrole1", + "vnfc-port-id": "8787", + "vnic-sub-interfaces": { + "sub-interface-network-data": [ + { + "floating-ips": { + "floating-ip-v4": [ + "10.1.3.10" + ] + }, + "network-id": "net2", + "network-information-items": { + "network-information-item": [ + { + "ip-count": 0, + "ip-version": "ipv4", + "network-ips": { + "network-ip": [ + "10.1.3.4" + ] + }, + "use-dhcp": "Y" + } + ] + }, + "network-name": 0, + "network-role": "secret", + "network-role-tag": "tag5", + "neutron-network-id": "nnet5", + "vlan-tag-id": 0 + } + ] + } + } + ] + }, + "vnfc-subnet": [ + { + "vnfc-ip-assignments": [ + { + "vnfc-address-family": "ipv4", + "vnfc-subnet-dhcp": "Y", + "vnfc-subnet-ip": [ + { + "ip-type": "FIXED", + "vnfc-client-key": "string", + "vnfc-ip-address": "10.1.7.1" + } + ], + "vnfc-subnet-ip-count": 0 + } + ], + "vnfc-subnet-role": "string" + } + ], + "vnfc-type": "string" + } + ] + } + } + ] + }, + "vm-networks": { + "vm-network": [ + { + "floating-ips": { + "floating-ip-v4": [ + "10.1.9.1" + ] + }, + "interface-route-prefixes": { + "interface-route-prefix": [ + "10" + ] + }, + "is-trunked": true, + "mac-addresses": { + "mac-address": [ + "cafe:beef" + ] + }, + "network-information-items": { + "network-information-item": [ + { + "ip-count": 0, + "ip-version": "ipv4", + "network-ips": { + "network-ip": [ + "10.2.3.10" + ] + }, + "use-dhcp": "Y" + } + ] + }, + "network-role": "secret", + "network-role-tag": "tag9", + "related-networks": { + "related-network": [ + { + "network-id": "net9", + "network-role": "secret", + "vlan-tags": { + "is-private": true, + "lower-tag-id": 0, + "upper-tag-id": 0, + "vlan-interface": "vlan0" + } + } + ] + }, + "segmentation-id": "seg1", + "sriov-parameters": { + "application-tags": { + "c-tags": { + "c-tag": [ + "ctag1" + ] + }, + "s-tags": { + "s-tag": [ + "stag1" + ] + } + }, + "heat-vlan-filters": { + "heat-vlan-filter": [ + "10" + ] + } + } + } + ] + }, + "vm-type": "vgmux", + "vm-type-tag": "vgmux" + } + ] + } + }, + "vf-module-parameters": { + "param": [ + { + "name": "vfmodname", + "resource-resolution-data": { + "capability-name": "cap1", + "payload": "payload1", + "resource-key": [ + { + "name": "key1", + "value": "value1" + } + ], + "status": "active" + }, + "value": "value1" + } + ] + }, + "vf-module-topology-identifier": { + "vf-module-id": "vfmodule1", + "vf-module-name": "vfmodule1", + "vf-module-type": "router" + } + }, + "vnf-resource-assignments": { + "availability-zones": { + "availability-zone": [ + "zone1" + ], + "max-count": 0 + }, + "vnf-networks": { + "vnf-network": [ + { + "contrail-network-fqdn": "skynet.net", + "is-trunked": true, + "network-id": "net1", + "network-name": "net1", + "network-role": "secret", + "neutron-id": "neutron1", + "related-networks": { + "related-network": [ + { + "network-id": "net2", + "network-role": "secret", + "vlan-tags": { + "is-private": true, + "lower-tag-id": 0, + "upper-tag-id": 0, + "vlan-interface": "vlan2" + } + } + ] + }, + "segmentation-id": "seg2", + "subnets-data": { + "subnet-data": [ + { + "cidr-mask": "255.255", + "dhcp-enabled": "Y", + "gateway-address": "10.1.2.254", + "ip-version": "ipv4", + "network-start-address": "10.1.2.1", + "sdnc-subnet-id": "sub1", + "subnet-id": "sub1", + "subnet-name": "sub1", + "subnet-role": "subrole1" + } + ] + } + } + ] + }, + "vnf-status": "active" + }, + "vnf-topology-identifier-structure": { + "nf-code": "code1", + "nf-function": "function1", + "nf-role": "role1", + "nf-type": "type1", + "vnf-id": "preload1", + "vnf-name": "vnf1", + "vnf-type": "vnftype1" + } + }, + "request-information": { + "notification-url": "http://dev.null", + "order-number": "order123", + "order-version": "1", + "request-action": "CreateNetworkInstance", + "request-id": "req001", + "source": "curl" + }, + "sdnc-request-header": { + "svc-action": "reserve", + "svc-notification-url": "http://dev.null", + "svc-request-id": "svcreq001" + } + } +} diff --git a/csit/tests/sdnc/resources/grafiles/svc-topology-assign.json b/csit/tests/sdnc/resources/grafiles/svc-topology-assign.json new file mode 100644 index 00000000..9fe16ca0 --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/svc-topology-assign.json @@ -0,0 +1,34 @@ +{ + "input": { + "request-information": { + "notification-url": "http://dev.null", + "order-number": "123", + "order-version": "version1", + "request-action": "CreateServiceInstance", + "request-id": "testsvc1", + "source": "simulator" + }, + "sdnc-request-header": { + "svc-action": "assign", + "svc-notification-url": "http://dev.null", + "svc-request-id": "svc-testsvc1" + }, + "service-information": { + "global-customer-id": "testsvc1", + "onap-model-information": { + "model-customization-uuid": "12341234", + "model-invariant-uuid": "12341234", + "model-name": "vBNG_0202", + "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", + "model-version": "1920" + }, + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "subscriber-name": "test", + "subscription-service-type": "test" + }, + "service-request-input": { + "service-instance-name": "zrdm61asmsf01_svc" + } + } + } diff --git a/csit/tests/sdnc/resources/grafiles/svc-topology-delete.json b/csit/tests/sdnc/resources/grafiles/svc-topology-delete.json new file mode 100644 index 00000000..4663eea4 --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/svc-topology-delete.json @@ -0,0 +1,34 @@ +{ + "input": { + "request-information": { + "notification-url": "http://dev.null", + "order-number": "123", + "order-version": "version1", + "request-action": "DeleteServiceInstance", + "request-id": "testsvc1", + "source": "simulator" + }, + "sdnc-request-header": { + "svc-action": "delete", + "svc-notification-url": "http://dev.null", + "svc-request-id": "svc-testsvc1" + }, + "service-information": { + "global-customer-id": "testsvc1", + "onap-model-information": { + "model-customization-uuid": "12341234", + "model-invariant-uuid": "12341234", + "model-name": "vcpesvc_vbng_0412a", + "model-uuid": "12eb33fa-b221-4d87-939c-d808b5799a7c", + "model-version": "1933" + }, + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "subscriber-name": "test", + "subscription-service-type": "test" + }, + "service-request-input": { + "service-instance-name": "zrdm61asmsf01_svc" + } + } + } diff --git a/csit/tests/sdnc/resources/grafiles/vf-module-topology-assign.json b/csit/tests/sdnc/resources/grafiles/vf-module-topology-assign.json new file mode 100644 index 00000000..8e2c7af4 --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/vf-module-topology-assign.json @@ -0,0 +1,58 @@ +{ + "input":{ + "request-information" : { + "request-action" : "CreateVfModuleInstance", + "source" : "simulator", + "request-id" : "testvfmodule1" + }, + "sdnc-request-header" : { + "svc-request-id" : "svc-testvfmodule1", + "svc-action" : "assign" + }, + "service-information" : { + "global-customer-id": "testsvc1", + "onap-model-information": { + "model-customization-uuid": "12341234", + "model-invariant-uuid": "12341234", + "model-name": "vBNG_0202", + "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", + "model-version": "1920" + }, + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "subscriber-name": "test", + "subscription-service-type": "test" + }, + "vnf-information" : { + "onap-model-information" : { + "model-name" : "vcpevsp_vgmux_0412 ", + "model-version" : "1.0", + "model-customization-uuid" : "5724fcc8-2ae2-45ce-8d44-795092b85dee", + "model-uuid" : "ba3b8981-9a9c-4945-92aa-486234ec321f", + "model-invariant-uuid" : "b3dc6465-942c-42af-8464-2bf85b6e504b" + }, + "vnf-id" : "afb0dae3-85f0-4804-89a8-063204e61c1c", + "vnf-name" : "zrdm61asmsf01", + "vnf-type" : "SMSF-NC2-578-SVC/SMSF-NC2-578" + }, + "vf-module-information" : { + "onap-model-information" : { + "model-name" : "SmsfNc2578..smsf_base..module-0", + "model-version" : "3", + "model-customization-uuid" : "59ffe5ba-cfaf-4e83-a2f3-159522dcebac", + "model-uuid" : "513cc9fc-fff5-4c46-9728-393437536c4d", + "model-invariant-uuid" : "7ca7567c-f42c-4ed8-bcde-f8971b92d90a" + }, + "vf-module-id" : "45841173-3729-4a1d-a811-a3bde399e22d", + "from-preload" : true, + "vf-module-type" : "SmsfNc2578..smsf_base..module-0" + }, + "vf-module-request-input" : { + "aic-cloud-region" : "rdm61a", + "cloud-owner" : "att-nc", + "tenant" : "4714fe06cc24414c914c51ca0aa1bf84", + "vf-module-name" : "vfmodule1", + "vf-module-input-parameters" : { } + } + } +} diff --git a/csit/tests/sdnc/resources/grafiles/vf-module-topology-unassign.json b/csit/tests/sdnc/resources/grafiles/vf-module-topology-unassign.json new file mode 100644 index 00000000..3825f26d --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/vf-module-topology-unassign.json @@ -0,0 +1,58 @@ +{ + "input":{ + "request-information" : { + "request-action" : "DeleteVfModuleInstance", + "source" : "simulator", + "request-id" : "testvfmodule1" + }, + "sdnc-request-header" : { + "svc-request-id" : "svc-testvfmodule1", + "svc-action" : "unassign" + }, + "service-information" : { + "global-customer-id": "testsvc1", + "onap-model-information": { + "model-customization-uuid": "12341234", + "model-invariant-uuid": "12341234", + "model-name": "vBNG_0202", + "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", + "model-version": "1920" + }, + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "subscriber-name": "test", + "subscription-service-type": "test" + }, + "vnf-information" : { + "onap-model-information" : { + "model-name" : "vcpevsp_vgmux_0412 ", + "model-version" : "1.0", + "model-customization-uuid" : "5724fcc8-2ae2-45ce-8d44-795092b85dee", + "model-uuid" : "ba3b8981-9a9c-4945-92aa-486234ec321f", + "model-invariant-uuid" : "b3dc6465-942c-42af-8464-2bf85b6e504b" + }, + "vnf-id" : "afb0dae3-85f0-4804-89a8-063204e61c1c", + "vnf-name" : "zrdm61asmsf01", + "vnf-type" : "SMSF-NC2-578-SVC/SMSF-NC2-578" + }, + "vf-module-information" : { + "onap-model-information" : { + "model-name" : "SmsfNc2578..smsf_base..module-0", + "model-version" : "3", + "model-customization-uuid" : "59ffe5ba-cfaf-4e83-a2f3-159522dcebac", + "model-uuid" : "513cc9fc-fff5-4c46-9728-393437536c4d", + "model-invariant-uuid" : "7ca7567c-f42c-4ed8-bcde-f8971b92d90a" + }, + "vf-module-id" : "45841173-3729-4a1d-a811-a3bde399e22d", + "from-preload" : true, + "vf-module-type" : "SmsfNc2578..smsf_base..module-0" + }, + "vf-module-request-input" : { + "aic-cloud-region" : "rdm61a", + "cloud-owner" : "att-nc", + "tenant" : "4714fe06cc24414c914c51ca0aa1bf84", + "vf-module-name" : "vfmodule1", + "vf-module-input-parameters" : { } + } + } +} diff --git a/csit/tests/sdnc/resources/grafiles/vnf-topology-assign.json b/csit/tests/sdnc/resources/grafiles/vnf-topology-assign.json new file mode 100644 index 00000000..33d8c60e --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/vnf-topology-assign.json @@ -0,0 +1,47 @@ +{ + "input":{ + "request-information" : { + "request-action" : "CreateVnfInstance", + "source" : "simulator", + "request-id" : "testvnf1" + }, + "sdnc-request-header" : { + "svc-request-id" : "svc-testvnf1", + "svc-action" : "assign" + }, + "service-information" : { + "global-customer-id": "testsvc1", + "onap-model-information": { + "model-customization-uuid": "12341234", + "model-invariant-uuid": "12341234", + "model-name": "vBNG_0202", + "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", + "model-version": "1920" + }, + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "subscriber-name": "test", + "subscription-service-type": "test" + }, + "vnf-information" : { + "onap-model-information" : { + "model-name" : "vcpevsp_vgmux_0412 ", + "model-version" : "1.0", + "model-customization-uuid" : "5724fcc8-2ae2-45ce-8d44-795092b85dee", + "model-uuid" : "ba3b8981-9a9c-4945-92aa-486234ec321f", + "model-invariant-uuid" : "b3dc6465-942c-42af-8464-2bf85b6e504b" + }, + "vnf-id" : "afb0dae3-85f0-4804-89a8-063204e61c1c", + "vnf-name" : "zrdm61asmsf01", + "vnf-type" : "SMSF-NC2-578-SVC/SMSF-NC2-578" + }, + "vnf-request-input" : { + "aic-cloud-region" : "rdm61a", + "cloud-owner" : "att-nc", + "tenant" : "4714fe06cc24414c914c51ca0aa1bf84", + "vnf-network-instance-group-ids" : [ ], + "vnf-input-parameters" : { }, + "vnf-name" : "zrdm61asmsf01" + } + } +} diff --git a/csit/tests/sdnc/resources/grafiles/vnf-topology-unassign.json b/csit/tests/sdnc/resources/grafiles/vnf-topology-unassign.json new file mode 100644 index 00000000..1e3f348b --- /dev/null +++ b/csit/tests/sdnc/resources/grafiles/vnf-topology-unassign.json @@ -0,0 +1,48 @@ + +{ + "input":{ + "request-information" : { + "request-action" : "DeleteVnfInstance", + "source" : "simulator", + "request-id" : "testvnf1" + }, + "sdnc-request-header" : { + "svc-request-id" : "svc-testvnf1", + "svc-action" : "unassign" + }, + "service-information" : { + "global-customer-id": "testsvc1", + "onap-model-information": { + "model-customization-uuid": "12341234", + "model-invariant-uuid": "12341234", + "model-name": "vBNG_0202", + "model-uuid": "00e50cbd-ef0f-4b28-821e-f2b583752dd3", + "model-version": "1920" + }, + "service-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "service-instance-id": "5c4f2d89-57a3-47e9-b49b-d3c63eb0b3ca", + "subscriber-name": "test", + "subscription-service-type": "test" + }, + "vnf-information" : { + "onap-model-information" : { + "model-name" : "vcpevsp_vgmux_0412 ", + "model-version" : "1.0", + "model-customization-uuid" : "5724fcc8-2ae2-45ce-8d44-795092b85dee", + "model-uuid" : "ba3b8981-9a9c-4945-92aa-486234ec321f", + "model-invariant-uuid" : "b3dc6465-942c-42af-8464-2bf85b6e504b" + }, + "vnf-id" : "afb0dae3-85f0-4804-89a8-063204e61c1c", + "vnf-name" : "zrdm61asmsf01", + "vnf-type" : "SMSF-NC2-578-SVC/SMSF-NC2-578" + }, + "vnf-request-input" : { + "aic-cloud-region" : "rdm61a", + "cloud-owner" : "att-nc", + "tenant" : "4714fe06cc24414c914c51ca0aa1bf84", + "vnf-network-instance-group-ids" : [ ], + "vnf-input-parameters" : { }, + "vnf-name" : "zrdm61asmsf01" + } + } +} diff --git a/csit/tests/sdnc/resources/sdnc-keywords.robot b/csit/tests/sdnc/resources/sdnc-keywords.robot index 7a3df839..76d11401 100644 --- a/csit/tests/sdnc/resources/sdnc-keywords.robot +++ b/csit/tests/sdnc/resources/sdnc-keywords.robot @@ -5,6 +5,7 @@ Resource ./sdnc-properties.robot Library Collections Library RequestsLibrary Library OperatingSystem +Library HttpLibrary.HTTP *** Keywords *** @@ -14,46 +15,50 @@ Create SDNC RESTCONF Session ${auth}= Create List ${ODL_USER} ${ODL_PASSWORD} Create Session sdnc_restconf ${SDNC_RESTCONF_URL} auth=${auth} -Send Post Request And Validate Response - [Documentation] Send POST request to passed URL and validate received response - [Arguments] ${path} ${body} ${resp_code} +Send Post File And Validate Response + [Documentation] POST file contents to OpenDaylight controller + [Arguments] ${url} ${path} ${resp_code} Create SDNC RESTCONF Session + ${body}= Get File ${path} &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json - ${resp}= POST On Session sdnc_restconf ${path} headers=${headers} json=${body} expected_status=${resp_code} + ${resp}= POST On Session sdnc_restconf ${url} headers=${headers} data=${body} expected_status=200 + ${respjson}= Parse Json ${resp.content} + Should Be Equal As Strings ${respjson['output']['response-code']} ${resp_code} + Send Empty Post Request And Validate Response - [Documentation] Send POST request to passed URL and validate received response - [Arguments] ${path} ${resp_code} + [Documentation] POST with no content to OpenDaylight controller + [Arguments] ${url} ${resp_code} Create SDNC RESTCONF Session &{headers}= Create Dictionary Content-Type=application/json Content-Length=0 Accept=application/json - ${resp}= POST On Session sdnc_restconf ${path} headers=${headers} expected_status=${resp_code} + ${resp}= POST On Session sdnc_restconf ${url} headers=${headers} expected_status=${resp_code} Send Get Request And Validate Response Sdnc - [Documentation] Send request to passed url and validate received response - [Arguments] ${path} ${resp_code} + [Documentation] GET from Opendaylight controller and validate received response + [Arguments] ${url} ${resp_code} CREATE SDNC RESTCONF Session &{headers}= Create Dictionary Content-Type=application/json Accept=application/json - ${resp}= GET On Session sdnc_restconf ${path} headers=${headers} expected_status=${resp_code} + ${resp}= GET On Session sdnc_restconf ${url} headers=${headers} expected_status=${resp_code} Send Get Request And Validate TLS Connection Response - [Documentation] Send request to passed url and validate received response - [Arguments] ${path} ${resp_code} + [Documentation] Create NETCONF mount and validate TLS connection + [Arguments] ${url} ${resp_code} Create SDNC RESTCONF Session ${mount}= Get File ${REQUEST_DATA_PATH}${/}mount.xml &{headers}= Create Dictionary Content-Type=application/xml Accept=application/xml - ${resp}= PUT On Session sdnc_restconf ${path} data=${mount} headers=${headers} expected_status=201 + ${resp}= PUT On Session sdnc_restconf ${url} data=${mount} headers=${headers} expected_status=201 Sleep 30 &{headers1}= Create Dictionary Content-Type=application/json Accept=application/json ${resp1}= GET On Session sdnc_restconf ${PNFSIM_MOUNT_PATH} headers=${headers1} expected_status=${resp_code} Send Delete Request And Validate PNF Mount Deleted - [Documentation] Send request to passed url and validate received response - [Arguments] ${path} ${resp_code} + [Documentation] Disconnect NETCONT mount and validate + [Arguments] ${url} ${resp_code} Create SDNC RESTCONF Session ${mount}= Get File ${REQUEST_DATA_PATH}${/}mount.xml &{headers}= Create Dictionary Content-Type=application/json Accept=application/json - ${deleteresponse}= DELETE On Session sdnc_restconf ${path} data=${mount} headers=${headers} expected_status=${resp_code} + ${deleteresponse}= DELETE On Session sdnc_restconf ${url} data=${mount} headers=${headers} expected_status=${resp_code} Sleep 30 ${del_topology}= DELETE On Session sdnc_restconf ${SDNC_NETWORK_TOPOLOGY} expected_status=${resp_code} ${del_keystore}= DELETE On Session sdnc_restconf ${SDNC_KEYSTORE_CONFIG_PATH} diff --git a/csit/tests/sdnc/resources/sdnc-properties.robot b/csit/tests/sdnc/resources/sdnc-properties.robot index bb618eb0..f548e614 100644 --- a/csit/tests/sdnc/resources/sdnc-properties.robot +++ b/csit/tests/sdnc/resources/sdnc-properties.robot @@ -1,15 +1,19 @@ *** Variables *** - # SDNC Configuration -${ODL_USER} %{ODL_USER} -${ODL_PASSWORD} %{ODL_PASSWORD} -${REQUEST_DATA_PATH} %{REQUEST_DATA_PATH} -${SDNC_CONTAINER_NAME} %{SDNC_CONTAINER_NAME} -${SDNC_RESTCONF_URL} http://localhost:8282/restconf -${SDNC_HEALTHCHECK} /operations/SLI-API:healthcheck/ -${SDNC_KEYSTORE_CONFIG_PATH} /config/netconf-keystore:keystore -${SDNC_NETWORK_TOPOLOGY} /config/network-topology:network-topology -${SDNC_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo -${PNFSIM_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo/yang-ext:mount/turing-machine:turing-machine - - +${ODL_USER} %{ODL_USER} +${ODL_PASSWORD} %{ODL_PASSWORD} +${REQUEST_DATA_PATH} %{REQUEST_DATA_PATH} +${SDNC_CONTAINER_NAME} %{SDNC_CONTAINER_NAME} +${GRA_DATA_DIRECTORY} %{WORKSPACE}/tests/sdnc/resources/grafiles +${SDNC_RESTCONF_URL} http://localhost:8282/restconf +${SDNC_HEALTHCHECK} /operations/SLI-API:healthcheck/ +${SDNC_KEYSTORE_CONFIG_PATH} /config/netconf-keystore:keystore +${SDNC_NETWORK_TOPOLOGY} /config/network-topology:network-topology +${SDNC_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo +${PNFSIM_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo/yang-ext:mount/turing-machine:turing-machine +${GRA_PRELOAD_NETWORK} /operations/GENERIC-RESOURCE-API:preload-network-topology-operation/ +${GRA_PRELOAD_VFMODULE} /operations/GENERIC-RESOURCE-API:preload-vf-module-topology-operation/ +${GRA_SERVICE_TOPOLOGY} /operations/GENERIC-RESOURCE-API:service-topology-operation/ +${GRA_NETWORK_TOPOLOGY} /operations/GENERIC-RESOURCE-API:network-topology-operation/ +${GRA_VNF_TOPOLOGY} /operations/GENERIC-RESOURCE-API:vnf-topology-operation/ +${GRA_VFMODULE_TOPOLOGY} /operations/GENERIC-RESOURCE-API:vf-module-topology-operation/ diff --git a/csit/tests/sdnc/sdnc_csit.robot b/csit/tests/sdnc/sdnc_csit.robot index bd1479a6..957a95f1 100644 --- a/csit/tests/sdnc/sdnc_csit.robot +++ b/csit/tests/sdnc/sdnc_csit.robot @@ -28,3 +28,55 @@ Check Dropping NETCONF/TLS Connection [Documentation] Checking PNF Simulator Mount Delete from SDNC Send Delete Request And Validate PNF Mount Deleted ${SDNC_MOUNT_PATH} 200 +Load network preload data + [Tags] SDNC-GRA-PRELOAD-NETWORK + [Documentation] Loading network preload data + Send Post File And Validate Response ${GRA_PRELOAD_NETWORK} ${GRA_DATA_DIRECTORY}/preload-network.json 200 + +Load vf-module preload data + [Tags] SDNC-GRA-PRELOAD-VF-MODULE + [Documentation] Loading vf-module preload data + Send Post File And Validate Response ${GRA_PRELOAD_VFMODULE} ${GRA_DATA_DIRECTORY}/preload-vf-module.json 200 + +Check GRA service assign + [Tags] SDNC-GRA-SERVICE-ASSIGN + [Documentation] Testing GRA service assign + Send Post File And Validate Response ${GRA_SERVICE_TOPOLOGY} ${GRA_DATA_DIRECTORY}/svc-topology-assign.json 200 + +Check GRA network assign + [Tags] SDNC-GRA-NETWORK-ASSIGN + [Documentation] Testing GRA network assign + Send Post File And Validate Response ${GRA_NETWORK_TOPOLOGY} ${GRA_DATA_DIRECTORY}/network-topology-assign.json 200 + +Check GRA vnf assign + [Tags] SDNC-GRA-VNF-ASSIGN + [Documentation] Testing GRA vnf assign + Send Post File And Validate Response ${GRA_VNF_TOPOLOGY} ${GRA_DATA_DIRECTORY}/vnf-topology-assign.json 200 + +Check GRA vf-module assign + [Tags] SDNC-GRA-VF-MODULE-ASSIGN + [Documentation] Testing GRA vf-module assign + Send Post File And Validate Response ${GRA_VFMODULE_TOPOLOGY} ${GRA_DATA_DIRECTORY}/vf-module-topology-assign.json 200 + +Check GRA vf-module unassign + [Tags] SDNC-GRA-VF-MODULE-UNASSIGN + [Documentation] Testing GRA vf-module unassign + Send Post File And Validate Response ${GRA_VFMODULE_TOPOLOGY} ${GRA_DATA_DIRECTORY}/vf-module-topology-unassign.json 200 + +Check GRA vnf unassign + [Tags] SDNC-GRA-VNF-UNASSIGN + [Documentation] Testing GRA vnf unassign + Send Post File And Validate Response ${GRA_VNF_TOPOLOGY} ${GRA_DATA_DIRECTORY}/vnf-topology-unassign.json 200 + +Check GRA network unassign + [Tags] SDNC-GRA-NETWORK-UNASSIGN + [Documentation] Testing GRA network unassign + Send Post File And Validate Response ${GRA_NETWORK_TOPOLOGY} ${GRA_DATA_DIRECTORY}/network-topology-unassign.json 200 + +Check GRA service delete + [Tags] SDNC-GRA-SERVICE-DELETE + [Documentation] Testing GRA service delete + Send Post File And Validate Response ${GRA_SERVICE_TOPOLOGY} ${GRA_DATA_DIRECTORY}/svc-topology-delete.json 200 + + + -- cgit 1.2.3-korg