diff options
author | Avi Ziv <avi.ziv@amdocs.com> | 2017-07-18 19:45:38 +0300 |
---|---|---|
committer | Avi Ziv <avi.ziv@amdocs.com> | 2017-07-18 19:45:38 +0300 |
commit | b8e2faf476202b6ffe61bc3a9a37df1304881d40 (patch) | |
tree | f78b8c0517d8e16c5ae610bf8b49f68ea8a312a1 /openecomp-ui/test/softwareProduct/components | |
parent | 75aacbbe1acf78fa53378f07f0a8c7769449a17e (diff) |
[SDC] Onboarding 1710 rebase.
Change-Id: If3b6b81d221fde13908f1e8160db6f7d9433c535
Signed-off-by: Avi Ziv <avi.ziv@amdocs.com>
Diffstat (limited to 'openecomp-ui/test/softwareProduct/components')
9 files changed, 513 insertions, 134 deletions
diff --git a/openecomp-ui/test/softwareProduct/components/compute/SoftwareProductComponentComputeEditor.test.js b/openecomp-ui/test/softwareProduct/components/compute/SoftwareProductComponentComputeEditor.test.js new file mode 100644 index 0000000000..c14246f810 --- /dev/null +++ b/openecomp-ui/test/softwareProduct/components/compute/SoftwareProductComponentComputeEditor.test.js @@ -0,0 +1,85 @@ +/*! + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ +import React from 'react'; +import TestUtils from 'react-addons-test-utils'; +import {mapStateToProps as computeEditorMapStateToProps} from 'sdc-app/onboarding/softwareProduct/components/compute/computeComponents/computeFlavor/ComputeFlavorEditor.js'; +import ComputeEditorView from 'sdc-app/onboarding/softwareProduct/components/compute/computeComponents/computeFlavor/ComputeFlavorEditorView.jsx'; + +import {SoftwareProductFactory} from 'test-utils/factories/softwareProduct/SoftwareProductFactory.js'; +import {VSPEditorFactory} from 'test-utils/factories/softwareProduct/SoftwareProductEditorFactories.js'; +import {ComputeFlavorBaseData, ComputeFlavorQData, VSPComponentsComputeDataMapFactory} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsComputeFactory.js'; + + +describe('Software Product Component Compute-Editor Mapper and View Classes.', () => { + + it('Compute Editor - mapStateToProps mapper exists', () => { + expect(computeEditorMapStateToProps).toBeTruthy(); + }); + + it('Compute Editor - mapStateToProps data test', () => { + const currentSoftwareProduct = VSPEditorFactory.build(); + + var obj = { + softwareProduct: SoftwareProductFactory.build({ + softwareProductEditor: { + data: currentSoftwareProduct + }, + softwareProductComponents: { + computeFlavor: { + computeEditor: { + data: {}, + qdata: {}, + qgenericFieldInfo: {}, + dataMap: {}, + genericFieldInfo: {}, + formReady: true + } + } + } + }) + }; + + var results = computeEditorMapStateToProps(obj); + expect(results.data).toBeTruthy(); + expect(results.qdata).toBeTruthy(); + expect(results.qgenericFieldInfo).toBeTruthy(); + expect(results.dataMap).toBeTruthy(); + expect(results.genericFieldInfo).toBeTruthy(); + expect(results.isReadOnlyMode).toBeTruthy(); + expect(results.isFormValid).toBeTruthy(); + expect(results.formReady).toBeTruthy(); + }); + + it('Compute Editor - View Test', () => { + + const props = { + data: ComputeFlavorBaseData.build(), + qdata: ComputeFlavorQData.build(), + dataMap: VSPComponentsComputeDataMapFactory.build(), + isReadOnlyMode: false, + onDataChanged: () => {}, + onQDataChanged: () => {}, + onSubmit: () => {}, + onCancel: () => {} + }; + + var renderer = TestUtils.createRenderer(); + renderer.render(<ComputeEditorView {...props}/>); + var renderedOutput = renderer.getRenderOutput(); + expect(renderedOutput).toBeTruthy(); + + }); +}); diff --git a/openecomp-ui/test/softwareProduct/components/compute/SoftwareProductComponentsComputes.test.js b/openecomp-ui/test/softwareProduct/components/compute/SoftwareProductComponentsComputes.test.js new file mode 100644 index 0000000000..6d2361b20d --- /dev/null +++ b/openecomp-ui/test/softwareProduct/components/compute/SoftwareProductComponentsComputes.test.js @@ -0,0 +1,48 @@ +/*! + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +import deepFreeze from 'deep-freeze'; +import React from 'react'; +import TestUtils from 'react-addons-test-utils'; +import {storeCreator} from 'sdc-app/AppStore.js'; +import ComputeFlavors from 'sdc-app/onboarding/softwareProduct/components/compute/computeComponents/ComputeFlavors.js'; +import {ComputeFlavorBaseData} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsComputeFactory.js'; + +const softwareProductId = '123'; +const componentId = '111'; + +describe('Software Product Component ComputeFlavors - View Classes.', () => { + + it('ComputeFlavors List View Test', () => { + const store = storeCreator(); + deepFreeze(store.getState()); + + const ComputeFlavorsList = ComputeFlavorBaseData.buildList(1); + + var renderer = TestUtils.createRenderer(); + renderer.render( + <ComputeFlavors + store={store} + ComputeFlavorsList={ComputeFlavorsList} + softwareProductId={softwareProductId} + componentId={componentId} + isReadOnlyMode={false}/> + ); + var renderedOutput = renderer.getRenderOutput(); + expect(renderedOutput).toBeTruthy(); + }); +}); + diff --git a/openecomp-ui/test/softwareProduct/components/compute/test.js b/openecomp-ui/test/softwareProduct/components/compute/VSPComponentComputeActionHelperHeatMode.test.js index 8d2d1fbb2f..4fe9408e34 100644 --- a/openecomp-ui/test/softwareProduct/components/compute/test.js +++ b/openecomp-ui/test/softwareProduct/components/compute/VSPComponentComputeActionHelperHeatMode.test.js @@ -21,14 +21,14 @@ import {storeCreator} from 'sdc-app/AppStore.js'; import Configuration from 'sdc-app/config/Configuration.js'; import SoftwareProductComponentsActionHelper from 'sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentsActionHelper.js'; -import {default as VSPComponentsComputeFactory, VSPComponentsComputeDataMapFactory} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsComputeFactory.js'; +import {ComputeFlavorQData, VSPComponentsComputeDataMapFactory} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsComputeFactory.js'; import VersionControllerUtilsFactory from 'test-utils/factories/softwareProduct/VersionControllerUtilsFactory.js'; const softwareProductId = '123'; const vspComponentId = '111'; const version = VersionControllerUtilsFactory.build().version; -describe('Software Product Components Compute Module Tests', function () { +describe('Software Product Components Compute Module Tests - HEAT mode', function () { let restPrefix = ''; @@ -41,7 +41,7 @@ describe('Software Product Components Compute Module Tests', function () { const store = storeCreator(); deepFreeze(store.getState()); - const compute = VSPComponentsComputeFactory.build(); + const compute = ComputeFlavorQData.build(); const dataMap = VSPComponentsComputeDataMapFactory.build(); const softwareProductComponentCompute = { @@ -75,7 +75,7 @@ describe('Software Product Components Compute Module Tests', function () { const store = storeCreator(); deepFreeze(store.getState()); - const compute = VSPComponentsComputeFactory.build(); + const compute = ComputeFlavorQData.build(); const softwareProductComponentQuestionnaire = { data: null, diff --git a/openecomp-ui/test/softwareProduct/components/compute/VSPComponentComputeActionHelperManualMode.test.js b/openecomp-ui/test/softwareProduct/components/compute/VSPComponentComputeActionHelperManualMode.test.js new file mode 100644 index 0000000000..ca3d12f3e9 --- /dev/null +++ b/openecomp-ui/test/softwareProduct/components/compute/VSPComponentComputeActionHelperManualMode.test.js @@ -0,0 +1,198 @@ +/*! + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ +import deepFreeze from 'deep-freeze'; +import mockRest from 'test-utils/MockRest.js'; +import {cloneAndSet} from 'test-utils/Util.js'; +import {storeCreator} from 'sdc-app/AppStore.js'; +import Configuration from 'sdc-app/config/Configuration.js'; +import ComputeFlavorActionHelper from 'sdc-app/onboarding/softwareProduct/components/compute/ComputeFlavorActionHelper.js'; +import {VSPEditorFactory} from 'test-utils/factories/softwareProduct/SoftwareProductEditorFactories.js'; + +import {ComputeFlavorQData, ComputeFlavorBaseData, ComponentComputeFactory, VSPComponentsComputeDataMapFactory} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsComputeFactory.js'; + +const softwareProductId = '123'; +const vspComponentId = '111'; +const computeId = '111'; +const version = VSPEditorFactory.build().version; + + +describe('Software Product Components Compute Module Tests - Manual mode', function () { + + let restPrefix = ''; + + beforeAll(function() { + restPrefix = Configuration.get('restPrefix'); + deepFreeze(restPrefix); + }); + + + it('Close Compute Flavor editor', () => { + + const store = storeCreator(); + deepFreeze(store.getState()); + + const compute = ComponentComputeFactory.build(); + deepFreeze(compute); + + const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductComponents.computeFlavor', compute); + + ComputeFlavorActionHelper.closeComputeEditor(store.dispatch); + expect(store.getState()).toEqual(expectedStore); + }); + + it('Get Computes List', () => { + const store = storeCreator(); + deepFreeze(store.getState()); + + const computesList = ComputeFlavorBaseData.buildList(2); + deepFreeze(computesList); + + const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductComponents.computeFlavor.computesList', computesList); + + mockRest.addHandler('fetch', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${vspComponentId}/compute-flavors`); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return {results: computesList}; + }); + + return ComputeFlavorActionHelper.fetchComputesList(store.dispatch, {softwareProductId, componentId: vspComponentId, version}).then(() => { + expect(store.getState()).toEqual(expectedStore); + }); + }); + + it('Load Compute data & Questionnaire', () => { + const store = storeCreator(); + deepFreeze(store.getState()); + + const computeData = { + ...ComputeFlavorBaseData.build(), + id: computeId + }; + deepFreeze(computeData); + const qdata = ComputeFlavorQData.build(); + const dataMap = VSPComponentsComputeDataMapFactory.build(); + + const softwareProductComponentCompute = { + data: JSON.stringify(qdata), + schema: JSON.stringify(qdata) + }; + deepFreeze(softwareProductComponentCompute); + + + const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductComponents.computeFlavor.computeEditor', { + data: computeData, + qdata, + dataMap, + qgenericFieldInfo: {}, + genericFieldInfo: {}, + formReady: true + }); + + mockRest.addHandler('fetch', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${vspComponentId}/compute-flavors/${computeId}`); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return {data: computeData}; + }); + mockRest.addHandler('fetch', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${vspComponentId}/compute-flavors/${computeId}/questionnaire`); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return softwareProductComponentCompute; + }); + + return ComputeFlavorActionHelper.loadComputeData({softwareProductId, componentId: vspComponentId, version, computeId}).then(() => { + ComputeFlavorActionHelper.loadComputeQuestionnaire(store.dispatch, {softwareProductId, componentId: vspComponentId, computeId, version}).then(() => + expect(store.getState()).toEqual(expectedStore)); + }); + }); + + it('Save Compute Flavor data and questionnaire', () => { + + const store = storeCreator(); + deepFreeze(store.getState()); + + const qdata = ComputeFlavorQData.build(); + const data = ComputeFlavorBaseData.build(); + + const compute = {...data, id: computeId}; + + const computeObj = { + computeEditor: {}, + computesList: [ + compute + ] + }; + + const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductComponents.computeFlavor', computeObj); + deepFreeze(expectedStore); + + mockRest.addHandler('put', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${vspComponentId}/compute-flavors/${computeId}/questionnaire`); + expect(data).toEqual(qdata); + expect(options).toEqual(undefined); + return {returnCode: 'OK'}; + }); + + mockRest.addHandler('put', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${vspComponentId}/compute-flavors/${computeId}`); + expect(data).toEqual(data); + expect(options).toEqual(undefined); + return {returnCode: 'OK'}; + }); + + return ComputeFlavorActionHelper.saveComputeDataAndQuestionnaire(store.dispatch, {softwareProductId, componentId: vspComponentId, qdata, data: compute, version}).then(() => { + expect(store.getState()).toEqual(expectedStore); + }); + }); + + it('Delete Compute Flavor', () => { + const compute = ComponentComputeFactory.build(); + const computesList = [compute]; + deepFreeze(computesList); + + const store = storeCreator({ + softwareProduct: { + softwareProductComponents: { + computeFlavor: { + computesList: computesList + } + } + } + }); + deepFreeze(store.getState()); + + const computeId = compute.id; + + const expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductComponents.computeFlavor.computesList', []); + + mockRest.addHandler('destroy', ({data, options, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${vspComponentId}/compute-flavors/${computeId}`); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return { + results: { + returnCode: 'OK' + } + }; + }); + + return ComputeFlavorActionHelper.deleteCompute(store.dispatch, {softwareProductId, componentId: vspComponentId, computeId, version}).then(() => { + expect(store.getState()).toEqual(expectedStore); + }); + }); +}); diff --git a/openecomp-ui/test/softwareProduct/components/general/ComponentGeneralActionHelper.test.js b/openecomp-ui/test/softwareProduct/components/general/ComponentGeneralActionHelper.test.js new file mode 100644 index 0000000000..cef4b3a16e --- /dev/null +++ b/openecomp-ui/test/softwareProduct/components/general/ComponentGeneralActionHelper.test.js @@ -0,0 +1,48 @@ +/*! + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +import deepFreeze from 'deep-freeze'; +import mockRest from 'test-utils/MockRest.js'; +import {storeCreator} from 'sdc-app/AppStore.js'; +import SoftwareProductComponentsActionHelper from 'sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentsActionHelper.js'; +import VersionControllerUtilsFactory from 'test-utils/factories/softwareProduct/VersionControllerUtilsFactory.js'; +import {VSPComponentsFactory} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsFactories.js'; + +const softwareProductId = '123'; +const version = VersionControllerUtilsFactory.build().version; + +describe('Software Product Components Action Helper Tests', function () { + + it('Load components list', () => { + const store = storeCreator(); + deepFreeze(store.getState()); + + const expectedComponentData = VSPComponentsFactory.build(); + deepFreeze(expectedComponentData); + + mockRest.addHandler('fetch', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components`); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return ({results: [expectedComponentData]}); + }); + + return SoftwareProductComponentsActionHelper.fetchSoftwareProductComponents(store.dispatch, {softwareProductId, version}).then(() => { + expect(store.getState().softwareProduct.softwareProductComponents.componentsList).toEqual([expectedComponentData]); + }); + + }); +}); diff --git a/openecomp-ui/test/softwareProduct/components/general/SoftwareProductComponentsGeneral.test.js b/openecomp-ui/test/softwareProduct/components/general/SoftwareProductComponentsGeneral.test.js index 4f6512ad15..edc7fca6a1 100644 --- a/openecomp-ui/test/softwareProduct/components/general/SoftwareProductComponentsGeneral.test.js +++ b/openecomp-ui/test/softwareProduct/components/general/SoftwareProductComponentsGeneral.test.js @@ -70,8 +70,7 @@ describe('SoftwareProductComponentsGeneral Mapper and View Classes', () => { const versionControllerData = VSPComponentsVersionControllerFactory.build(); const componentData = { - name: '', - description: '' + name: '' }; var renderer = TestUtils.createRenderer(); diff --git a/openecomp-ui/test/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoring.test.js b/openecomp-ui/test/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoring.test.js index 24658f1b30..423a7b39f6 100644 --- a/openecomp-ui/test/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoring.test.js +++ b/openecomp-ui/test/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoring.test.js @@ -19,11 +19,12 @@ import TestUtils from 'react-addons-test-utils'; import {mapStateToProps} from 'sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoring.js'; import SoftwareProductComponentsMonitoringView from 'sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringView.jsx'; -import {VSPComponentsMonitoringViewFactory} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsMonitoringFactories.js'; +import {VSPComponentsMonitoringViewFactory, trap, poll, ves} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsMonitoringFactories.js'; import VersionControllerUtilsFactory from 'test-utils/factories/softwareProduct/VersionControllerUtilsFactory.js'; const version = VersionControllerUtilsFactory.build(); + describe('SoftwareProductComponentsMonitoring Module Tests', function () { it('should mapper exist', () => { @@ -33,24 +34,36 @@ describe('SoftwareProductComponentsMonitoring Module Tests', function () { it('should return empty file names', () => { let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring: {}}}; var results = mapStateToProps({softwareProduct}); - expect(results.trapFilename).toEqual(undefined); - expect(results.pollFilename).toEqual(undefined); + expect(results.filenames[trap]).toEqual(undefined); + expect(results.filenames[poll]).toEqual(undefined); + expect(results.filenames[ves]).toEqual(undefined); }); it('should return trap file name', () => { - const monitoring = VSPComponentsMonitoringViewFactory.build({}, {snmpTrapFlag: true}); + const monitoring = VSPComponentsMonitoringViewFactory.build({}, {createTrap: true}); + let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring}}; + var results = mapStateToProps({softwareProduct}); + expect(results.filenames[trap]).toEqual(monitoring[trap]); + expect(results.filenames[poll]).toEqual(undefined); + expect(results.filenames[ves]).toEqual(undefined); + }); + + it('should return ves events file name', () => { + const monitoring = VSPComponentsMonitoringViewFactory.build({}, {createVes: true}); let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring}}; var results = mapStateToProps({softwareProduct}); - expect(results.trapFilename).toEqual(monitoring.trapFilename); - expect(results.pollFilename).toEqual(undefined); + expect(results.filenames[ves]).toEqual(monitoring[ves]); + expect(results.filenames[poll]).toEqual(undefined); + expect(results.filenames[trap]).toEqual(undefined); }); it('should return poll file names', () => { - const monitoring = VSPComponentsMonitoringViewFactory.build({}, {snmpPollFlag: true}); + const monitoring = VSPComponentsMonitoringViewFactory.build({}, {createPoll: true}); let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring}}; var results = mapStateToProps({softwareProduct}); - expect(results.trapFilename).toEqual(undefined); - expect(results.pollFilename).toEqual(monitoring.pollFilename); + expect(results.filenames[poll]).toEqual(monitoring[poll]); + expect(results.filenames[trap]).toEqual(undefined); + expect(results.filenames[ves]).toEqual(undefined); let renderer = TestUtils.createRenderer(); renderer.render(<SoftwareProductComponentsMonitoringView {...results} />); @@ -58,12 +71,13 @@ describe('SoftwareProductComponentsMonitoring Module Tests', function () { expect(renderedOutput).toBeTruthy(); }); - it('should return both file names', () => { - const monitoring = VSPComponentsMonitoringViewFactory.build({}, {snmpTrapFlag: true, snmpPollFlag: true}); + it('should return all file names', () => { + const monitoring = VSPComponentsMonitoringViewFactory.build({}, {createTrap: true, createVes: true, createPoll: true}); let softwareProduct = {softwareProductEditor: {data: {...version}}, softwareProductComponents: {monitoring}}; var results = mapStateToProps({softwareProduct}); - expect(results.trapFilename).toEqual(monitoring.trapFilename); - expect(results.pollFilename).toEqual(monitoring.pollFilename); + expect(results.filenames[poll]).toEqual(monitoring[poll]); + expect(results.filenames[trap]).toEqual(monitoring[trap]); + expect(results.filenames[ves]).toEqual(monitoring[ves]); let renderer = TestUtils.createRenderer(); renderer.render(<SoftwareProductComponentsMonitoringView {...results} />); diff --git a/openecomp-ui/test/softwareProduct/components/monitoring/test.js b/openecomp-ui/test/softwareProduct/components/monitoring/test.js index dd0f850a89..8fafcdb968 100644 --- a/openecomp-ui/test/softwareProduct/components/monitoring/test.js +++ b/openecomp-ui/test/softwareProduct/components/monitoring/test.js @@ -18,8 +18,9 @@ import mockRest from 'test-utils/MockRest.js'; import {storeCreator} from 'sdc-app/AppStore.js'; import SoftwareProductComponentsMonitoringConstants from 'sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringConstants.js'; import SoftwareProductComponentsMonitoringActionHelper from 'sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringActionHelper.js'; +import {fileTypes} from 'sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringConstants.js'; -import {VSPComponentsMonitoringRestFactory} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsMonitoringFactories.js'; +import {VSPComponentsMonitoringRestFactory, trap, poll, ves} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsMonitoringFactories.js'; import VersionControllerUtilsFactory from 'test-utils/factories/softwareProduct/VersionControllerUtilsFactory.js'; const softwareProductId = '123'; @@ -40,171 +41,103 @@ describe('Software Product Components Monitoring Module Tests', function () { let emptyResult = VSPComponentsMonitoringRestFactory.build(); mockRest.addHandler('fetch', ({ baseUrl}) => { - expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/monitors/snmp`); + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/uploads`); return emptyResult; }); - SoftwareProductComponentsMonitoringActionHelper.fetchExistingFiles(store.dispatch, { - softwareProductId, - version, - componentId - }); - setTimeout(()=> { + return SoftwareProductComponentsMonitoringActionHelper.fetchExistingFiles(store.dispatch, {softwareProductId, version, componentId}).then(() => { var {softwareProduct: {softwareProductComponents: {monitoring}}} = store.getState(); - expect(monitoring.pollFilename).toEqual(emptyResult.snmpPoll); - expect(monitoring.trapFilename).toEqual(emptyResult.snmpTrap); + expect(monitoring[trap]).toEqual(emptyResult[trap]); + expect(monitoring[poll]).toEqual(emptyResult[poll]); + expect(monitoring[ves]).toEqual(emptyResult[ves]); done(); - }, 0); + }); + }); it('Fetch for existing files - only snmp trap file exists', done => { - let response = VSPComponentsMonitoringRestFactory.build({}, {snmpTrapFlag: true}); + let response = VSPComponentsMonitoringRestFactory.build({}, {createTrap: true}); mockRest.addHandler('fetch', ({ baseUrl}) => { - expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/monitors/snmp`); + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/uploads`); return response; }); - SoftwareProductComponentsMonitoringActionHelper.fetchExistingFiles(store.dispatch, { - softwareProductId, - version, - componentId - }); - setTimeout(()=> { - var {softwareProduct: {softwareProductComponents: {monitoring}}} = store.getState(); - expect(monitoring.pollFilename).toEqual(response.snmpPoll); - expect(monitoring.trapFilename).toEqual(response.snmpTrap); - done(); - }, 0); - }); - - it('Fetch for existing files - only snmp poll file exists', done => { - let response = VSPComponentsMonitoringRestFactory.build({}, {snmpPollFlag: true}); + return SoftwareProductComponentsMonitoringActionHelper.fetchExistingFiles(store.dispatch, {softwareProductId, version, componentId}).then(() => { - mockRest.addHandler('fetch', ({baseUrl}) => { - expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/monitors/snmp`); - return response; - }); - - SoftwareProductComponentsMonitoringActionHelper.fetchExistingFiles(store.dispatch, { - softwareProductId, - version, - componentId - }); - setTimeout(()=> { var {softwareProduct: {softwareProductComponents: {monitoring}}} = store.getState(); - expect(monitoring.pollFilename).toEqual(response.snmpPoll); - expect(monitoring.trapFilename).toEqual(response.snmpTrap); + expect(monitoring[poll]).toEqual(undefined); + expect(monitoring[trap]).toEqual(response[trap]); + expect(monitoring[ves]).toEqual(undefined); done(); - }, 0); + }); }); - it('Fetch for existing files - both files exist', done => { - let response = VSPComponentsMonitoringRestFactory.build({}, {snmpTrapFlag: true, snmpPollFlag: true}); + + it('Fetch for existing files - all files exist', done => { + let response = VSPComponentsMonitoringRestFactory.build({}, {createSnmp: true, createPoll: true, createVes: true}); mockRest.addHandler('fetch', ({baseUrl}) => { - expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/monitors/snmp`); + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/uploads`); return response; }); - SoftwareProductComponentsMonitoringActionHelper.fetchExistingFiles(store.dispatch, { - softwareProductId, - version, - componentId - }); - setTimeout(()=> { + return SoftwareProductComponentsMonitoringActionHelper.fetchExistingFiles(store.dispatch, {softwareProductId, version, componentId}).then(() => { + var {softwareProduct: {softwareProductComponents: {monitoring}}} = store.getState(); - expect(monitoring.pollFilename).toEqual(response.snmpPoll); - expect(monitoring.trapFilename).toEqual(response.snmpTrap); + expect(monitoring[trap]).toEqual(response[trap]); + expect(monitoring[poll]).toEqual(response[poll]); + expect(monitoring[ves]).toEqual(response[ves]); done(); - }, 0); + }); }); - it('Upload snmp trap file', done => { + it('Upload file', done => { mockRest.addHandler('post', ({baseUrl}) => { - expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/monitors/snmp-trap/upload`); + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/uploads/types/${fileTypes.SNMP_TRAP}`); return {}; }); var debug = {hello: 'world'}; let file = new Blob([JSON.stringify(debug, null, 2)], {type: 'application/json'});; let formData = new FormData(); formData.append('upload', file); - SoftwareProductComponentsMonitoringActionHelper.uploadSnmpFile(store.dispatch, { + return SoftwareProductComponentsMonitoringActionHelper.uploadFile(store.dispatch, { softwareProductId, version, componentId, formData, fileSize: file.size, - type: SoftwareProductComponentsMonitoringConstants.SNMP_TRAP - }); - setTimeout(()=> { + type: fileTypes.SNMP_TRAP + }).then(() => { var {softwareProduct: {softwareProductComponents: {monitoring}}} = store.getState(); - expect(monitoring.pollFilename).toEqual(undefined); - expect(monitoring.trapFilename).toEqual('blob'); + expect(monitoring[poll]).toEqual(undefined); + expect(monitoring[ves]).toEqual(undefined); + expect(monitoring[trap]).toEqual('blob'); done(); - }, 0); - }); - it('Upload snmp poll file', done => { - mockRest.addHandler('post', ({baseUrl}) => { - expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/monitors/snmp/upload`); - return {}; - }); - var debug = {hello: 'world'}; - let file = new Blob([JSON.stringify(debug, null, 2)], {type: 'application/json'});; - let formData = new FormData(); - formData.append('upload', file); - SoftwareProductComponentsMonitoringActionHelper.uploadSnmpFile(store.dispatch, { - softwareProductId, - version, - componentId, - formData, - fileSize: file.size, - type: SoftwareProductComponentsMonitoringConstants.SNMP_POLL }); - setTimeout(()=> { - var {softwareProduct: {softwareProductComponents: {monitoring}}} = store.getState(); - expect(monitoring.pollFilename).toEqual('blob'); - expect(monitoring.trapFilename).toEqual(undefined); - done(); - }, 0); }); it('Delete snmp trap file', done => { mockRest.addHandler('destroy', ({baseUrl}) => { - expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/monitors/snmp-trap`); + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/uploads/types/${fileTypes.SNMP_TRAP}`); return {}; }); - SoftwareProductComponentsMonitoringActionHelper.deleteSnmpFile(store.dispatch, { - softwareProductId, - version, - componentId, - type: SoftwareProductComponentsMonitoringConstants.SNMP_TRAP - }); - setTimeout(()=> { - var {softwareProduct: {softwareProductComponents: {monitoring}}} = store.getState(); - expect(monitoring.trapFilename).toEqual(undefined); - done(); - }, 0); - }); - it('Delete snmp poll file', done => { - mockRest.addHandler('destroy', ({baseUrl}) => { - expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/monitors/snmp`); - return {}; - }); - SoftwareProductComponentsMonitoringActionHelper.deleteSnmpFile(store.dispatch, { + + return SoftwareProductComponentsMonitoringActionHelper.deleteFile(store.dispatch, { softwareProductId, version, componentId, - type: SoftwareProductComponentsMonitoringConstants.SNMP_POLL - }); - setTimeout(()=> { + type: fileTypes.SNMP_TRAP + }).then((dispatch) => { var {softwareProduct: {softwareProductComponents: {monitoring}}} = store.getState(); - expect(monitoring.pollFilename).toEqual(undefined); + expect(monitoring[trap]).toEqual(undefined); done(); - }, 0); + }); }); + + }); diff --git a/openecomp-ui/test/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.test.js b/openecomp-ui/test/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.test.js index f5a10e23c9..b6050265a6 100644 --- a/openecomp-ui/test/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.test.js +++ b/openecomp-ui/test/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.test.js @@ -19,7 +19,7 @@ import {cloneAndSet} from 'test-utils/Util.js'; import {storeCreator} from 'sdc-app/AppStore.js'; import SoftwareProductComponentsNetworkActionHelper from 'sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkActionHelper.js'; -import {VSPComponentsNicFactory, VSPComponentsNetworkFactory, VSPComponentsNetworkQDataFactory, VSPComponentsNetworkDataMapFactory, VSPComponentsNicFactoryGenericFieldInfo} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsNetworkFactories.js'; +import {VSPComponentsNicPostFactory, VSPComponentsNicFactory, VSPComponentsNetworkFactory, VSPComponentsNetworkQDataFactory, VSPComponentsNetworkDataMapFactory, VSPComponentsNicFactoryGenericFieldInfo} from 'test-utils/factories/softwareProduct/SoftwareProductComponentsNetworkFactories.js'; import VersionControllerUtilsFactory from 'test-utils/factories/softwareProduct/VersionControllerUtilsFactory.js'; import VSPQSchemaFactory from 'test-utils/factories/softwareProduct/SoftwareProductQSchemaFactory.js'; import {forms} from 'sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentsConstants.js'; @@ -55,7 +55,60 @@ describe('Software Product Components Network Action Helper Tests', function () }); }); - + it('Add NIC', () => { + const store = storeCreator(); + deepFreeze(store.getState()); + + const NICPostRequest = VSPComponentsNicPostFactory.build(); + + const expectedNIC = VSPComponentsNicFactory.build({...NICPostRequest, id: nicId}); + + mockRest.addHandler('post', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/nics`); + expect(data).toEqual(NICPostRequest); + expect(options).toEqual(undefined); + return { + nicId + }; + }); + + mockRest.addHandler('fetch', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/nics`); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return {results: [expectedNIC]}; + }); + + mockRest.addHandler('destroy', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/nics/${nicId}`); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return {}; + }); + + mockRest.addHandler('fetch', ({options, data, baseUrl}) => { + expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-software-products/${softwareProductId}/versions/${version.id}/components/${componentId}/nics`); + expect(data).toEqual(undefined); + expect(options).toEqual(undefined); + return {results: []}; + }); + + const network = VSPComponentsNetworkFactory.build({ + nicList: [expectedNIC] + }); + + const networkAfterDelete = VSPComponentsNetworkFactory.build(); + + let expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductComponents.network', network); + + return SoftwareProductComponentsNetworkActionHelper.createNIC(store.dispatch, {nic: NICPostRequest, softwareProductId, componentId, version}).then(() => { + expect(store.getState()).toEqual(expectedStore); + return SoftwareProductComponentsNetworkActionHelper.deleteNIC(store.dispatch, {softwareProductId, componentId, nicId, version}); + }).then(() => { + let expectedStore = cloneAndSet(store.getState(), 'softwareProduct.softwareProductComponents.network', networkAfterDelete); + expect(store.getState()).toEqual(expectedStore); + }); + }); it('open NICE editor', () => { const store = storeCreator(); @@ -83,7 +136,7 @@ describe('Software Product Components Network Action Helper Tests', function () SoftwareProductComponentsNetworkActionHelper.openNICEditor(store.dispatch, {nic, data}); - expect(store.getState()).toEqual(expectedStore); + expect(store.getState().softwareProduct.softwareProductComponents.network).toEqual(expectedStore.softwareProduct.softwareProductComponents.network); }); it('close NICE editor', () => { @@ -102,7 +155,7 @@ describe('Software Product Components Network Action Helper Tests', function () }); it('Load NIC data', () => { - + mockRest.resetQueue(); const expectedData = VSPComponentsNicFactory.build(); deepFreeze(expectedData); @@ -121,7 +174,7 @@ describe('Software Product Components Network Action Helper Tests', function () it('load NIC Questionnaire', () => { - + mockRest.resetQueue(); const store = storeCreator(); deepFreeze(store.getState()); @@ -171,6 +224,7 @@ describe('Software Product Components Network Action Helper Tests', function () const network = { nicEditor: {}, + nicCreation: {}, nicList: [ expectedData ] |