github.com/hspak/nomad@v0.7.2-0.20180309000617-bc4ae22a39a5/ui/mirage/factories/job-version.js (about)

     1  import { Factory, faker } from 'ember-cli-mirage';
     2  
     3  const REF_TIME = new Date();
     4  
     5  export default Factory.extend({
     6    stable: faker.random.boolean,
     7    submitTime: () => faker.date.past(2 / 365, REF_TIME) * 1000000,
     8    diff() {
     9      return generateDiff(this);
    10    },
    11  
    12    jobId: null,
    13    version: 0,
    14  
    15    // Directive to restrict any related deployments from having a 'running' status
    16    noActiveDeployment: false,
    17  
    18    // Directive to restrict any related deployments from having a status other than 'running'
    19    activeDeployment: false,
    20  
    21    afterCreate(version, server) {
    22      const args = [
    23        'deployment',
    24        version.noActiveDeployment && 'notActive',
    25        version.activeDeployment && 'active',
    26        {
    27          jobId: version.jobId,
    28          namespace: version.job.namespace,
    29          versionNumber: version.version,
    30        },
    31      ].compact();
    32      server.create(...args);
    33    },
    34  });
    35  
    36  function generateDiff(version) {
    37    return {
    38      Fields: null,
    39      ID: version.jobId,
    40      Objects: null,
    41      TaskGroups: [
    42        {
    43          Fields: [
    44            {
    45              Annotations: null,
    46              Name: 'Count',
    47              New: '2',
    48              Old: '4',
    49              Type: 'Edited',
    50            },
    51          ],
    52          Name: 'cache',
    53          Objects: [
    54            {
    55              Fields: [
    56                {
    57                  Annotations: null,
    58                  Name: 'Attempts',
    59                  New: '15',
    60                  Old: '10',
    61                  Type: 'Edited',
    62                },
    63                {
    64                  Annotations: null,
    65                  Name: 'Delay',
    66                  New: '25000000000',
    67                  Old: '25000000000',
    68                  Type: 'None',
    69                },
    70                {
    71                  Annotations: null,
    72                  Name: 'Interval',
    73                  New: '900000000000',
    74                  Old: '900000000000',
    75                  Type: 'None',
    76                },
    77                {
    78                  Annotations: null,
    79                  Name: 'Mode',
    80                  New: 'delay',
    81                  Old: 'delay',
    82                  Type: 'None',
    83                },
    84              ],
    85              Name: 'RestartPolicy',
    86              Objects: null,
    87              Type: 'Edited',
    88            },
    89          ],
    90          Tasks: [
    91            {
    92              Annotations: null,
    93              Fields: null,
    94              Name: 'redis',
    95              Objects: [
    96                {
    97                  Fields: [
    98                    {
    99                      Annotations: null,
   100                      Name: 'CPU',
   101                      New: '500',
   102                      Old: '500',
   103                      Type: 'None',
   104                    },
   105                    {
   106                      Annotations: null,
   107                      Name: 'DiskMB',
   108                      New: '0',
   109                      Old: '0',
   110                      Type: 'None',
   111                    },
   112                    {
   113                      Annotations: null,
   114                      Name: 'IOPS',
   115                      New: '0',
   116                      Old: '0',
   117                      Type: 'None',
   118                    },
   119                    {
   120                      Annotations: null,
   121                      Name: 'MemoryMB',
   122                      New: '512',
   123                      Old: '256',
   124                      Type: 'Edited',
   125                    },
   126                  ],
   127                  Name: 'Resources',
   128                  Objects: null,
   129                  Type: 'Edited',
   130                },
   131                {
   132                  Fields: [
   133                    {
   134                      Annotations: null,
   135                      Name: 'MaxFileSizeMB',
   136                      New: '15',
   137                      Old: '10',
   138                      Type: 'Edited',
   139                    },
   140                    {
   141                      Annotations: null,
   142                      Name: 'MaxFiles',
   143                      New: '10',
   144                      Old: '10',
   145                      Type: 'None',
   146                    },
   147                  ],
   148                  Name: 'LogConfig',
   149                  Objects: null,
   150                  Type: 'Edited',
   151                },
   152                {
   153                  Fields: [
   154                    {
   155                      Annotations: null,
   156                      Name: 'AddressMode',
   157                      New: 'auto',
   158                      Old: 'auto',
   159                      Type: 'None',
   160                    },
   161                    {
   162                      Annotations: null,
   163                      Name: 'Name',
   164                      New: 'redis-cache',
   165                      Old: 'redis-cache',
   166                      Type: 'None',
   167                    },
   168                    {
   169                      Annotations: null,
   170                      Name: 'PortLabel',
   171                      New: 'db',
   172                      Old: 'db',
   173                      Type: 'None',
   174                    },
   175                  ],
   176                  Name: 'Service',
   177                  Objects: [
   178                    {
   179                      Fields: [
   180                        {
   181                          Annotations: null,
   182                          Name: 'Command',
   183                          New: '',
   184                          Old: '',
   185                          Type: 'None',
   186                        },
   187                        {
   188                          Annotations: null,
   189                          Name: 'InitialStatus',
   190                          New: '',
   191                          Old: '',
   192                          Type: 'None',
   193                        },
   194                        {
   195                          Annotations: null,
   196                          Name: 'Interval',
   197                          New: '10000000000',
   198                          Old: '10000000000',
   199                          Type: 'None',
   200                        },
   201                        {
   202                          Annotations: null,
   203                          Name: 'Method',
   204                          New: '',
   205                          Old: '',
   206                          Type: 'None',
   207                        },
   208                        {
   209                          Annotations: null,
   210                          Name: 'Name',
   211                          New: 'alive',
   212                          Old: 'alive',
   213                          Type: 'None',
   214                        },
   215                        {
   216                          Annotations: null,
   217                          Name: 'Path',
   218                          New: '',
   219                          Old: '',
   220                          Type: 'None',
   221                        },
   222                        {
   223                          Annotations: null,
   224                          Name: 'PortLabel',
   225                          New: '',
   226                          Old: '',
   227                          Type: 'None',
   228                        },
   229                        {
   230                          Annotations: null,
   231                          Name: 'Protocol',
   232                          New: '',
   233                          Old: '',
   234                          Type: 'None',
   235                        },
   236                        {
   237                          Annotations: null,
   238                          Name: 'TLSSkipVerify',
   239                          New: 'false',
   240                          Old: 'false',
   241                          Type: 'None',
   242                        },
   243                        {
   244                          Annotations: null,
   245                          Name: 'Timeout',
   246                          New: '3000000000',
   247                          Old: '2000000000',
   248                          Type: 'Edited',
   249                        },
   250                        {
   251                          Annotations: null,
   252                          Name: 'Type',
   253                          New: 'tcp',
   254                          Old: 'tcp',
   255                          Type: 'None',
   256                        },
   257                      ],
   258                      Name: 'Check',
   259                      Objects: null,
   260                      Type: 'Edited',
   261                    },
   262                  ],
   263                  Type: 'Edited',
   264                },
   265              ],
   266              Type: 'Edited',
   267            },
   268          ],
   269          Type: 'Edited',
   270          Updates: null,
   271        },
   272      ],
   273      Type: 'Edited',
   274    };
   275  }