github.com/hernad/nomad@v1.6.112/ui/mirage/factories/service.js (about)

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