github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/mirage/factories/service.js (about) 1 import { Factory } from 'ember-cli-mirage'; 2 import faker from 'nomad-ui/mirage/faker'; 3 import { provide } from '../utils'; 4 import { dasherize } from '@ember/string'; 5 import { DATACENTERS } from '../common'; 6 import { pickOne } from '../utils'; 7 8 export default Factory.extend({ 9 id: () => faker.random.uuid(), 10 address: () => faker.internet.ip(), 11 createIndex: () => faker.random.number(), 12 modifyIndex: () => faker.random.number(), 13 name: () => faker.random.uuid(), 14 serviceName: (id) => `${dasherize(faker.hacker.noun())}-${id}-service`, 15 datacenter: faker.helpers.randomize(DATACENTERS), 16 port: faker.random.number({ min: 5000, max: 60000 }), 17 tags: () => { 18 if (!faker.random.boolean()) { 19 return provide( 20 faker.random.number({ min: 0, max: 2 }), 21 faker.hacker.noun.bind(faker.hacker.noun) 22 ); 23 } else { 24 return null; 25 } 26 }, 27 28 afterCreate(service, server) { 29 if (!service.namespace) { 30 const namespace = pickOne(server.db.jobs)?.namespace || 'default'; 31 service.update({ 32 namespace, 33 }); 34 } 35 36 if (!service.node) { 37 const node = pickOne(server.db.nodes); 38 service.update({ 39 nodeId: node.id, 40 }); 41 } 42 43 if (server.db.jobs.findBy({ id: 'service-haver' })) { 44 if (!service.jobId) { 45 service.update({ 46 jobId: 'service-haver', 47 }); 48 } 49 if (!service.allocId) { 50 const servicedAlloc = pickOne( 51 server.db.allocations.filter((a) => a.jobId === 'service-haver') || [] 52 ); 53 if (servicedAlloc) { 54 service.update({ 55 allocId: servicedAlloc.id, 56 }); 57 } 58 } 59 } 60 }, 61 });