@northern.tech/testing 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/mockData.cjs +1288 -953
  2. package/dist/mockData.cjs.map +1 -1
  3. package/dist/mockData.d.cts +595 -569
  4. package/dist/mockData.d.ts +595 -569
  5. package/dist/mockData.js +1278 -45
  6. package/dist/mockData.js.map +1 -1
  7. package/dist/requestHandlers/deploymentHandlers.cjs +180 -1031
  8. package/dist/requestHandlers/deploymentHandlers.cjs.map +1 -1
  9. package/dist/requestHandlers/deploymentHandlers.d.cts +5 -3
  10. package/dist/requestHandlers/deploymentHandlers.d.ts +5 -3
  11. package/dist/requestHandlers/deploymentHandlers.js +189 -6
  12. package/dist/requestHandlers/deploymentHandlers.js.map +1 -1
  13. package/dist/requestHandlers/deviceHandlers.cjs +426 -1090
  14. package/dist/requestHandlers/deviceHandlers.cjs.map +1 -1
  15. package/dist/requestHandlers/deviceHandlers.d.cts +17 -15
  16. package/dist/requestHandlers/deviceHandlers.d.ts +17 -15
  17. package/dist/requestHandlers/deviceHandlers.js +426 -10
  18. package/dist/requestHandlers/deviceHandlers.js.map +1 -1
  19. package/dist/requestHandlers/monitorHandlers.cjs +20 -831
  20. package/dist/requestHandlers/monitorHandlers.cjs.map +1 -1
  21. package/dist/requestHandlers/monitorHandlers.d.cts +5 -3
  22. package/dist/requestHandlers/monitorHandlers.d.ts +5 -3
  23. package/dist/requestHandlers/monitorHandlers.js +20 -7
  24. package/dist/requestHandlers/monitorHandlers.js.map +1 -1
  25. package/dist/requestHandlers/organizationHandlers.cjs +296 -1113
  26. package/dist/requestHandlers/organizationHandlers.cjs.map +1 -1
  27. package/dist/requestHandlers/organizationHandlers.d.cts +5 -3
  28. package/dist/requestHandlers/organizationHandlers.d.ts +5 -3
  29. package/dist/requestHandlers/organizationHandlers.js +308 -6
  30. package/dist/requestHandlers/organizationHandlers.js.map +1 -1
  31. package/dist/requestHandlers/releaseHandlers.cjs +156 -960
  32. package/dist/requestHandlers/releaseHandlers.cjs.map +1 -1
  33. package/dist/requestHandlers/releaseHandlers.d.cts +5 -3
  34. package/dist/requestHandlers/releaseHandlers.d.ts +5 -3
  35. package/dist/requestHandlers/releaseHandlers.js +157 -6
  36. package/dist/requestHandlers/releaseHandlers.js.map +1 -1
  37. package/dist/requestHandlers/requestHandlers.cjs +26 -2000
  38. package/dist/requestHandlers/requestHandlers.cjs.map +1 -1
  39. package/dist/requestHandlers/requestHandlers.d.cts +5 -4
  40. package/dist/requestHandlers/requestHandlers.d.ts +5 -3
  41. package/dist/requestHandlers/requestHandlers.js +24 -32
  42. package/dist/requestHandlers/requestHandlers.js.map +1 -1
  43. package/dist/requestHandlers/userHandlers.cjs +138 -990
  44. package/dist/requestHandlers/userHandlers.cjs.map +1 -1
  45. package/dist/requestHandlers/userHandlers.d.cts +5 -3
  46. package/dist/requestHandlers/userHandlers.d.ts +5 -3
  47. package/dist/requestHandlers/userHandlers.js +138 -7
  48. package/dist/requestHandlers/userHandlers.js.map +1 -1
  49. package/dist/setupTests.cjs +163 -985
  50. package/dist/setupTests.cjs.map +1 -1
  51. package/dist/setupTests.d.cts +68 -66
  52. package/dist/setupTests.d.ts +68 -66
  53. package/dist/setupTests.js +114 -117
  54. package/dist/setupTests.js.map +1 -1
  55. package/dist/theme/light.cjs +7 -39
  56. package/dist/theme/light.cjs.map +1 -1
  57. package/dist/theme/light.d.cts +5 -10
  58. package/dist/theme/light.d.ts +5 -10
  59. package/dist/theme/light.js +7 -6
  60. package/dist/theme/light.js.map +1 -1
  61. package/dist/theme/mui.d.cjs +0 -0
  62. package/dist/theme/mui.d.cts +11 -0
  63. package/dist/theme/mui.d.ts +11 -0
  64. package/dist/utils.cjs +18 -68
  65. package/dist/utils.cjs.map +1 -1
  66. package/dist/utils.d.cts +6 -67
  67. package/dist/utils.d.ts +6 -67
  68. package/dist/utils.js +16 -10
  69. package/dist/utils.js.map +1 -1
  70. package/package.json +6 -6
  71. package/dist/chunk-3CVNBMEF.js +0 -161
  72. package/dist/chunk-3CVNBMEF.js.map +0 -1
  73. package/dist/chunk-7GNK7IRV.js +0 -29
  74. package/dist/chunk-7GNK7IRV.js.map +0 -1
  75. package/dist/chunk-AP4MOFMD.js +0 -239
  76. package/dist/chunk-AP4MOFMD.js.map +0 -1
  77. package/dist/chunk-DOHA53UH.js +0 -301
  78. package/dist/chunk-DOHA53UH.js.map +0 -1
  79. package/dist/chunk-H4J7L3HX.js +0 -188
  80. package/dist/chunk-H4J7L3HX.js.map +0 -1
  81. package/dist/chunk-HRGVXWMH.js +0 -17
  82. package/dist/chunk-HRGVXWMH.js.map +0 -1
  83. package/dist/chunk-KCLTR6QS.js +0 -34
  84. package/dist/chunk-KCLTR6QS.js.map +0 -1
  85. package/dist/chunk-M2TKDOPD.js +0 -266
  86. package/dist/chunk-M2TKDOPD.js.map +0 -1
  87. package/dist/chunk-O42KIJXJ.js +0 -933
  88. package/dist/chunk-O42KIJXJ.js.map +0 -1
  89. /package/dist/{baseTestConfig.json → public/baseTestConfig.json} +0 -0
