From 94d27e23ae4d38352dc7d7cd3a2acf3a62a7a6ec Mon Sep 17 00:00:00 2001 From: Alexey Sandler Date: Sun, 5 Apr 2020 09:59:35 +0300 Subject: Add another Network to the new view/edit screen Issue-ID: VID-802 Signed-off-by: Alexey Sandler Change-Id: Ie0e1dcd28f78307ec526c375c1bf4c655ec09ffe Signed-off-by: Alexey Sandler --- .../integration/iFrames/viewEditNetwork.e2e.ts | 83 ++++++++++++++++++++++ .../jsons/add_Network/add_network_instance.json | 69 ++++++++++++++++++ .../mocks/jsons/add_Network/add_network_model.json | 58 +++++++++++++++ 3 files changed, 210 insertions(+) create mode 100644 vid-webpack-master/cypress/integration/iFrames/viewEditNetwork.e2e.ts create mode 100644 vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/add_Network/add_network_instance.json create mode 100644 vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/add_Network/add_network_model.json (limited to 'vid-webpack-master/cypress') diff --git a/vid-webpack-master/cypress/integration/iFrames/viewEditNetwork.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/viewEditNetwork.e2e.ts new file mode 100644 index 000000000..084680acd --- /dev/null +++ b/vid-webpack-master/cypress/integration/iFrames/viewEditNetwork.e2e.ts @@ -0,0 +1,83 @@ +/// / + + +import {JsonBuilder} from "../../support/jsonBuilders/jsonBuilder"; +import {ServiceModel} from "../../support/jsonBuilders/models/service.model"; +import {AaiServiceInstancesModel} from "../../support/jsonBuilders/models/serviceInstances.model"; +import {AAISubViewEditModel} from "../../support/jsonBuilders/models/aaiSubViewEdit.model"; + +const jsonBuilderAndMock: JsonBuilder = new JsonBuilder(); +let jsonBuilderAAIService: JsonBuilder = new JsonBuilder(); +let jsonBuilderAaiServiceInstances: JsonBuilder = new JsonBuilder(); +let jsonBuilderAAISubViewEditModel: JsonBuilder = new JsonBuilder(); + + +describe('View Edit page: Add network', () =>{ + beforeEach(() => { + cy.clearSessionStorage(); + cy.initGetAAISubDetails(); + cy.initAAIServices(); + cy.initTenants(); + cy.setTestApiParamToGR(); + cy.initVidMock(); + cy.login(); + + }); + + afterEach(() => { + cy.screenshot(); + }); + + it(`Add new network to service with one existing network `, () =>{ + const serviceType = 'Emanuel'; + const subscriberId = 'a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb'; + const serviceModelId = 'f93e72e1-77fc-4f54-b207-298d766d0886'; + const serviceInstanceId = 'ce2821fc-3b28-4759-9613-1e514d7563c0'; + const serviceInvariantUuid = "8c364754-4c76-4abc-b8f3-88da5f67d588"; + + cy.initDrawingBoardUserPermission(); + cy.route(`**/rest/models/services/${serviceModelId}`, + 'fixture:../support/jsonBuilders/mocks/jsons/add_Network/add_network_model.json') + .as('serviceModelAddNetwork'); + + cy.route(`**/aai_get_service_instance_topology/${subscriberId}/${serviceType}/${serviceInstanceId}`, + 'fixture:../support/jsonBuilders/mocks/jsons/add_Network/add_network_instance.json') + .as('serviceInstanceAddNetwork'); + + cy.openIframe(`app/ui/#/servicePlanning/EDIT?serviceModelId=${serviceModelId}&subscriberId=${subscriberId}&serviceType=${serviceType}&serviceInstanceId=${serviceInstanceId}`); + + cy.getElementByDataTestsId('node-OVS Provider-add-btn').click({force: true}).then(() => { + + cy.fillNetworkPopup(); + }); + + mockAsyncBulkResponse(); + //click update + cy.getElementByDataTestsId('deployBtn').should('have.text', 'UPDATE').click(); + + cy.getReduxState().then((state) => { + + const networks = state.service.serviceInstance['f93e72e1-77fc-4f54-b207-298d766d0886'].networks; + cy.wait('@expectedPostAsyncInstantiation').then(xhr => { + cy.readFile('../vid-app-common/src/test/resources/payload_jsons/Network/one_network_exists_add_another_network_expected_bulk.json').then((expectedResult) => { + + //set randomized trackById into bulk expected file + expectedResult.networks['OVS Provider'].trackById = networks['OVS Provider'].trackById; + + cy.deepCompare(xhr.request.body, expectedResult); + }); + }); + }); + + }); + + function mockAsyncBulkResponse() { + cy.server().route({ + url: Cypress.config('baseUrl') + '/asyncInstantiation/bulk', + method: 'POST', + status: 200, + response: "[]", + }).as("expectedPostAsyncInstantiation"); + } + +}); diff --git a/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/add_Network/add_network_instance.json b/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/add_Network/add_network_instance.json new file mode 100644 index 000000000..d21ac103b --- /dev/null +++ b/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/add_Network/add_network_instance.json @@ -0,0 +1,69 @@ +{ + "action": "None", + "instanceName": "oam_protected_net_svc1", + "instanceId": "ce2821fc-3b28-4759-9613-1e514d7563c0", + "orchStatus": "Active", + "productFamilyId": null, + "lcpCloudRegionId": null, + "tenantId": null, + "cloudOwner": null, + "modelInfo": { + "modelInvariantId": "8c364754-4c76-4abc-b8f3-88da5f67d588", + "modelVersionId": "f93e72e1-77fc-4f54-b207-298d766d0886", + "modelName": "oam_protected_net NC OVS network 1", + "modelType": "service", + "modelVersion": "2.0" + }, + "globalSubscriberId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "subscriptionServiceType": "Emanuel", + "owningEntityId": null, + "owningEntityName": null, + "tenantName": null, + "aicZoneId": null, + "aicZoneName": null, + "projectName": null, + "rollbackOnFailure": null, + "isALaCarte": true, + "vnfs": {}, + "networks": { + "ca61e4c9-982b-4d5f-b9eb-eaaf1cf23b9e": { + "action": "None", + "instanceName": "GRP-29576-T-E2E-16-SDN_oam_protected_net_2", + "instanceId": "ca61e4c9-982b-4d5f-b9eb-eaaf1cf23b9e", + "orchStatus": "Active", + "lcpCloudRegionId": "olson59a", + "tenantId": "11981b4f7fc4426d905edb1487b53bff", + "cloudOwner": "irma-aic", + "modelInfo": { + "modelCustomizationName": "OVS Provider", + "modelCustomizationId": "23c382c9-9405-4780-8794-e57eb015883d", + "modelInvariantId": "ffb9e45c-e674-4289-aad3-00040ad746e4", + "modelVersionId": "01f4c475-3f89-4f00-a2f4-39a873dba0ae", + "modelName": "NETWORK_CLOUD_PROVIDER_NETWORK", + "modelType": "network", + "modelVersion": "1.0" + }, + "instanceType": "NEUTRON-PROVIDER", + "inMaint": false, + "uuid": "01f4c475-3f89-4f00-a2f4-39a873dba0ae", + "originalName": "OVS Provider", + "trackById": "ca61e4c9-982b-4d5f-b9eb-eaaf1cf23b9e", + "role": "oam_protected_net_2", + "physicalName": "oam", + "serviceName": "oam_protected_net_svc1", + "serviceUUID": "ce2821fc-3b28-4759-9613-1e514d7563c0", + "tenantName": "GRP-29576-T-E2E-16-SDN", + "boundToVpn": false + } + }, + "vrfs": {}, + "vnfGroups": {}, + "collectionResources": {}, + "validationCounter": 0, + "existingVNFCounterMap": {}, + "existingNetworksCounterMap": { + "23c382c9-9405-4780-8794-e57eb015883d": 1 + }, + "existingVnfGroupCounterMap": {}, + "existingVRFCounterMap": {} +} diff --git a/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/add_Network/add_network_model.json b/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/add_Network/add_network_model.json new file mode 100644 index 000000000..576202a0a --- /dev/null +++ b/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/add_Network/add_network_model.json @@ -0,0 +1,58 @@ +{ + "service": { + "uuid": "f93e72e1-77fc-4f54-b207-298d766d0886", + "invariantUuid": "8c364754-4c76-4abc-b8f3-88da5f67d588", + "name": "oam_protected_net NC OVS network 1", + "version": "2.0", + "toscaModelURL": null, + "category": "Network Service", + "serviceType": "INFRASTRUCTURE", + "serviceRole": "PROVIDER-NETWORK", + "description": "OVS Provider Network service model for NC for oam_protected_net_2", + "serviceEcompNaming": "false", + "instantiationType": "A-La-Carte", + "inputs": {}, + "vidNotions": { + "instantiationUI": "anyAlacarteWhichNotExcluded", + "modelCategory": "5G Provider Network", + "viewEditUI": "legacy", + "instantiationType": "ALaCarte" + } + }, + "vnfs": {}, + "networks": { + "OVS Provider": { + "uuid": "01f4c475-3f89-4f00-a2f4-39a873dba0ae", + "invariantUuid": "ffb9e45c-e674-4289-aad3-00040ad746e4", + "description": "NETWORK_CLOUD_PROVIDER_NETWORK", + "name": "NETWORK_CLOUD_PROVIDER_NETWORK", + "version": "1.0", + "customizationUuid": "23c382c9-9405-4780-8794-e57eb015883d", + "inputs": {}, + "commands": {}, + "properties": { + "network_role": "oam_protected_net_2", + "network_assignments": "{is_external_network=false, is_shared_network=true, is_trunked=false, ipv4_subnet_default_assignment={dhcp_enabled=false, ip_version=4, min_subnets_count=1, use_ipv4=true}, ecomp_generated_network_assignment=false, ipv6_subnet_default_assignment={dhcp_enabled=false, use_ipv6=true, ip_version=6, min_subnets_count=1}, related_networks=[{related_network_role=oam_protected_net_2_tenant}]}", + "exVL_naming": "{ecomp_generated_naming=false}", + "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}", + "network_scope": "GLOBAL", + "ecomp_generated_naming": "false", + "network_type": "NEUTRON-PROVIDER", + "provider_network": "{physical_network_name=oam, is_provider_network=true}", + "network_technology": "OVS", + "network_homing": "{ecomp_selected_instance_node_target=false}" + }, + "type": "VL", + "modelCustomizationName": "OVS Provider" + } + }, + "collectionResources": {}, + "configurations": {}, + "fabricConfigurations": {}, + "serviceProxies": {}, + "vfModules": {}, + "volumeGroups": {}, + "pnfs": {}, + "vnfGroups": {}, + "vrfs": {} +} -- cgit 1.2.3-korg