diff options
Diffstat (limited to 'openecomp-ui/test-utils/factories/flows')
3 files changed, 188 insertions, 0 deletions
diff --git a/openecomp-ui/test-utils/factories/flows/FlowsFactories.js b/openecomp-ui/test-utils/factories/flows/FlowsFactories.js new file mode 100644 index 0000000000..f487ee7404 --- /dev/null +++ b/openecomp-ui/test-utils/factories/flows/FlowsFactories.js @@ -0,0 +1,118 @@ +/*! + * 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 {Factory} from 'rosie'; +import SequenceDiagramFactory from './SequenceDiagramFactory.js'; +import ParticipantFactory from './ParticipantFactory.js'; +import UUID from 'uuid-js'; + +const serviceIDByArtifactType = { + NETWORK_CALL_FLOW: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b', + WORKFLOW: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b', + PUPPET: '0280b577-2c7b-426e-b7a2-f0dc16508c37' +}; + +const defaultServiceId = '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b'; + +Factory.define('FlowBaseFactory') + .attrs({ + artifactName: 'zizizi', + artifactType: 'WORKFLOW', + description: 'aslkjdfl asfdasdf', + }); + +Factory.define('FlowBaseWithServiceIdFactory') + .extend('FlowBaseFactory') + .attr( + 'serviceID', ['artifactType'], artifactType => serviceIDByArtifactType[artifactType] || defaultServiceId + ); + +Factory.define('FlowBaseWithUniqueIdFactory') + .extend('FlowBaseFactory') + .attr('uniqueId', ['artifactType', 'artifactName'], (artifactType, artifactName) => `${serviceIDByArtifactType[artifactType] || defaultServiceId}.${artifactName}`); + +Factory.define('FlowBaseFetchAndDeleteFactory') + .extend('FlowBaseWithServiceIdFactory') + .extend('FlowBaseWithUniqueIdFactory') + .attrs({ + participants: [] + }); + +Factory.define('FlowBaseWithEsIdFactory') + .extend('FlowBaseWithUniqueIdFactory') + .attr('esId', ['uniqueId'], uniqueId => uniqueId); + +export const FlowBasicFactory = new Factory() + .extend('FlowBaseFactory').attrs({uniqueId: () => UUID.create(4)}); + +export const FlowCreateFactory = new Factory() + .extend('FlowBaseWithServiceIdFactory'); + +export const FlowPostRequestFactory = new Factory() + .extend('FlowBaseFactory') + .attrs({ + artifactGroupType: 'INFORMATIONAL', + payloadData: 'eyJWRVJTSU9OIjp7Im1ham9yIjoxLCJtaW5vciI6MH0sImRlc2NyaXB0aW9uIjoiYXNsa2pkZmwgYXNmZGFzZGYifQ==' + }) + .attr('artifactLabel', ['artifactName'], name => name); + +Factory.define('FlowPostResponeAndUpdateBaseFactory') + .extend('FlowBaseFactory') + .extend('FlowBaseWithUniqueIdFactory') + .extend('FlowBaseWithEsIdFactory') + .attrs({ + artifactGroupType: 'INFORMATIONAL', + artifactUUID: () => UUID.create(4), + artifactVersion: '1', + creationDate: 1470144601623, + lastUpdateDate: 1470144601623, + mandatory: false, + timeout: 0, + artifactChecksum: 'NjBmYjc4NGM5MWIwNmNkMDhmMThhMDAwYmQxYjBiZTU=' + }) + .attr('artifactLabel', ['artifactName'], name => name) + .attr('artifactDisplayName', ['artifactName'], name => name); + +export const FlowPostResponseFactory = new Factory() + .extend('FlowPostResponeAndUpdateBaseFactory') + .attrs({ + attUidLastUpdater: 'cs0008', + payloadUpdateDate: 1470144602131, + serviceApi: false, + updaterFullName: 'Carlos Santana', + artifactCreator: 'cs0008' + }); + +export const FlowUpdateRequestFactory = new Factory() + .extend('FlowPostResponeAndUpdateBaseFactory') + .extend('FlowBaseFetchAndDeleteFactory') + .extend('FlowBaseWithEsIdFactory') + .attrs({ + heatParameters: [], + participants: ParticipantFactory.buildList(10) + }) + .attr('sequenceDiagramModel', ['participants'], participants => SequenceDiagramFactory.build({}, {participants})); + +export const FlowFetchRequestFactory = new Factory() + .extend('FlowBaseFetchAndDeleteFactory'); + +export const FlowDeleteRequestFactory = new Factory() + .extend('FlowBaseFetchAndDeleteFactory'); + +export const FlowFetchResponseFactory = new Factory() + .extend('FlowBaseFactory') + .attrs({ + base64Contents: 'eyJWRVJTSU9OIjp7Im1ham9yIjoxLCJtaW5vciI6MH0sImRlc2NyaXB0aW9uIjoiYXNsa2pkZmwgYXNmZGFzZGYifQ==' + }); diff --git a/openecomp-ui/test-utils/factories/flows/ParticipantFactory.js b/openecomp-ui/test-utils/factories/flows/ParticipantFactory.js new file mode 100644 index 0000000000..2e74649cb8 --- /dev/null +++ b/openecomp-ui/test-utils/factories/flows/ParticipantFactory.js @@ -0,0 +1,20 @@ +/*! + * 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 {Factory} from 'rosie'; + +export default new Factory() + .attr('name', 'participantName') + .sequence('id', index => index.toString()); diff --git a/openecomp-ui/test-utils/factories/flows/SequenceDiagramFactory.js b/openecomp-ui/test-utils/factories/flows/SequenceDiagramFactory.js new file mode 100644 index 0000000000..7662f5b2f2 --- /dev/null +++ b/openecomp-ui/test-utils/factories/flows/SequenceDiagramFactory.js @@ -0,0 +1,50 @@ +/*! + * 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 {Factory} from 'rosie'; +import UUID from 'uuid-js'; + +Factory.define('LifeLineFactory') + .attr('name', 'participantName') + .sequence('id', index => index.toString()) + .sequence('index') + .sequence('x', index => 175 + (index - 1) * 400); + +Factory.define('StepMessageFactory') + .attrs({ + name: '[Unnamed Message]', + type: 'request', + from: '1', + to: '2', + }) + .attr('id', () => UUID.create(4)) + .sequence('index'); + +Factory.define('StepFactory') + .attr('message', () => Factory.build('StepMessageFactory')); + +export default new Factory() + .option('participants', []) + .option('stepsCount', 2) + .attr('diagram', ['participants', 'stepsCount'], (participants, stepsCount) => ({ + metadata: { + 'id': '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi', + 'name': 'zizizi', + 'ref': 'BLANK' + }, + lifelines: participants.map(participant => Factory.build('LifeLineFactory', participant)), + steps: Factory.buildList('StepFactory', stepsCount) + }) +); |