@@ -1,933 +0,0 @@
1
- // src/mockData.ts
2
- import {
3
- ALL_DEVICES,
4
- ALL_RELEASES,
5
- defaultPermissionSets,
6
- emptyRole,
7
- emptyUiPermissions,
8
- maxSessionAge,
9
- rolesById,
10
- scopedPermissionAreas,
11
- uiPermissionsById
12
- } from "@northern.tech/utils/constants";
13
- var undefineds = /undefined|\[object Object\]/;
14
- var menderEnvironment = {
15
- features: {
16
- hasMultitenancy: true
17
- },
18
- integrationVersion: "saas-123.34",
19
- menderVersion: "next",
20
- metaMenderVersion: "saas-123.34",
21
- services: {
22
- deploymentsVersion: "1.2.3",
23
- deviceauthVersion: null,
24
- inventoryVersion: null
25
- }
26
- };
27
- var TEST_SESSION_DATETIME = "2019-01-13T13:00:00.000Z";
28
- var testDate = new Date(TEST_SESSION_DATETIME);
29
- var mockDate = new Date(testDate.setMilliseconds(testDate.getMilliseconds() + maxSessionAge));
30
- var defaultPassword = "mysecretpassword!123";
31
- var defaultCreationDate = "2019-01-13T06:25:00.000Z";
32
- var defaultMacAddress = "dc:a6:32:12:ad:bf";
33
- var testSsoId = "sso_id";
34
- var permissionSetObjectTypes = {
35
- any: "Any",
36
- artifacts: "Artifacts",
37
- empty: "",
38
- groups: "Device groups",
39
- releases: "Releases",
40
- tenantManagement: "Tenant management",
41
- userManagement: "User management"
42
- };
43
- var commonEndpoints = {
44
- artifacts: "^/api/management/v1/deployments/artifacts",
45
- artifactDetails: "^/api/management/v1/deployments/artifacts/[^/]+",
46
- deviceManagement: "^/api/management/(v[1-9])/(devauth|inventory)/"
47
- };
48
- var token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZTNkMGY4Yy1hZWRlLTQwMzAtYjM5MS03ZDUwMjBlYjg3M2UiLCJzdWIiOiJhMzBhNzgwYi1iODQzLTUzNDQtODBlMy0wZmQ5NWE0ZjZmYzMiLCJleHAiOjE2MDY4MTUzNjksImlhdCI6MTYwNjIxMDU2OSwibWVuZGVyLnRlbmFudCI6IjVmODVjMTdiY2U2MmI3ZmE3ZjVmNzA0MCIsIm1lbmRlci51c2VyIjp0cnVlLCJpc3MiOiJNZW5kZXIgVXNlcnMiLCJzY3AiOiJtZW5kZXIuKiIsIm1lbmRlci5wbGFuIjoicHJvZmVzc2lvbmFsIiwibmJmIjoxNjA2MjEwNTY5fQ.qVgYdCzLTf8OdK9uUctqqaY_HWkIiwpekuGvuGQAXCEgOv4bRNDlZRN_ZRSbxQoARG3pquhScbQrjBV9tcF4irTUPlTn3yrsXNO17DpcbTVeKRkb88RDtIKiRw3orVZ_GlIb-ckTQ5dS-Nqlyyf3Fmrhca-gwt6m_xv2UrmJK6eYYTMfggdRRWb-4u7mEkBI_pHPMTQrT8kJ2BeX-vHgazH9AoH0k85LHtFZQXD7pXHlDZRnLxJXukncwMGDmF17374gavYAIyDIzcC8sEBMDnVXgpikeA1sauzirqix6mAVs6XmxdQO7aF0wfXO1_PTYUA3Nk1oQfMYNlEI3U9uLRJRZIq2L8fmrrBryhstKd4y0KlBbGAQrx8NtRkgajjd1ljMfPBUEZrb7uSerVjneiO-aIBO76CuH0zdklphIjpGJeogkBhe8pAYNggp1XsZHgpZfl7IE5faKaDkMGnutaea--Czor6bhqUNCuY4tR0cpQJbNwy6LS9o1CFy4Log";
49
- var accessTokens = [
50
- { id: "some-id-1", expiration_date: "2022-06-02T11:11:21.725Z", name: "some-name-1" },
51
- { id: "some-id-2", expiration_date: "2022-06-02T11:11:21.725Z", last_used: "2022-06-02T11:05:21.725Z", name: "some-name-2" }
52
- ];
53
- var webhookEvents = [
54
- {
55
- id: "1",
56
- type: "device-status-changed",
57
- data: { id: "1", status: "accepted" },
58
- time: "2020-09-01T12:00:00.000Z",
59
- delivery_statuses: [{ integration_id: "1", success: true, status_code: 200 }]
60
- },
61
- {
62
- id: "2",
63
- type: "device-status-changed",
64
- data: { id: "3", status: "accepted" },
65
- time: "2020-09-01T12:00:05.000Z",
66
- delivery_statuses: [{ integration_id: "1", success: true, status_code: 200 }]
67
- }
68
- ];
69
- var spTenantLimits = {
70
- max_devices: {
71
- current_value: 0,
72
- name: "max_devices",
73
- tenant_id: "699f07a3e783def54cf6201f",
74
- value: 200
75
- },
76
- max_micro_devices: {
77
- current_value: 0,
78
- name: "max_micro_devices",
79
- tenant_id: "699f07a3e783def54cf6201f",
80
- value: 280
81
- },
82
- max_system_devices: {
83
- current_value: 0,
84
- name: "max_system_devices",
85
- tenant_id: "699f07a3e783def54cf6201f",
86
- value: 20
87
- }
88
- };
89
- var tenants = [
90
- {
91
- id: "671a0f1dd58c813118fe8622",
92
- parent_tenant_id: "6718de64b42e08dea2a2065d",
93
- name: "child2",
94
- tenant_token: "mQDYRCr-tGbDuJhPp7fArbfTA5htVTWE9G204AzhDUM",
95
- status: "active",
96
- additional_info: {
97
- marketing: false,
98
- campaign: ""
99
- },
100
- plan: "enterprise",
101
- trial: false,
102
- trial_expiration: null,
103
- service_provider: false,
104
- created_at: "2024-10-24T09:10:53.281Z",
105
- cancelled_at: null,
106
- children_tenants: null,
107
- max_child_tenants: 0,
108
- device_count: 0,
109
- device_limit: 100,
110
- device_limits: {
111
- max_devices: {
112
- current_value: 0,
113
- name: "max_devices",
114
- tenant_id: "699f07a3e783def54cf6201f",
115
- value: 200
116
- },
117
- max_micro_devices: {
118
- current_value: 0,
119
- name: "max_micro_devices",
120
- tenant_id: "699f07a3e783def54cf6201f",
121
- value: 280
122
- },
123
- max_system_devices: {
124
- current_value: 0,
125
- name: "max_system_devices",
126
- tenant_id: "699f07a3e783def54cf6201f",
127
- value: 20
128
- }
129
- },
130
- binary_delta: true
131
- }
132
- ];
133
- var adminUserCapabilities = {
134
- canAuditlog: true,
135
- canConfigure: true,
136
- canDeploy: true,
137
- canManageDevices: true,
138
- canManageReleases: true,
139
- canManageUsers: true,
140
- canReadDeployments: true,
141
- canReadDevices: true,
142
- canReadReleases: true,
143
- canReadUsers: true,
144
- canTroubleshoot: true,
145
- canUploadReleases: true,
146
- canWriteDevices: true
147
- };
148
- var userId = "a30a780b-b843-5344-80e3-0fd95a4f6fc3";
149
- var defaultUser = {
150
- created_ts: "2019-01-01T10:30:00.000Z",
151
- email: "a@b.com",
152
- id: "a1",
153
- roles: ["RBAC_ROLE_PERMIT_ALL"],
154
- tfa_status: "enabled",
155
- verified: true
156
- };
157
- var deviceTypes = { qemu: "qemux86-64" };
158
- var checkInTimeRounded = "2019-01-01T00:00:00.000Z";
159
- var checkInTimeExact = "2019-01-01T10:25:00.000Z";
160
- var mockApiResponses = {
161
- deployments: {
162
- byId: {
163
- d1: {
164
- id: "d1",
165
- name: "test deployment",
166
- created: "2019-01-01T12:30:00.000Z",
167
- devices: {
168
- a1: {
169
- id: "a1",
170
- status: "installing",
171
- attributes: {},
172
- image: { size: 123 }
173
- }
174
- },
175
- statistics: {
176
- status: {
177
- "already-installed": 0,
178
- decommissioned: 0,
179
- downloading: 0,
180
- failure: 0,
181
- installing: 1,
182
- noartifact: 0,
183
- pending: 0,
184
- rebooting: 0,
185
- success: 0
186
- },
187
- total_size: 1234
188
- }
189
- },
190
- d2: {
191
- id: "d2",
192
- name: "test deployment 2",
193
- artifact_name: "r1",
194
- artifacts: ["123"],
195
- created: "2019-01-01T12:25:00.000Z",
196
- device_count: 1,
197
- devices: {
198
- b1: {
199
- attributes: {},
200
- id: "b1",
201
- status: "pending"
202
- }
203
- },
204
- filter: void 0,
205
- group: void 0,
206
- statistics: {
207
- status: {
208
- downloading: 0,
209
- decommissioned: 0,
210
- failure: 0,
211
- installing: 0,
212
- noartifact: 0,
213
- pending: 1,
214
- rebooting: 0,
215
- success: 0,
216
- "already-installed": 0
217
- }
218
- }
219
- },
220
- d3: {
221
- id: "d3",
222
- name: "Test",
223
- phases: [
224
- { id: "0", batch_size: 2, device_count: 2 },
225
- { id: "1", start_ts: "2019-02-04T11:45:10.002Z", batch_size: 3, device_count: 3 },
226
- { id: "2", start_ts: "2019-02-05T11:45:10.002Z", batch_size: 5, device_count: 5 },
227
- { id: "3", start_ts: "2019-02-06T11:45:10.002Z", batch_size: 5, device_count: 5 },
228
- { id: "4", start_ts: "2019-02-21T11:45:10.002Z", batch_size: 5, device_count: 0 }
229
- ],
230
- max_devices: 0,
231
- created: "2019-01-31T12:59:30.020Z",
232
- devices: {},
233
- filter: void 0,
234
- group: void 0,
235
- stats: {
236
- pending: 3,
237
- decommissioned: 0,
238
- failure: 23,
239
- pause_before_committing: 0,
240
- pause_before_rebooting: 0,
241
- installing: 0,
242
- rebooting: 0,
243
- "already-installed": 0,
244
- pause_before_installing: 0,
245
- downloading: 0,
246
- success: 6,
247
- aborted: 0,
248
- noartifact: 0
249
- },
250
- statistics: { total_size: "1234" },
251
- status: "inprogress",
252
- active: true,
253
- device_count: 100,
254
- retries: "0",
255
- type: "software"
256
- }
257
- },
258
- byStatus: {
259
- pending: { deploymentIds: ["d2"] },
260
- inprogress: { deploymentIds: ["d3"] }
261
- }
262
- },
263
- devices: {
264
- byId: {
265
- a1: {
266
- id: "a1",
267
- auth_sets: [
268
- {
269
- id: "auth1",
270
- identity_data: { mac: defaultMacAddress },
271
- pubkey: "-----BEGIN PUBLIC KEY-----\nMIIBojWELzgJ62hcXIhAfqfoNiaB1326XZByZwcnHr5BuSPAgMBAAE=\n-----END PUBLIC KEY-----\n",
272
- status: "accepted",
273
- ts: defaultCreationDate
274
- }
275
- ],
276
- updated_ts: "2019-01-01T09:25:00.000Z"
277
- },
278
- b1: {
279
- id: "b1",
280
- attributes: {
281
- ipv4_wlan0: "192.168.10.141/24",
282
- device_type: [deviceTypes.qemu]
283
- },
284
- system: {
285
- check_in_time: checkInTimeRounded
286
- },
287
- check_in_time: checkInTimeExact,
288
- check_in_time_exact: checkInTimeExact,
289
- check_in_time_rounded: checkInTimeRounded,
290
- identity_data: { mac: defaultMacAddress },
291
- status: "accepted",
292
- decommissioning: false,
293
- created_ts: defaultCreationDate,
294
- updated_ts: "2019-01-01T09:25:00.000Z",
295
- auth_sets: [
296
- {
297
- id: "auth1",
298
- identity_data: { mac: defaultMacAddress },
299
- pubkey: "-----BEGIN PUBLIC KEY-----\nMIIBojWELzgJ62hcXIhAfqfoNiaB1326XZByZwcnHr5BuSPAgMBAAE=\n-----END PUBLIC KEY-----\n",
300
- ts: defaultCreationDate,
301
- status: "accepted"
302
- }
303
- ]
304
- }
305
- },
306
- groups: {
307
- byId: {
308
- testGroup: {
309
- deviceIds: ["a1", "b1"],
310
- filters: [],
311
- total: 2
312
- },
313
- testGroupDynamic: {
314
- id: "filter1",
315
- name: "filter1",
316
- filters: [{ scope: "system", key: "group", operator: "$eq", value: "things" }]
317
- }
318
- }
319
- },
320
- limits: { standard: 500, micro: 0, system: 0 },
321
- byStatus: {
322
- accepted: { deviceIds: ["a1", "b1"], total: 2 },
323
- active: { deviceIds: [], total: 0 },
324
- inactive: { deviceIds: [], total: 0 },
325
- pending: { deviceIds: ["c1"], total: 1 },
326
- preauthorized: { deviceIds: [], total: 0 },
327
- rejected: { deviceIds: [], total: 0 }
328
- }
329
- },
330
- organization: {
331
- organization: {
332
- id: "1",
333
- addons: [],
334
- name: "test",
335
- plan: "os",
336
- trial: false
337
- },
338
- products: [
339
- {
340
- name: "mender_standard",
341
- billing_unit: "devices",
342
- prices: [
343
- {
344
- plan: "os",
345
- constraints: {
346
- min: 50,
347
- max: 1e3,
348
- div: 50
349
- }
350
- },
351
- {
352
- plan: "professional",
353
- constraints: {
354
- min: 250,
355
- max: 1e4,
356
- div: 50
357
- }
358
- }
359
- ],
360
- addons: [
361
- {
362
- name: "troubleshoot",
363
- prices: [{ plan: "os" }, { plan: "professional" }]
364
- },
365
- {
366
- name: "configure",
367
- prices: [{ plan: "os" }, { plan: "professional" }]
368
- },
369
- {
370
- name: "monitor",
371
- prices: [{ plan: "professional" }]
372
- }
373
- ]
374
- },
375
- {
376
- name: "mender_micro",
377
- billing_unit: "devices",
378
- prices: [
379
- {
380
- plan: "os",
381
- constraints: {
382
- min: 50,
383
- max: 5e3,
384
- div: 50
385
- }
386
- },
387
- {
388
- plan: "professional",
389
- constraints: {
390
- min: 500,
391
- max: 1e5,
392
- div: 50
393
- }
394
- }
395
- ]
396
- }
397
- ],
398
- intentId: "testIntent",
399
- auditlog: {
400
- events: [
401
- {
402
- actor: {
403
- id: "string",
404
- type: "user",
405
- email: "string@example.com"
406
- },
407
- time: "2019-01-01T12:10:22.667Z",
408
- action: "create",
409
- object: {
410
- id: "string",
411
- type: "user",
412
- user: {
413
- email: "user@acme.com"
414
- }
415
- },
416
- change: "change1"
417
- },
418
- {
419
- actor: {
420
- id: "string",
421
- type: "user",
422
- email: "string",
423
- identity_data: "string"
424
- },
425
- time: "2019-01-01T12:16:22.667Z",
426
- action: "create",
427
- object: {
428
- id: "string",
429
- type: "deployment",
430
- deployment: {
431
- name: "production",
432
- artifact_name: "Application 0.0.1"
433
- }
434
- },
435
- change: "change2"
436
- },
437
- {
438
- actor: {
439
- id: "string",
440
- type: "user",
441
- email: "string@example.com"
442
- },
443
- time: "2019-01-01T12:10:22.669Z",
444
- action: "open_terminal",
445
- meta: {
446
- session_id: ["abd313a8-ee88-48ab-9c99-fbcd80048e6e"]
447
- },
448
- object: {
449
- id: "a1",
450
- type: "device"
451
- },
452
- change: "change3"
453
- }
454
- ]
455
- }
456
- },
457
- releases: {
458
- byId: {
459
- r1: {
460
- name: "r1",
461
- artifacts: [
462
- {
463
- id: "art1",
464
- description: "test description",
465
- device_types_compatible: [deviceTypes.qemu],
466
- modified: "2020-09-10T12:16:22.667Z",
467
- updates: [{ type_info: { type: "testtype" } }],
468
- artifact_depends: {
469
- device_type: [deviceTypes.qemu]
470
- },
471
- artifact_provides: {
472
- artifact_name: "myapp",
473
- "data-partition.myapp.version": "v2020.10",
474
- list_of_fancy: [deviceTypes.qemu, "x172"]
475
- },
476
- clears_artifact_provides: ["data-partition.myapp.*"]
477
- }
478
- ],
479
- device_types_compatible: [deviceTypes.qemu],
480
- modified: "2020-09-10T12:16:22.667Z",
481
- metaData: {}
482
- }
483
- }
484
- },
485
- users: {
486
- byId: {
487
- a1: defaultUser,
488
- [userId]: { ...defaultUser, id: userId, email: "a2@b.com", created_ts: "2019-01-01T12:30:00.000Z" }
489
- },
490
- rolesById: {
491
- admin: {
492
- name: "admin",
493
- description: "Administrator role",
494
- permissions: []
495
- },
496
- test: { name: "test", description: "test description", permissions: [] }
497
- },
498
- globalSettings: {
499
- "2fa": "enabled",
500
- id_attribute: void 0,
501
- previousFilters: []
502
- },
503
- userSettings: {
504
- "2fa": "disabled",
505
- columnSelection: [],
506
- onboarding: { something: "here" },
507
- tooltips: {},
508
- previousFilters: []
509
- }
510
- }
511
- };
512
- var releasesList = Array.from({ length: 5e3 }, (x, i) => ({
513
- artifacts: [
514
- {
515
- id: "art1",
516
- description: "test description",
517
- device_types_compatible: [deviceTypes.qemu],
518
- modified: "2020-09-10T12:16:22.667Z",
519
- updates: [{ type_info: { type: "testtype" } }],
520
- artifact_depends: {
521
- device_type: [deviceTypes.qemu]
522
- },
523
- artifact_provides: {
524
- artifact_name: "myapp",
525
- "data-partition.myapp.version": "v2020.10",
526
- list_of_fancy: [deviceTypes.qemu, "x172"]
527
- },
528
- clears_artifact_provides: ["data-partition.myapp.*"]
529
- }
530
- ],
531
- device_types_compatible: [deviceTypes.qemu],
532
- metaData: {},
533
- name: `release-${i + 1}`,
534
- modified: i
535
- }));
536
- var permissionSets = [
537
- {
538
- ...defaultPermissionSets.Basic,
539
- object: permissionSetObjectTypes.empty,
540
- description: "Set containing basic permissions.",
541
- permissions: [
542
- { action: "http", object: { type: "any", value: "^/api/management/v1/useradm/settings$" } },
543
- { action: "http", object: { type: "any", value: "^/api/management/v1/useradm/users/me$" } },
544
- { action: "http", object: { type: "any", value: "^/api/management/1.0/auth/verify$" } },
545
- { action: "http", object: { type: "PUT", value: "^/api/management/v1/useradm/2faverify$" } },
546
- { action: "http", object: { type: "POST", value: "^/api/management/v1/useradm/users/me/2fa/(enable|disable)$" } },
547
- { action: "http", object: { type: "GET", value: "^/api/management/(v[1-9])/useradm/roles" } },
548
- { action: "http", object: { type: "GET", value: "^/api/management/(v[1-9])/tenantadm/user/tenant" } }
549
- ]
550
- },
551
- {
552
- ...defaultPermissionSets.ManageReleases,
553
- action: uiPermissionsById.manage.title,
554
- object: permissionSetObjectTypes.releases,
555
- description: "Set of permissions which allows user to manage releases",
556
- permissions: [
557
- { action: "http", object: { type: "GET", value: commonEndpoints.artifacts } },
558
- { action: "http", object: { type: "GET", value: commonEndpoints.artifactDetails } },
559
- { action: "http", object: { type: "PUT", value: commonEndpoints.artifactDetails } },
560
- { action: "http", object: { type: "DELETE", value: commonEndpoints.artifactDetails } },
561
- { action: "http", object: { type: "GET", value: "^/api/management/v1/deployments/artifacts/[^/]+/download" } }
562
- ]
563
- },
564
- {
565
- ...defaultPermissionSets.ReadUsers,
566
- action: uiPermissionsById.read.title,
567
- object: permissionSetObjectTypes.userManagement,
568
- description: "Set of permissions which allows user to view other users",
569
- permissions: [{ action: "http", object: { type: "GET", value: "^/api/management/(v[1-9])/useradm/" } }]
570
- },
571
- {
572
- ...defaultPermissionSets.ManageUsers,
573
- action: uiPermissionsById.manage.title,
574
- object: permissionSetObjectTypes.userManagement,
575
- description: "Set of permissions which allows user manage other user accounts",
576
- permissions: [{ action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/useradm/" } }]
577
- },
578
- {
579
- ...defaultPermissionSets.ReadTenants,
580
- action: uiPermissionsById.read.title,
581
- object: permissionSetObjectTypes.tenantManagement,
582
- description: "Set of permissions which allows user to list other tenants and their config",
583
- permissions: [
584
- { action: "http", object: { type: "GET", value: "^/api/management/(v[1-9])/tenantadm/" } },
585
- { action: "http", object: { type: "POST", value: "^/api/management/(v[1-9])/tenantadm/" } }
586
- ]
587
- },
588
- {
589
- ...defaultPermissionSets.ManageTenants,
590
- action: uiPermissionsById.manage.title,
591
- object: permissionSetObjectTypes.tenantManagement,
592
- description: "Set of permissions which allows user to manage other tenants and their config",
593
- permissions: [
594
- { action: "http", object: { type: "GET", value: "^/api/management/(v[1-9])/tenantadm/" } },
595
- { action: "http", object: { type: "POST", value: "^/api/management/(v[1-9])/tenantadm/" } },
596
- { action: "http", object: { type: "PUT", value: "^/api/management/(v[1-9])/tenantadm/" } }
597
- ]
598
- },
599
- {
600
- ...defaultPermissionSets.ReadAuditLogs,
601
- action: uiPermissionsById.read.title,
602
- object: "System Audit Log",
603
- description: "Set of permissions which allows user to view system audit log",
604
- permissions: [{ action: "http", object: { type: "GET", value: "^/api/management/(v[1-9]|0.1.0)/auditlogs/logs" } }]
605
- },
606
- {
607
- ...defaultPermissionSets.DeployToDevices,
608
- action: "Deploy",
609
- object: permissionSetObjectTypes.groups,
610
- description: "Set of permissions which allows user to deploy to devices",
611
- permissions: [{ action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/(deployments|deviceconfig)/" } }],
612
- supported_scope_types: [scopedPermissionAreas.groups.scopeType]
613
- },
614
- {
615
- ...defaultPermissionSets.ConfigureDevices,
616
- action: "Configure",
617
- object: permissionSetObjectTypes.groups,
618
- description: "Set of permissions which allows user to manage configuration of the devices",
619
- permissions: [{ action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/deviceconfig/" } }],
620
- supported_scope_types: [scopedPermissionAreas.groups.scopeType]
621
- },
622
- {
623
- ...defaultPermissionSets.ConnectToDevices,
624
- action: "Connect",
625
- object: permissionSetObjectTypes.groups,
626
- description: "Set of permissions which allows user to use remote terminal and file transfer",
627
- permissions: [
628
- { action: "http", object: { type: "GET", value: "^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+/connect$" } },
629
- { action: "http", object: { type: "GET", value: "^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+/download\\?path=[^&]+$" } },
630
- { action: "http", object: { type: "PUT", value: "^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+/upload$" } }
631
- ],
632
- supported_scope_types: [scopedPermissionAreas.groups.scopeType]
633
- },
634
- {
635
- ...defaultPermissionSets.SuperUser,
636
- action: "Any",
637
- object: permissionSetObjectTypes.any,
638
- description: "Set of permissions which allows user to do anything",
639
- permissions: [{ action: "any", object: { type: "any", value: "any" } }]
640
- },
641
- {
642
- ...defaultPermissionSets.UploadArtifacts,
643
- action: "Upload",
644
- object: permissionSetObjectTypes.artifacts,
645
- description: "Set of permissions which allows user to upload artifacts",
646
- permissions: [
647
- { action: "http", object: { type: "POST", value: commonEndpoints.artifacts } },
648
- { action: "http", object: { type: "POST", value: "^/api/management/v1/deployments/artifacts/generate" } }
649
- ]
650
- },
651
- {
652
- ...defaultPermissionSets.ReadDevices,
653
- action: uiPermissionsById.read.title,
654
- object: permissionSetObjectTypes.groups,
655
- description: "Set of permissions which allows user to view devices",
656
- permissions: [
657
- { action: "http", object: { type: "POST", value: "^/api/management/v2/inventory/filters/search" } },
658
- { action: "http", object: { type: "GET", value: "^/api/management/(v[1-9])/(deployments|devauth|inventory|deviceconfig|devicemonitor)/" } },
659
- { action: "http", object: { type: "GET", value: "^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+$" } }
660
- ],
661
- supported_scope_types: [scopedPermissionAreas.groups.scopeType]
662
- },
663
- {
664
- ...defaultPermissionSets.ManageDevices,
665
- action: uiPermissionsById.manage.title,
666
- object: permissionSetObjectTypes.groups,
667
- description: "Set of permissions which allows user to manage devices",
668
- permissions: [
669
- { action: "http", object: { type: "POST", value: commonEndpoints.deviceManagement } },
670
- { action: "http", object: { type: "PUT", value: commonEndpoints.deviceManagement } },
671
- { action: "http", object: { type: "DELETE", value: commonEndpoints.deviceManagement } }
672
- ],
673
- supported_scope_types: [scopedPermissionAreas.groups.scopeType]
674
- },
675
- {
676
- ...defaultPermissionSets.ReadReleases,
677
- action: uiPermissionsById.read.title,
678
- object: permissionSetObjectTypes.releases,
679
- description: "Set of permissions which allows user to view releases",
680
- permissions: [
681
- { action: "http", object: { type: "GET", value: commonEndpoints.artifacts } },
682
- { action: "http", object: { type: "GET", value: commonEndpoints.artifactDetails } },
683
- { action: "http", object: { type: "GET", value: "^/api/management/v1/deployments/artifacts/[^/]+/download" } }
684
- ]
685
- },
686
- {
687
- name: "almostAdmin",
688
- object: permissionSetObjectTypes.empty,
689
- description: "Set containing all the permissions.",
690
- permissions: [
691
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/auditlogs/.*" } },
692
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/deployments/.*" } },
693
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/deployments/config/.*" } },
694
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/deployments/deployments/.*" } },
695
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/deployments/deployments/releases/.*" } },
696
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/devauth/.*" } },
697
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/deviceconfig/.*" } },
698
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/deviceconnect/.*" } },
699
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/deviceconnect/devices" } },
700
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/inventory/.*" } },
701
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/iot-manager/.*" } },
702
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/monitor/.*" } },
703
- { action: "http", object: { type: "any", value: "^/api/management/(v[1-9])/useradm/.*" } }
704
- ]
705
- }
706
- ];
707
- var rbacRoles = [
708
- {
709
- name: "dyn",
710
- description: "",
711
- permissions: [
712
- { action: "CREATE_DEPLOYMENT", object: { type: "DEVICE_GROUP", value: "dyn" } },
713
- { action: "VIEW_DEVICE", object: { type: "DEVICE_GROUP", value: "dyn" } }
714
- ]
715
- },
716
- { name: "asdasd", description: "123", permissions: [{ action: "http", object: { type: "any", value: "/api/management/v1/useradm/.*" } }] },
717
- {
718
- name: "141sasd",
719
- description: "1313adg",
720
- permission_sets_with_scope: [
721
- { ...defaultPermissionSets.ReadDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ["bestgroup"] } },
722
- { ...defaultPermissionSets.ConnectToDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ["bestgroup"] } },
723
- { ...defaultPermissionSets.ManageUsers }
724
- ]
725
- },
726
- {
727
- name: "kljlkk",
728
- description: "lkl",
729
- permission_sets_with_scope: [{ ...defaultPermissionSets.ConnectToDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ["bestgroup"] } }]
730
- },
731
- {
732
- name: "yyyyy",
733
- description: "asd",
734
- permission_sets_with_scope: [
735
- { ...defaultPermissionSets.ManageDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ["dockerclient"] } },
736
- { ...defaultPermissionSets.ManageReleases }
737
- ]
738
- },
739
- {
740
- name: "RBAC_ROLE_DEPLOYMENTS_MANAGER",
741
- description: "Intended for users responsible for managing deployments, this role can create and abort deployments",
742
- permission_sets_with_scope: [{ ...defaultPermissionSets.DeployToDevices }]
743
- },
744
- {
745
- name: "RBAC_ROLE_REMOTE_TERMINAL",
746
- description: `Intended for tech support accounts, this role can access the devices' Remote Terminal.`,
747
- permission_sets_with_scope: [{ ...defaultPermissionSets.ConnectToDevices }]
748
- },
749
- { name: "RBAC_ROLE_PERMIT_ALL", description: "", permission_sets_with_scope: [{ ...defaultPermissionSets.SuperUser }] },
750
- {
751
- name: "RBAC_ROLE_OBSERVER",
752
- description: "Intended for team leaders or limited tech support accounts, this role can see all Devices, Artifacts and Deployment reports but not make any changes.",
753
- permission_sets_with_scope: [{ ...defaultPermissionSets.ReadReleases }, { ...defaultPermissionSets.ReadDevices }]
754
- },
755
- {
756
- name: "RBAC_ROLE_CI",
757
- description: "Intended for automation accounts building software (e.g. CI/CD systems), this role can only manage Artifacts, including upload new Artifacts and delete Artifacts. It does not have access to Devices or Deployments.",
758
- permission_sets_with_scope: [
759
- { ...defaultPermissionSets.ReadReleases },
760
- { ...defaultPermissionSets.ManageReleases },
761
- { ...defaultPermissionSets.UploadArtifacts }
762
- ]
763
- },
764
- {
765
- name: "almostAdmin",
766
- description: "almost admin rights",
767
- permissions: permissionSets.find((item) => item.name === "almostAdmin")?.permissions
768
- },
769
- {
770
- name: "almostAdminNew",
771
- description: "almost admin rights",
772
- permission_sets_with_scope: Object.values(defaultPermissionSets)
773
- }
774
- ];
775
- var expectedParsedRoles = {
776
- "141sasd": {
777
- editable: true,
778
- isCustom: void 0,
779
- uiPermissions: {
780
- ...emptyUiPermissions,
781
- groups: { bestgroup: [uiPermissionsById.read.value, uiPermissionsById.connect.value] },
782
- userManagement: [uiPermissionsById.manage.value]
783
- }
784
- },
785
- asdasd: {
786
- editable: false,
787
- isCustom: true,
788
- uiPermissions: { ...emptyUiPermissions, userManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value] }
789
- },
790
- dyn: {
791
- editable: false,
792
- isCustom: true,
793
- uiPermissions: {
794
- ...emptyUiPermissions,
795
- deployments: [uiPermissionsById.deploy.value],
796
- groups: { dyn: [uiPermissionsById.read.value, uiPermissionsById.deploy.value] }
797
- }
798
- },
799
- kljlkk: {
800
- editable: true,
801
- isCustom: false,
802
- uiPermissions: { ...emptyUiPermissions, groups: { bestgroup: [uiPermissionsById.read.value, uiPermissionsById.connect.value] } }
803
- },
804
- yyyyy: {
805
- editable: true,
806
- isCustom: void 0,
807
- uiPermissions: {
808
- ...emptyUiPermissions,
809
- groups: { dockerclient: [uiPermissionsById.read.value, uiPermissionsById.manage.value] },
810
- releases: { [ALL_RELEASES]: [uiPermissionsById.manage.value] }
811
- }
812
- },
813
- almostAdmin: {
814
- editable: false,
815
- isCustom: true,
816
- uiPermissions: {
817
- ...emptyUiPermissions,
818
- auditlog: [uiPermissionsById.read.value],
819
- deployments: [uiPermissionsById.manage.value, uiPermissionsById.deploy.value, uiPermissionsById.read.value],
820
- groups: {
821
- [ALL_DEVICES]: [
822
- uiPermissionsById.read.value,
823
- // we can't assign deployment permissions to devices here, since the old path based rbac controls don't allow the scoped permissions
824
- // uiPermissionsById.deploy.value,
825
- uiPermissionsById.manage.value,
826
- uiPermissionsById.connect.value,
827
- uiPermissionsById.configure.value
828
- ]
829
- },
830
- releases: {
831
- [ALL_RELEASES]: [uiPermissionsById.read.value, uiPermissionsById.upload.value, uiPermissionsById.manage.value]
832
- },
833
- userManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value]
834
- }
835
- },
836
- almostAdminNew: {
837
- editable: true,
838
- isCustom: void 0,
839
- uiPermissions: {
840
- ...emptyUiPermissions,
841
- auditlog: [uiPermissionsById.read.value],
842
- deployments: [uiPermissionsById.read.value, uiPermissionsById.deploy.value, uiPermissionsById.manage.value],
843
- groups: {
844
- [ALL_DEVICES]: [
845
- uiPermissionsById.read.value,
846
- uiPermissionsById.manage.value,
847
- uiPermissionsById.deploy.value,
848
- uiPermissionsById.connect.value,
849
- uiPermissionsById.configure.value
850
- ]
851
- },
852
- releases: {
853
- [ALL_RELEASES]: [uiPermissionsById.manage.value, uiPermissionsById.upload.value, uiPermissionsById.read.value]
854
- },
855
- tenantManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value],
856
- userManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value]
857
- }
858
- }
859
- };
860
- var defaultRolesById = {
861
- ...rolesById,
862
- test: {
863
- ...emptyRole,
864
- name: "test",
865
- description: "test description",
866
- editable: true,
867
- uiPermissions: {
868
- ...emptyUiPermissions,
869
- groups: { testGroup: [uiPermissionsById.read.value] },
870
- releases: { bar: [uiPermissionsById.read.value] }
871
- }
872
- }
873
- };
874
- var receivedRoles = rbacRoles.reduce(
875
- (accu, role) => {
876
- const { name, description, ...roleRemainder } = role;
877
- if (name.startsWith("RBAC")) {
878
- accu[name] = {
879
- ...defaultRolesById[name],
880
- ...roleRemainder,
881
- editable: false,
882
- isCustom: false,
883
- description: defaultRolesById[name].description ? defaultRolesById[name].description : description
884
- };
885
- } else {
886
- const result = expectedParsedRoles[name] ?? {};
887
- accu[name] = {
888
- ...emptyRole,
889
- ...role,
890
- ...result,
891
- name
892
- };
893
- }
894
- return accu;
895
- },
896
- { ...defaultRolesById }
897
- );
898
- var receivedPermissionSets = permissionSets.reduce((accu, set) => {
899
- const result = defaultPermissionSets[set.name]?.result ?? {};
900
- accu[set.name] = {
901
- ...set,
902
- result: {
903
- ...emptyUiPermissions,
904
- ...result
905
- }
906
- };
907
- return accu;
908
- }, {});
909
-
910
- export {
911
- undefineds,
912
- menderEnvironment,
913
- TEST_SESSION_DATETIME,
914
- mockDate,
915
- defaultPassword,
916
- defaultCreationDate,
917
- defaultMacAddress,
918
- testSsoId,
919
- token,
920
- accessTokens,
921
- webhookEvents,
922
- spTenantLimits,
923
- tenants,
924
- adminUserCapabilities,
925
- userId,
926
- mockApiResponses,
927
- releasesList,
928
- permissionSets,
929
- rbacRoles,
930
- receivedRoles,
931
- receivedPermissionSets
932
- };
933
- //# sourceMappingURL=chunk-O42KIJXJ.js.map