github.com/blixtra/nomad@v0.7.2-0.20171221000451-da9a1d7bb050/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          versionNumber: version.version,
    29        },
    30      ].compact();
    31      server.create(...args);
    32    },
    33  });
    34  
    35  function generateDiff(version) {
    36    return {
    37      Fields: null,
    38      ID: version.jobId,
    39      Objects: null,
    40      TaskGroups: [
    41        {
    42          Fields: [
    43            {
    44              Annotations: null,
    45              Name: 'Count',
    46              New: '2',
    47              Old: '4',
    48              Type: 'Edited',
    49            },
    50          ],
    51          Name: 'cache',
    52          Objects: [
    53            {
    54              Fields: [
    55                {
    56                  Annotations: null,
    57                  Name: 'Attempts',
    58                  New: '15',
    59                  Old: '10',
    60                  Type: 'Edited',
    61                },
    62                {
    63                  Annotations: null,
    64                  Name: 'Delay',
    65                  New: '25000000000',
    66                  Old: '25000000000',
    67                  Type: 'None',
    68                },
    69                {
    70                  Annotations: null,
    71                  Name: 'Interval',
    72                  New: '900000000000',
    73                  Old: '900000000000',
    74                  Type: 'None',
    75                },
    76                {
    77                  Annotations: null,
    78                  Name: 'Mode',
    79                  New: 'delay',
    80                  Old: 'delay',
    81                  Type: 'None',
    82                },
    83              ],
    84              Name: 'RestartPolicy',
    85              Objects: null,
    86              Type: 'Edited',
    87            },
    88          ],
    89          Tasks: [
    90            {
    91              Annotations: null,
    92              Fields: null,
    93              Name: 'redis',
    94              Objects: [
    95                {
    96                  Fields: [
    97                    {
    98                      Annotations: null,
    99                      Name: 'CPU',
   100                      New: '500',
   101                      Old: '500',
   102                      Type: 'None',
   103                    },
   104                    {
   105                      Annotations: null,
   106                      Name: 'DiskMB',
   107                      New: '0',
   108                      Old: '0',
   109                      Type: 'None',
   110                    },
   111                    {
   112                      Annotations: null,
   113                      Name: 'IOPS',
   114                      New: '0',
   115                      Old: '0',
   116                      Type: 'None',
   117                    },
   118                    {
   119                      Annotations: null,
   120                      Name: 'MemoryMB',
   121                      New: '512',
   122                      Old: '256',
   123                      Type: 'Edited',
   124                    },
   125                  ],
   126                  Name: 'Resources',
   127                  Objects: null,
   128                  Type: 'Edited',
   129                },
   130                {
   131                  Fields: [
   132                    {
   133                      Annotations: null,
   134                      Name: 'MaxFileSizeMB',
   135                      New: '15',
   136                      Old: '10',
   137                      Type: 'Edited',
   138                    },
   139                    {
   140                      Annotations: null,
   141                      Name: 'MaxFiles',
   142                      New: '10',
   143                      Old: '10',
   144                      Type: 'None',
   145                    },
   146                  ],
   147                  Name: 'LogConfig',
   148                  Objects: null,
   149                  Type: 'Edited',
   150                },
   151                {
   152                  Fields: [
   153                    {
   154                      Annotations: null,
   155                      Name: 'AddressMode',
   156                      New: 'auto',
   157                      Old: 'auto',
   158                      Type: 'None',
   159                    },
   160                    {
   161                      Annotations: null,
   162                      Name: 'Name',
   163                      New: 'global-redis-check',
   164                      Old: 'global-redis-check',
   165                      Type: 'None',
   166                    },
   167                    {
   168                      Annotations: null,
   169                      Name: 'PortLabel',
   170                      New: 'db',
   171                      Old: 'db',
   172                      Type: 'None',
   173                    },
   174                  ],
   175                  Name: 'Service',
   176                  Objects: [
   177                    {
   178                      Fields: [
   179                        {
   180                          Annotations: null,
   181                          Name: 'Command',
   182                          New: '',
   183                          Old: '',
   184                          Type: 'None',
   185                        },
   186                        {
   187                          Annotations: null,
   188                          Name: 'InitialStatus',
   189                          New: '',
   190                          Old: '',
   191                          Type: 'None',
   192                        },
   193                        {
   194                          Annotations: null,
   195                          Name: 'Interval',
   196                          New: '10000000000',
   197                          Old: '10000000000',
   198                          Type: 'None',
   199                        },
   200                        {
   201                          Annotations: null,
   202                          Name: 'Method',
   203                          New: '',
   204                          Old: '',
   205                          Type: 'None',
   206                        },
   207                        {
   208                          Annotations: null,
   209                          Name: 'Name',
   210                          New: 'alive',
   211                          Old: 'alive',
   212                          Type: 'None',
   213                        },
   214                        {
   215                          Annotations: null,
   216                          Name: 'Path',
   217                          New: '',
   218                          Old: '',
   219                          Type: 'None',
   220                        },
   221                        {
   222                          Annotations: null,
   223                          Name: 'PortLabel',
   224                          New: '',
   225                          Old: '',
   226                          Type: 'None',
   227                        },
   228                        {
   229                          Annotations: null,
   230                          Name: 'Protocol',
   231                          New: '',
   232                          Old: '',
   233                          Type: 'None',
   234                        },
   235                        {
   236                          Annotations: null,
   237                          Name: 'TLSSkipVerify',
   238                          New: 'false',
   239                          Old: 'false',
   240                          Type: 'None',
   241                        },
   242                        {
   243                          Annotations: null,
   244                          Name: 'Timeout',
   245                          New: '3000000000',
   246                          Old: '2000000000',
   247                          Type: 'Edited',
   248                        },
   249                        {
   250                          Annotations: null,
   251                          Name: 'Type',
   252                          New: 'tcp',
   253                          Old: 'tcp',
   254                          Type: 'None',
   255                        },
   256                      ],
   257                      Name: 'Check',
   258                      Objects: null,
   259                      Type: 'Edited',
   260                    },
   261                  ],
   262                  Type: 'Edited',
   263                },
   264              ],
   265              Type: 'Edited',
   266            },
   267          ],
   268          Type: 'Edited',
   269          Updates: null,
   270        },
   271      ],
   272      Type: 'Edited',
   273    };
   274  }