@northern.tech/testing 0.8.3 → 0.9.0

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