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 }