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