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  });