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 }