/*! * 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==' });