@northern.tech/testing 0.9.0 → 0.10.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 (36) hide show
  1. package/dist/mockData.cjs +48 -1
  2. package/dist/mockData.cjs.map +1 -1
  3. package/dist/mockData.d.cts +59 -1
  4. package/dist/mockData.d.ts +59 -1
  5. package/dist/mockData.js +47 -1
  6. package/dist/mockData.js.map +1 -1
  7. package/dist/requestHandlers/deploymentHandlers.cjs +2 -2
  8. package/dist/requestHandlers/deploymentHandlers.js +1 -1
  9. package/dist/requestHandlers/deviceHandlers.cjs +2 -2
  10. package/dist/requestHandlers/deviceHandlers.js +1 -1
  11. package/dist/requestHandlers/monitorHandlers.cjs +2 -2
  12. package/dist/requestHandlers/monitorHandlers.js +1 -1
  13. package/dist/requestHandlers/organizationHandlers.cjs +2 -2
  14. package/dist/requestHandlers/organizationHandlers.js +1 -1
  15. package/dist/requestHandlers/releaseHandlers.cjs +27 -3
  16. package/dist/requestHandlers/releaseHandlers.cjs.map +1 -1
  17. package/dist/requestHandlers/releaseHandlers.js +28 -4
  18. package/dist/requestHandlers/releaseHandlers.js.map +1 -1
  19. package/dist/requestHandlers/requestHandlers.cjs +1 -1
  20. package/dist/requestHandlers/userHandlers.cjs +2 -2
  21. package/dist/requestHandlers/userHandlers.js +1 -1
  22. package/dist/requestHandlers/validation.cjs +1 -1
  23. package/dist/requestHandlers/validation.js +1 -1
  24. package/dist/setupTests.cjs +24 -2
  25. package/dist/setupTests.cjs.map +1 -1
  26. package/dist/utils.cjs +1 -1
  27. package/dist/validation-C2Z8J5Wf.cjs +76 -0
  28. package/dist/validation-C2Z8J5Wf.cjs.map +1 -0
  29. package/dist/validation-DYn_XRB5.js +64 -0
  30. package/dist/validation-DYn_XRB5.js.map +1 -0
  31. package/package.json +1 -1
  32. package/dist/chunk-CKQMccvm.cjs +0 -28
  33. package/dist/validation-CsEFO-Cv.cjs +0 -77
  34. package/dist/validation-CsEFO-Cv.cjs.map +0 -1
  35. package/dist/validation-JDM_vsFz.js +0 -64
  36. package/dist/validation-JDM_vsFz.js.map +0 -1
package/dist/mockData.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("./chunk-CKQMccvm.cjs");
2
+ require("./setupTests.cjs");
3
3
  let _northern_tech_utils_constants = require("@northern.tech/utils/constants");
4
4
  //#region src/mockData.ts
5
5
  const undefineds = /undefined|\[object Object\]/;
@@ -501,6 +501,29 @@ const mockApiResponses = {
501
501
  modified: "2020-09-10T12:16:22.667Z",
502
502
  metaData: {}
503
503
  } } },
504
+ manifests: { byId: { m1000: {
505
+ name: "m1000",
506
+ modified: "2020-01-01T00:16:39.000Z",
507
+ artifact: {
508
+ id: "art-m1000",
509
+ name: "m1000",
510
+ description: "test manifest description",
511
+ device_types_compatible: [deviceTypes.qemu],
512
+ modified: "2020-01-01T00:16:39.000Z"
513
+ },
514
+ manifest: {
515
+ api_version: "mender/v1",
516
+ kind: "manifest",
517
+ name: "m1000",
518
+ system_types_compatible: [deviceTypes.qemu],
519
+ component_types: { "component-a": {
520
+ artifact_name: "art-m1000-component",
521
+ update_strategy: { order: 10 }
522
+ } }
523
+ },
524
+ tags: [],
525
+ notes: ""
526
+ } } },
504
527
  users: {
505
528
  byId: {
506
529
  a1: defaultUser,
@@ -537,6 +560,29 @@ const mockApiResponses = {
537
560
  }
538
561
  }
539
562
  };
563
+ const manifestsList = Array.from({ length: 1e3 }, (_, i) => ({
564
+ name: `m${i + 1}`,
565
+ modified: new Date(2020, 0, 1, 0, 0, i).toISOString(),
566
+ artifact: {
567
+ id: `art-m${i + 1}`,
568
+ name: `m${i + 1}`,
569
+ description: "test manifest description",
570
+ device_types_compatible: [deviceTypes.qemu],
571
+ modified: new Date(2020, 0, 1, 0, 0, i).toISOString()
572
+ },
573
+ manifest: {
574
+ api_version: "mender/v1",
575
+ kind: "manifest",
576
+ name: `m${i + 1}`,
577
+ system_types_compatible: [deviceTypes.qemu],
578
+ component_types: { "component-a": {
579
+ artifact_name: `art-m${i + 1}-component`,
580
+ update_strategy: { order: 10 }
581
+ } }
582
+ },
583
+ tags: [],
584
+ notes: ""
585
+ }));
540
586
  const releasesList = Array.from({ length: 5e3 }, (x, i) => ({
541
587
  artifacts: [{
542
588
  id: "art1",
@@ -1283,6 +1329,7 @@ exports.adminUserCapabilities = adminUserCapabilities;
1283
1329
  exports.defaultCreationDate = defaultCreationDate;
1284
1330
  exports.defaultMacAddress = defaultMacAddress;
1285
1331
  exports.defaultPassword = defaultPassword;
1332
+ exports.manifestsList = manifestsList;
1286
1333
  exports.menderEnvironment = menderEnvironment;
1287
1334
  exports.mockApiResponses = mockApiResponses;
1288
1335
  exports.mockDate = mockDate;
@@ -1 +1 @@
1
- {"version":3,"file":"mockData.cjs","names":["maxSessionAge","defaultPermissionSets","uiPermissionsById","scopedPermissionAreas","emptyUiPermissions","ALL_RELEASES","ALL_DEVICES","rolesById","emptyRole"],"sources":["../src/mockData.ts"],"sourcesContent":["// Copyright 2020 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport {\n ALL_DEVICES,\n ALL_RELEASES,\n defaultPermissionSets,\n emptyRole,\n emptyUiPermissions,\n maxSessionAge,\n rolesById,\n scopedPermissionAreas,\n uiPermissionsById\n} from '@northern.tech/utils/constants';\n\nexport const undefineds = /undefined|\\[object Object\\]/;\n\nexport const menderEnvironment = {\n features: {\n hasMultitenancy: true\n },\n integrationVersion: 'saas-123.34',\n menderVersion: 'next',\n metaMenderVersion: 'saas-123.34',\n services: {\n deploymentsVersion: '1.2.3',\n deviceauthVersion: null,\n inventoryVersion: null\n }\n};\nexport const TEST_SESSION_DATETIME = '2019-01-13T13:00:00.000Z';\nconst testDate = new Date(TEST_SESSION_DATETIME);\nexport const mockDate = new Date(testDate.setMilliseconds(testDate.getMilliseconds() + maxSessionAge));\n\nexport const defaultPassword = 'mysecretpassword!123';\nexport const defaultCreationDate = '2019-01-13T06:25:00.000Z';\nexport const defaultMacAddress = 'dc:a6:32:12:ad:bf';\n\nexport const testSsoId = 'sso_id';\n\nconst permissionSetObjectTypes = {\n any: 'Any',\n artifacts: 'Artifacts',\n empty: '',\n groups: 'Device groups',\n releases: 'Releases',\n tenantManagement: 'Tenant management',\n userManagement: 'User management'\n};\n\nconst commonEndpoints = {\n artifacts: '^/api/management/v1/deployments/artifacts',\n artifactDetails: '^/api/management/v1/deployments/artifacts/[^/]+',\n deviceManagement: '^/api/management/(v[1-9])/(devauth|inventory)/'\n};\n\nexport const token =\n 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZTNkMGY4Yy1hZWRlLTQwMzAtYjM5MS03ZDUwMjBlYjg3M2UiLCJzdWIiOiJhMzBhNzgwYi1iODQzLTUzNDQtODBlMy0wZmQ5NWE0ZjZmYzMiLCJleHAiOjE2MDY4MTUzNjksImlhdCI6MTYwNjIxMDU2OSwibWVuZGVyLnRlbmFudCI6IjVmODVjMTdiY2U2MmI3ZmE3ZjVmNzA0MCIsIm1lbmRlci51c2VyIjp0cnVlLCJpc3MiOiJNZW5kZXIgVXNlcnMiLCJzY3AiOiJtZW5kZXIuKiIsIm1lbmRlci5wbGFuIjoicHJvZmVzc2lvbmFsIiwibmJmIjoxNjA2MjEwNTY5fQ.qVgYdCzLTf8OdK9uUctqqaY_HWkIiwpekuGvuGQAXCEgOv4bRNDlZRN_ZRSbxQoARG3pquhScbQrjBV9tcF4irTUPlTn3yrsXNO17DpcbTVeKRkb88RDtIKiRw3orVZ_GlIb-ckTQ5dS-Nqlyyf3Fmrhca-gwt6m_xv2UrmJK6eYYTMfggdRRWb-4u7mEkBI_pHPMTQrT8kJ2BeX-vHgazH9AoH0k85LHtFZQXD7pXHlDZRnLxJXukncwMGDmF17374gavYAIyDIzcC8sEBMDnVXgpikeA1sauzirqix6mAVs6XmxdQO7aF0wfXO1_PTYUA3Nk1oQfMYNlEI3U9uLRJRZIq2L8fmrrBryhstKd4y0KlBbGAQrx8NtRkgajjd1ljMfPBUEZrb7uSerVjneiO-aIBO76CuH0zdklphIjpGJeogkBhe8pAYNggp1XsZHgpZfl7IE5faKaDkMGnutaea--Czor6bhqUNCuY4tR0cpQJbNwy6LS9o1CFy4Log';\n\nexport const accessTokens = [\n { id: 'some-id-1', expiration_date: '2022-06-02T11:11:21.725Z', name: 'some-name-1' },\n { id: 'some-id-2', expiration_date: '2022-06-02T11:11:21.725Z', last_used: '2022-06-02T11:05:21.725Z', name: 'some-name-2' }\n];\n\nexport const webhookEvents = [\n {\n id: '1',\n type: 'device-status-changed',\n data: { id: '1', status: 'accepted' },\n time: '2020-09-01T12:00:00.000Z',\n delivery_statuses: [{ integration_id: '1', success: true, status_code: 200 }]\n },\n {\n id: '2',\n type: 'device-status-changed',\n data: { id: '3', status: 'accepted' },\n time: '2020-09-01T12:00:05.000Z',\n delivery_statuses: [{ integration_id: '1', success: true, status_code: 200 }]\n }\n];\n\nexport const spTenantLimits = {\n max_devices: {\n current_value: 0,\n name: 'max_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 200\n },\n max_micro_devices: {\n current_value: 0,\n name: 'max_micro_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 280\n },\n max_system_devices: {\n current_value: 0,\n name: 'max_system_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 20\n }\n};\n\nexport const tenants = [\n {\n id: '671a0f1dd58c813118fe8622',\n parent_tenant_id: '6718de64b42e08dea2a2065d',\n name: 'child2',\n tenant_token: 'mQDYRCr-tGbDuJhPp7fArbfTA5htVTWE9G204AzhDUM',\n status: 'active',\n additional_info: {\n marketing: false,\n campaign: ''\n },\n plan: 'enterprise',\n trial: false,\n trial_expiration: null,\n service_provider: false,\n created_at: '2024-10-24T09:10:53.281Z',\n cancelled_at: null,\n children_tenants: null,\n max_child_tenants: 0,\n device_count: 0,\n device_limit: 100,\n device_limits: {\n max_devices: {\n current_value: 0,\n name: 'max_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 200\n },\n max_micro_devices: {\n current_value: 0,\n name: 'max_micro_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 280\n },\n max_system_devices: {\n current_value: 0,\n name: 'max_system_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 20\n }\n },\n binary_delta: true\n }\n];\n\nexport const adminUserCapabilities = {\n canAuditlog: true,\n canConfigure: true,\n canDeploy: true,\n canManageDevices: true,\n canManageReleases: true,\n canManageUsers: true,\n canReadDeployments: true,\n canReadDevices: true,\n canReadReleases: true,\n canReadUsers: true,\n canTroubleshoot: true,\n canUploadReleases: true,\n canWriteDevices: true\n};\n\nexport const userId = 'a30a780b-b843-5344-80e3-0fd95a4f6fc3';\n\nconst defaultUser = {\n created_ts: '2019-01-01T10:30:00.000Z',\n email: 'a@b.com',\n id: 'a1',\n roles: ['RBAC_ROLE_PERMIT_ALL'],\n tfa_status: 'enabled',\n verified: true\n};\n\nconst deviceTypes = { qemu: 'qemux86-64' };\n\nconst checkInTimeRounded = '2019-01-01T00:00:00.000Z';\nconst checkInTimeExact = '2019-01-01T10:25:00.000Z';\n\nexport const mockApiResponses = {\n deployments: {\n byId: {\n d1: {\n id: 'd1',\n name: 'test deployment',\n created: '2019-01-01T12:30:00.000Z',\n devices: {\n a1: {\n id: 'a1',\n status: 'installing',\n attributes: {},\n image: { size: 123 }\n }\n },\n statistics: {\n status: {\n 'already-installed': 0,\n decommissioned: 0,\n downloading: 0,\n failure: 0,\n installing: 1,\n noartifact: 0,\n pending: 0,\n rebooting: 0,\n success: 0\n },\n total_size: 1234\n }\n },\n d2: {\n id: 'd2',\n name: 'test deployment 2',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:25:00.000Z',\n device_count: 1,\n devices: {\n b1: {\n attributes: {},\n id: 'b1',\n status: 'pending'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 0,\n noartifact: 0,\n pending: 1,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n }\n }\n },\n d3: {\n id: 'd3',\n name: 'Test',\n phases: [\n { id: '0', batch_size: 2, device_count: 2 },\n { id: '1', start_ts: '2019-02-04T11:45:10.002Z', batch_size: 3, device_count: 3 },\n { id: '2', start_ts: '2019-02-05T11:45:10.002Z', batch_size: 5, device_count: 5 },\n { id: '3', start_ts: '2019-02-06T11:45:10.002Z', batch_size: 5, device_count: 5 },\n { id: '4', start_ts: '2019-02-21T11:45:10.002Z', batch_size: 5, device_count: 0 }\n ],\n max_devices: 0,\n created: '2019-01-31T12:59:30.020Z',\n devices: {},\n filter: undefined,\n group: undefined,\n stats: {\n pending: 3,\n decommissioned: 0,\n failure: 23,\n pause_before_committing: 0,\n pause_before_rebooting: 0,\n installing: 0,\n rebooting: 0,\n 'already-installed': 0,\n pause_before_installing: 0,\n downloading: 0,\n success: 6,\n aborted: 0,\n noartifact: 0\n },\n statistics: { total_size: '1234' },\n status: 'inprogress',\n active: true,\n device_count: 100,\n retries: '0',\n type: 'software'\n }\n },\n byStatus: {\n pending: { deploymentIds: ['d2'] },\n inprogress: { deploymentIds: ['d3'] }\n }\n },\n devices: {\n byId: {\n a1: {\n id: 'a1',\n auth_sets: [\n {\n id: 'auth1',\n identity_data: { mac: defaultMacAddress },\n pubkey: '-----BEGIN PUBLIC KEY-----\\nMIIBojWELzgJ62hcXIhAfqfoNiaB1326XZByZwcnHr5BuSPAgMBAAE=\\n-----END PUBLIC KEY-----\\n',\n status: 'accepted',\n ts: defaultCreationDate\n }\n ],\n updated_ts: '2019-01-01T09:25:00.000Z'\n },\n b1: {\n id: 'b1',\n attributes: {\n ipv4_wlan0: '192.168.10.141/24',\n device_type: [deviceTypes.qemu]\n },\n system: {\n check_in_time: checkInTimeRounded\n },\n check_in_time: checkInTimeExact,\n check_in_time_exact: checkInTimeExact,\n check_in_time_rounded: checkInTimeRounded,\n identity_data: { mac: defaultMacAddress },\n status: 'accepted',\n decommissioning: false,\n created_ts: defaultCreationDate,\n updated_ts: '2019-01-01T09:25:00.000Z',\n auth_sets: [\n {\n id: 'auth1',\n identity_data: { mac: defaultMacAddress },\n pubkey: '-----BEGIN PUBLIC KEY-----\\nMIIBojWELzgJ62hcXIhAfqfoNiaB1326XZByZwcnHr5BuSPAgMBAAE=\\n-----END PUBLIC KEY-----\\n',\n ts: defaultCreationDate,\n status: 'accepted'\n }\n ]\n }\n },\n groups: {\n byId: {\n testGroup: {\n deviceIds: ['a1', 'b1'],\n filters: [],\n total: 2\n },\n testGroupDynamic: {\n id: 'filter1',\n name: 'filter1',\n filters: [{ scope: 'system', key: 'group', operator: '$eq', value: 'things' }]\n }\n }\n },\n limits: { standard: 500, micro: 0, system: 0 },\n byStatus: {\n accepted: { deviceIds: ['a1', 'b1'], total: 2 },\n active: { deviceIds: [], total: 0 },\n inactive: { deviceIds: [], total: 0 },\n pending: { deviceIds: ['c1'], total: 1 },\n preauthorized: { deviceIds: [], total: 0 },\n rejected: { deviceIds: [], total: 0 }\n }\n },\n organization: {\n organization: {\n id: '1',\n addons: [],\n name: 'test',\n plan: 'os',\n trial: false\n },\n products: [\n {\n name: 'mender_standard',\n billing_unit: 'devices',\n prices: [\n {\n plan: 'os',\n constraints: {\n min: 50,\n max: 1000,\n div: 50\n }\n },\n {\n plan: 'professional',\n constraints: {\n min: 250,\n max: 10000,\n div: 50\n }\n }\n ],\n addons: [\n {\n name: 'troubleshoot',\n prices: [{ plan: 'os' }, { plan: 'professional' }]\n },\n {\n name: 'configure',\n prices: [{ plan: 'os' }, { plan: 'professional' }]\n },\n {\n name: 'monitor',\n prices: [{ plan: 'professional' }]\n }\n ]\n },\n {\n name: 'mender_micro',\n billing_unit: 'devices',\n prices: [\n {\n plan: 'os',\n constraints: {\n min: 50,\n max: 5000,\n div: 50\n }\n },\n {\n plan: 'professional',\n constraints: {\n min: 500,\n max: 100000,\n div: 50\n }\n }\n ]\n }\n ],\n intentId: 'testIntent',\n auditlog: {\n events: [\n {\n actor: {\n id: 'string',\n type: 'user',\n email: 'string@example.com'\n },\n time: '2019-01-01T12:10:22.667Z',\n action: 'create',\n object: {\n id: 'string',\n type: 'user',\n user: {\n email: 'user@acme.com'\n }\n },\n change: 'change1'\n },\n {\n actor: {\n id: 'string',\n type: 'user',\n email: 'string',\n identity_data: 'string'\n },\n time: '2019-01-01T12:16:22.667Z',\n action: 'create',\n object: {\n id: 'string',\n type: 'deployment',\n deployment: {\n name: 'production',\n artifact_name: 'Application 0.0.1'\n }\n },\n change: 'change2'\n },\n {\n actor: {\n id: 'string',\n type: 'user',\n email: 'string@example.com'\n },\n time: '2019-01-01T12:10:22.669Z',\n action: 'open_terminal',\n meta: {\n session_id: ['abd313a8-ee88-48ab-9c99-fbcd80048e6e']\n },\n object: {\n id: 'a1',\n type: 'device'\n },\n change: 'change3'\n }\n ]\n }\n },\n releases: {\n byId: {\n r1: {\n name: 'r1',\n artifacts: [\n {\n id: 'art1',\n description: 'test description',\n device_types_compatible: [deviceTypes.qemu],\n modified: '2020-09-10T12:16:22.667Z',\n updates: [{ type_info: { type: 'testtype' } }],\n artifact_depends: {\n device_type: [deviceTypes.qemu]\n },\n artifact_provides: {\n artifact_name: 'myapp',\n 'data-partition.myapp.version': 'v2020.10',\n list_of_fancy: [deviceTypes.qemu, 'x172']\n },\n clears_artifact_provides: ['data-partition.myapp.*']\n }\n ],\n device_types_compatible: [deviceTypes.qemu],\n modified: '2020-09-10T12:16:22.667Z',\n metaData: {}\n }\n }\n },\n users: {\n byId: {\n a1: defaultUser,\n [userId]: { ...defaultUser, id: userId, email: 'a2@b.com', created_ts: '2019-01-01T12:30:00.000Z' }\n },\n rolesById: {\n admin: {\n name: 'admin',\n description: 'Administrator role',\n permissions: []\n },\n test: { name: 'test', description: 'test description', permissions: [] }\n },\n globalSettings: {\n '2fa': 'enabled',\n id_attribute: undefined,\n previousFilters: []\n },\n userSettings: {\n '2fa': 'disabled',\n columnSelection: [],\n onboarding: { something: 'here' },\n tooltips: {},\n previousFilters: []\n }\n }\n};\n\nexport const releasesList = Array.from({ length: 5000 }, (x, i) => ({\n artifacts: [\n {\n id: 'art1',\n description: 'test description',\n device_types_compatible: [deviceTypes.qemu],\n modified: '2020-09-10T12:16:22.667Z',\n updates: [{ type_info: { type: 'testtype' } }],\n artifact_depends: {\n device_type: [deviceTypes.qemu]\n },\n artifact_provides: {\n artifact_name: 'myapp',\n 'data-partition.myapp.version': 'v2020.10',\n list_of_fancy: [deviceTypes.qemu, 'x172']\n },\n clears_artifact_provides: ['data-partition.myapp.*']\n }\n ],\n device_types_compatible: [deviceTypes.qemu],\n metaData: {},\n name: `release-${i + 1}`,\n modified: i\n}));\n\nexport const permissionSets = [\n {\n ...defaultPermissionSets.Basic,\n object: permissionSetObjectTypes.empty,\n description: 'Set containing basic permissions.',\n permissions: [\n { action: 'http', object: { type: 'any', value: '^/api/management/v1/useradm/settings$' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/v1/useradm/users/me$' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/1.0/auth/verify$' } },\n { action: 'http', object: { type: 'PUT', value: '^/api/management/v1/useradm/2faverify$' } },\n { action: 'http', object: { type: 'POST', value: '^/api/management/v1/useradm/users/me/2fa/(enable|disable)$' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/useradm/roles' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/tenantadm/user/tenant' } }\n ]\n },\n {\n ...defaultPermissionSets.ManageReleases,\n action: uiPermissionsById.manage.title,\n object: permissionSetObjectTypes.releases,\n description: 'Set of permissions which allows user to manage releases',\n permissions: [\n { action: 'http', object: { type: 'GET', value: commonEndpoints.artifacts } },\n { action: 'http', object: { type: 'GET', value: commonEndpoints.artifactDetails } },\n { action: 'http', object: { type: 'PUT', value: commonEndpoints.artifactDetails } },\n { action: 'http', object: { type: 'DELETE', value: commonEndpoints.artifactDetails } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/v1/deployments/artifacts/[^/]+/download' } }\n ]\n },\n {\n ...defaultPermissionSets.ReadUsers,\n action: uiPermissionsById.read.title,\n object: permissionSetObjectTypes.userManagement,\n description: 'Set of permissions which allows user to view other users',\n permissions: [{ action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/useradm/' } }]\n },\n {\n ...defaultPermissionSets.ManageUsers,\n action: uiPermissionsById.manage.title,\n object: permissionSetObjectTypes.userManagement,\n description: 'Set of permissions which allows user manage other user accounts',\n permissions: [{ action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/useradm/' } }]\n },\n {\n ...defaultPermissionSets.ReadTenants,\n action: uiPermissionsById.read.title,\n object: permissionSetObjectTypes.tenantManagement,\n description: 'Set of permissions which allows user to list other tenants and their config',\n permissions: [\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/tenantadm/' } },\n { action: 'http', object: { type: 'POST', value: '^/api/management/(v[1-9])/tenantadm/' } }\n ]\n },\n {\n ...defaultPermissionSets.ManageTenants,\n action: uiPermissionsById.manage.title,\n object: permissionSetObjectTypes.tenantManagement,\n description: 'Set of permissions which allows user to manage other tenants and their config',\n permissions: [\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/tenantadm/' } },\n { action: 'http', object: { type: 'POST', value: '^/api/management/(v[1-9])/tenantadm/' } },\n { action: 'http', object: { type: 'PUT', value: '^/api/management/(v[1-9])/tenantadm/' } }\n ]\n },\n {\n ...defaultPermissionSets.ReadAuditLogs,\n action: uiPermissionsById.read.title,\n object: 'System Audit Log',\n description: 'Set of permissions which allows user to view system audit log',\n permissions: [{ action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9]|0.1.0)/auditlogs/logs' } }]\n },\n {\n ...defaultPermissionSets.DeployToDevices,\n action: 'Deploy',\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to deploy to devices',\n permissions: [{ action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/(deployments|deviceconfig)/' } }],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.ConfigureDevices,\n action: 'Configure',\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to manage configuration of the devices',\n permissions: [{ action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deviceconfig/' } }],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.ConnectToDevices,\n action: 'Connect',\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to use remote terminal and file transfer',\n permissions: [\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+/connect$' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+/download\\\\?path=[^\\u0026]+$' } },\n { action: 'http', object: { type: 'PUT', value: '^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+/upload$' } }\n ],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.SuperUser,\n action: 'Any',\n object: permissionSetObjectTypes.any,\n description: 'Set of permissions which allows user to do anything',\n permissions: [{ action: 'any', object: { type: 'any', value: 'any' } }]\n },\n {\n ...defaultPermissionSets.UploadArtifacts,\n action: 'Upload',\n object: permissionSetObjectTypes.artifacts,\n description: 'Set of permissions which allows user to upload artifacts',\n permissions: [\n { action: 'http', object: { type: 'POST', value: commonEndpoints.artifacts } },\n { action: 'http', object: { type: 'POST', value: '^/api/management/v1/deployments/artifacts/generate' } }\n ]\n },\n {\n ...defaultPermissionSets.ReadDevices,\n action: uiPermissionsById.read.title,\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to view devices',\n permissions: [\n { action: 'http', object: { type: 'POST', value: '^/api/management/v2/inventory/filters/search' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/(deployments|devauth|inventory|deviceconfig|devicemonitor)/' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+$' } }\n ],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.ManageDevices,\n action: uiPermissionsById.manage.title,\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to manage devices',\n permissions: [\n { action: 'http', object: { type: 'POST', value: commonEndpoints.deviceManagement } },\n { action: 'http', object: { type: 'PUT', value: commonEndpoints.deviceManagement } },\n { action: 'http', object: { type: 'DELETE', value: commonEndpoints.deviceManagement } }\n ],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.ReadReleases,\n action: uiPermissionsById.read.title,\n object: permissionSetObjectTypes.releases,\n description: 'Set of permissions which allows user to view releases',\n permissions: [\n { action: 'http', object: { type: 'GET', value: commonEndpoints.artifacts } },\n { action: 'http', object: { type: 'GET', value: commonEndpoints.artifactDetails } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/v1/deployments/artifacts/[^/]+/download' } }\n ]\n },\n {\n name: 'almostAdmin',\n object: permissionSetObjectTypes.empty,\n description: 'Set containing all the permissions.',\n permissions: [\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/auditlogs/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deployments/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deployments/config/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deployments/deployments/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deployments/deployments/releases/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/devauth/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deviceconfig/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deviceconnect/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deviceconnect/devices' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/inventory/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/iot-manager/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/monitor/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/useradm/.*' } }\n ]\n }\n];\n\nexport const rbacRoles = [\n {\n name: 'dyn',\n description: '',\n permissions: [\n { action: 'CREATE_DEPLOYMENT', object: { type: 'DEVICE_GROUP', value: 'dyn' } },\n { action: 'VIEW_DEVICE', object: { type: 'DEVICE_GROUP', value: 'dyn' } }\n ]\n },\n { name: 'asdasd', description: '123', permissions: [{ action: 'http', object: { type: 'any', value: '/api/management/v1/useradm/.*' } }] },\n {\n name: '141sasd',\n description: '1313adg',\n permission_sets_with_scope: [\n { ...defaultPermissionSets.ReadDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ['bestgroup'] } },\n { ...defaultPermissionSets.ConnectToDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ['bestgroup'] } },\n { ...defaultPermissionSets.ManageUsers }\n ]\n },\n {\n name: 'kljlkk',\n description: 'lkl',\n permission_sets_with_scope: [{ ...defaultPermissionSets.ConnectToDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ['bestgroup'] } }]\n },\n {\n name: 'yyyyy',\n description: 'asd',\n permission_sets_with_scope: [\n { ...defaultPermissionSets.ManageDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ['dockerclient'] } },\n { ...defaultPermissionSets.ManageReleases }\n ]\n },\n {\n name: 'RBAC_ROLE_DEPLOYMENTS_MANAGER',\n description: 'Intended for users responsible for managing deployments, this role can create and abort deployments',\n permission_sets_with_scope: [{ ...defaultPermissionSets.DeployToDevices }]\n },\n {\n name: 'RBAC_ROLE_REMOTE_TERMINAL',\n description: `Intended for tech support accounts, this role can access the devices' Remote Terminal.`,\n permission_sets_with_scope: [{ ...defaultPermissionSets.ConnectToDevices }]\n },\n { name: 'RBAC_ROLE_PERMIT_ALL', description: '', permission_sets_with_scope: [{ ...defaultPermissionSets.SuperUser }] },\n {\n name: 'RBAC_ROLE_OBSERVER',\n description:\n 'Intended for team leaders or limited tech support accounts, this role can see all Devices, Artifacts and Deployment reports but not make any changes.',\n permission_sets_with_scope: [{ ...defaultPermissionSets.ReadReleases }, { ...defaultPermissionSets.ReadDevices }]\n },\n {\n name: 'RBAC_ROLE_CI',\n description:\n '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.',\n permission_sets_with_scope: [\n { ...defaultPermissionSets.ReadReleases },\n { ...defaultPermissionSets.ManageReleases },\n { ...defaultPermissionSets.UploadArtifacts }\n ]\n },\n {\n name: 'almostAdmin',\n description: 'almost admin rights',\n permissions: permissionSets.find(item => item.name === 'almostAdmin')?.permissions\n },\n {\n name: 'almostAdminNew',\n description: 'almost admin rights',\n permission_sets_with_scope: Object.values(defaultPermissionSets)\n }\n];\n\nconst expectedParsedRoles = {\n '141sasd': {\n editable: true,\n isCustom: undefined,\n uiPermissions: {\n ...emptyUiPermissions,\n groups: { bestgroup: [uiPermissionsById.read.value, uiPermissionsById.connect.value] },\n userManagement: [uiPermissionsById.manage.value]\n }\n },\n asdasd: {\n editable: false,\n isCustom: true,\n uiPermissions: { ...emptyUiPermissions, userManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value] }\n },\n dyn: {\n editable: false,\n isCustom: true,\n uiPermissions: {\n ...emptyUiPermissions,\n deployments: [uiPermissionsById.deploy.value],\n groups: { dyn: [uiPermissionsById.read.value, uiPermissionsById.deploy.value] }\n }\n },\n kljlkk: {\n editable: true,\n isCustom: false,\n uiPermissions: { ...emptyUiPermissions, groups: { bestgroup: [uiPermissionsById.read.value, uiPermissionsById.connect.value] } }\n },\n yyyyy: {\n editable: true,\n isCustom: undefined,\n uiPermissions: {\n ...emptyUiPermissions,\n groups: { dockerclient: [uiPermissionsById.read.value, uiPermissionsById.manage.value] },\n releases: { [ALL_RELEASES]: [uiPermissionsById.manage.value] }\n }\n },\n almostAdmin: {\n editable: false,\n isCustom: true,\n uiPermissions: {\n ...emptyUiPermissions,\n auditlog: [uiPermissionsById.read.value],\n deployments: [uiPermissionsById.manage.value, uiPermissionsById.deploy.value, uiPermissionsById.read.value],\n groups: {\n [ALL_DEVICES]: [\n uiPermissionsById.read.value,\n // we can't assign deployment permissions to devices here, since the old path based rbac controls don't allow the scoped permissions\n // uiPermissionsById.deploy.value,\n uiPermissionsById.manage.value,\n uiPermissionsById.connect.value,\n uiPermissionsById.configure.value\n ]\n },\n releases: {\n [ALL_RELEASES]: [uiPermissionsById.read.value, uiPermissionsById.upload.value, uiPermissionsById.manage.value]\n },\n userManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value]\n }\n },\n almostAdminNew: {\n editable: true,\n isCustom: undefined,\n uiPermissions: {\n ...emptyUiPermissions,\n auditlog: [uiPermissionsById.read.value],\n deployments: [uiPermissionsById.read.value, uiPermissionsById.deploy.value, uiPermissionsById.manage.value],\n groups: {\n [ALL_DEVICES]: [\n uiPermissionsById.read.value,\n uiPermissionsById.manage.value,\n uiPermissionsById.deploy.value,\n uiPermissionsById.connect.value,\n uiPermissionsById.configure.value\n ]\n },\n releases: {\n [ALL_RELEASES]: [uiPermissionsById.manage.value, uiPermissionsById.upload.value, uiPermissionsById.read.value]\n },\n tenantManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value],\n userManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value]\n }\n }\n};\n\nconst defaultRolesById = {\n ...rolesById,\n test: {\n ...emptyRole,\n name: 'test',\n description: 'test description',\n editable: true,\n uiPermissions: {\n ...emptyUiPermissions,\n groups: { testGroup: [uiPermissionsById.read.value] },\n releases: { bar: [uiPermissionsById.read.value] }\n }\n }\n};\n\nexport const receivedRoles = rbacRoles.reduce(\n (accu, role) => {\n const { name, description, ...roleRemainder } = role;\n if (name.startsWith('RBAC')) {\n accu[name] = {\n ...defaultRolesById[name],\n ...roleRemainder,\n editable: false,\n isCustom: false,\n description: defaultRolesById[name].description ? defaultRolesById[name].description : description\n };\n } else {\n const result = expectedParsedRoles[name] ?? {};\n accu[name] = {\n ...emptyRole,\n ...role,\n ...result,\n name\n };\n }\n return accu;\n },\n { ...defaultRolesById }\n);\n\nexport const receivedPermissionSets = permissionSets.reduce((accu, set) => {\n const result = defaultPermissionSets[set.name]?.result ?? {};\n accu[set.name] = {\n ...set,\n result: {\n ...emptyUiPermissions,\n ...result\n }\n };\n return accu;\n}, {});\n"],"mappings":"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"}
1
+ {"version":3,"file":"mockData.cjs","names":["maxSessionAge","defaultPermissionSets","uiPermissionsById","scopedPermissionAreas","emptyUiPermissions","ALL_RELEASES","ALL_DEVICES","rolesById","emptyRole"],"sources":["../src/mockData.ts"],"sourcesContent":["// Copyright 2020 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport {\n ALL_DEVICES,\n ALL_RELEASES,\n defaultPermissionSets,\n emptyRole,\n emptyUiPermissions,\n maxSessionAge,\n rolesById,\n scopedPermissionAreas,\n uiPermissionsById\n} from '@northern.tech/utils/constants';\n\nexport const undefineds = /undefined|\\[object Object\\]/;\n\nexport const menderEnvironment = {\n features: {\n hasMultitenancy: true\n },\n integrationVersion: 'saas-123.34',\n menderVersion: 'next',\n metaMenderVersion: 'saas-123.34',\n services: {\n deploymentsVersion: '1.2.3',\n deviceauthVersion: null,\n inventoryVersion: null\n }\n};\nexport const TEST_SESSION_DATETIME = '2019-01-13T13:00:00.000Z';\nconst testDate = new Date(TEST_SESSION_DATETIME);\nexport const mockDate = new Date(testDate.setMilliseconds(testDate.getMilliseconds() + maxSessionAge));\n\nexport const defaultPassword = 'mysecretpassword!123';\nexport const defaultCreationDate = '2019-01-13T06:25:00.000Z';\nexport const defaultMacAddress = 'dc:a6:32:12:ad:bf';\n\nexport const testSsoId = 'sso_id';\n\nconst permissionSetObjectTypes = {\n any: 'Any',\n artifacts: 'Artifacts',\n empty: '',\n groups: 'Device groups',\n releases: 'Releases',\n tenantManagement: 'Tenant management',\n userManagement: 'User management'\n};\n\nconst commonEndpoints = {\n artifacts: '^/api/management/v1/deployments/artifacts',\n artifactDetails: '^/api/management/v1/deployments/artifacts/[^/]+',\n deviceManagement: '^/api/management/(v[1-9])/(devauth|inventory)/'\n};\n\nexport const token =\n 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZTNkMGY4Yy1hZWRlLTQwMzAtYjM5MS03ZDUwMjBlYjg3M2UiLCJzdWIiOiJhMzBhNzgwYi1iODQzLTUzNDQtODBlMy0wZmQ5NWE0ZjZmYzMiLCJleHAiOjE2MDY4MTUzNjksImlhdCI6MTYwNjIxMDU2OSwibWVuZGVyLnRlbmFudCI6IjVmODVjMTdiY2U2MmI3ZmE3ZjVmNzA0MCIsIm1lbmRlci51c2VyIjp0cnVlLCJpc3MiOiJNZW5kZXIgVXNlcnMiLCJzY3AiOiJtZW5kZXIuKiIsIm1lbmRlci5wbGFuIjoicHJvZmVzc2lvbmFsIiwibmJmIjoxNjA2MjEwNTY5fQ.qVgYdCzLTf8OdK9uUctqqaY_HWkIiwpekuGvuGQAXCEgOv4bRNDlZRN_ZRSbxQoARG3pquhScbQrjBV9tcF4irTUPlTn3yrsXNO17DpcbTVeKRkb88RDtIKiRw3orVZ_GlIb-ckTQ5dS-Nqlyyf3Fmrhca-gwt6m_xv2UrmJK6eYYTMfggdRRWb-4u7mEkBI_pHPMTQrT8kJ2BeX-vHgazH9AoH0k85LHtFZQXD7pXHlDZRnLxJXukncwMGDmF17374gavYAIyDIzcC8sEBMDnVXgpikeA1sauzirqix6mAVs6XmxdQO7aF0wfXO1_PTYUA3Nk1oQfMYNlEI3U9uLRJRZIq2L8fmrrBryhstKd4y0KlBbGAQrx8NtRkgajjd1ljMfPBUEZrb7uSerVjneiO-aIBO76CuH0zdklphIjpGJeogkBhe8pAYNggp1XsZHgpZfl7IE5faKaDkMGnutaea--Czor6bhqUNCuY4tR0cpQJbNwy6LS9o1CFy4Log';\n\nexport const accessTokens = [\n { id: 'some-id-1', expiration_date: '2022-06-02T11:11:21.725Z', name: 'some-name-1' },\n { id: 'some-id-2', expiration_date: '2022-06-02T11:11:21.725Z', last_used: '2022-06-02T11:05:21.725Z', name: 'some-name-2' }\n];\n\nexport const webhookEvents = [\n {\n id: '1',\n type: 'device-status-changed',\n data: { id: '1', status: 'accepted' },\n time: '2020-09-01T12:00:00.000Z',\n delivery_statuses: [{ integration_id: '1', success: true, status_code: 200 }]\n },\n {\n id: '2',\n type: 'device-status-changed',\n data: { id: '3', status: 'accepted' },\n time: '2020-09-01T12:00:05.000Z',\n delivery_statuses: [{ integration_id: '1', success: true, status_code: 200 }]\n }\n];\n\nexport const spTenantLimits = {\n max_devices: {\n current_value: 0,\n name: 'max_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 200\n },\n max_micro_devices: {\n current_value: 0,\n name: 'max_micro_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 280\n },\n max_system_devices: {\n current_value: 0,\n name: 'max_system_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 20\n }\n};\n\nexport const tenants = [\n {\n id: '671a0f1dd58c813118fe8622',\n parent_tenant_id: '6718de64b42e08dea2a2065d',\n name: 'child2',\n tenant_token: 'mQDYRCr-tGbDuJhPp7fArbfTA5htVTWE9G204AzhDUM',\n status: 'active',\n additional_info: {\n marketing: false,\n campaign: ''\n },\n plan: 'enterprise',\n trial: false,\n trial_expiration: null,\n service_provider: false,\n created_at: '2024-10-24T09:10:53.281Z',\n cancelled_at: null,\n children_tenants: null,\n max_child_tenants: 0,\n device_count: 0,\n device_limit: 100,\n device_limits: {\n max_devices: {\n current_value: 0,\n name: 'max_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 200\n },\n max_micro_devices: {\n current_value: 0,\n name: 'max_micro_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 280\n },\n max_system_devices: {\n current_value: 0,\n name: 'max_system_devices',\n tenant_id: '699f07a3e783def54cf6201f',\n value: 20\n }\n },\n binary_delta: true\n }\n];\n\nexport const adminUserCapabilities = {\n canAuditlog: true,\n canConfigure: true,\n canDeploy: true,\n canManageDevices: true,\n canManageReleases: true,\n canManageUsers: true,\n canReadDeployments: true,\n canReadDevices: true,\n canReadReleases: true,\n canReadUsers: true,\n canTroubleshoot: true,\n canUploadReleases: true,\n canWriteDevices: true\n};\n\nexport const userId = 'a30a780b-b843-5344-80e3-0fd95a4f6fc3';\n\nconst defaultUser = {\n created_ts: '2019-01-01T10:30:00.000Z',\n email: 'a@b.com',\n id: 'a1',\n roles: ['RBAC_ROLE_PERMIT_ALL'],\n tfa_status: 'enabled',\n verified: true\n};\n\nconst deviceTypes = { qemu: 'qemux86-64' };\n\nconst checkInTimeRounded = '2019-01-01T00:00:00.000Z';\nconst checkInTimeExact = '2019-01-01T10:25:00.000Z';\n\nexport const mockApiResponses = {\n deployments: {\n byId: {\n d1: {\n id: 'd1',\n name: 'test deployment',\n created: '2019-01-01T12:30:00.000Z',\n devices: {\n a1: {\n id: 'a1',\n status: 'installing',\n attributes: {},\n image: { size: 123 }\n }\n },\n statistics: {\n status: {\n 'already-installed': 0,\n decommissioned: 0,\n downloading: 0,\n failure: 0,\n installing: 1,\n noartifact: 0,\n pending: 0,\n rebooting: 0,\n success: 0\n },\n total_size: 1234\n }\n },\n d2: {\n id: 'd2',\n name: 'test deployment 2',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:25:00.000Z',\n device_count: 1,\n devices: {\n b1: {\n attributes: {},\n id: 'b1',\n status: 'pending'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 0,\n noartifact: 0,\n pending: 1,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n }\n }\n },\n d3: {\n id: 'd3',\n name: 'Test',\n phases: [\n { id: '0', batch_size: 2, device_count: 2 },\n { id: '1', start_ts: '2019-02-04T11:45:10.002Z', batch_size: 3, device_count: 3 },\n { id: '2', start_ts: '2019-02-05T11:45:10.002Z', batch_size: 5, device_count: 5 },\n { id: '3', start_ts: '2019-02-06T11:45:10.002Z', batch_size: 5, device_count: 5 },\n { id: '4', start_ts: '2019-02-21T11:45:10.002Z', batch_size: 5, device_count: 0 }\n ],\n max_devices: 0,\n created: '2019-01-31T12:59:30.020Z',\n devices: {},\n filter: undefined,\n group: undefined,\n stats: {\n pending: 3,\n decommissioned: 0,\n failure: 23,\n pause_before_committing: 0,\n pause_before_rebooting: 0,\n installing: 0,\n rebooting: 0,\n 'already-installed': 0,\n pause_before_installing: 0,\n downloading: 0,\n success: 6,\n aborted: 0,\n noartifact: 0\n },\n statistics: { total_size: '1234' },\n status: 'inprogress',\n active: true,\n device_count: 100,\n retries: '0',\n type: 'software'\n }\n },\n byStatus: {\n pending: { deploymentIds: ['d2'] },\n inprogress: { deploymentIds: ['d3'] }\n }\n },\n devices: {\n byId: {\n a1: {\n id: 'a1',\n auth_sets: [\n {\n id: 'auth1',\n identity_data: { mac: defaultMacAddress },\n pubkey: '-----BEGIN PUBLIC KEY-----\\nMIIBojWELzgJ62hcXIhAfqfoNiaB1326XZByZwcnHr5BuSPAgMBAAE=\\n-----END PUBLIC KEY-----\\n',\n status: 'accepted',\n ts: defaultCreationDate\n }\n ],\n updated_ts: '2019-01-01T09:25:00.000Z'\n },\n b1: {\n id: 'b1',\n attributes: {\n ipv4_wlan0: '192.168.10.141/24',\n device_type: [deviceTypes.qemu]\n },\n system: {\n check_in_time: checkInTimeRounded\n },\n check_in_time: checkInTimeExact,\n check_in_time_exact: checkInTimeExact,\n check_in_time_rounded: checkInTimeRounded,\n identity_data: { mac: defaultMacAddress },\n status: 'accepted',\n decommissioning: false,\n created_ts: defaultCreationDate,\n updated_ts: '2019-01-01T09:25:00.000Z',\n auth_sets: [\n {\n id: 'auth1',\n identity_data: { mac: defaultMacAddress },\n pubkey: '-----BEGIN PUBLIC KEY-----\\nMIIBojWELzgJ62hcXIhAfqfoNiaB1326XZByZwcnHr5BuSPAgMBAAE=\\n-----END PUBLIC KEY-----\\n',\n ts: defaultCreationDate,\n status: 'accepted'\n }\n ]\n }\n },\n groups: {\n byId: {\n testGroup: {\n deviceIds: ['a1', 'b1'],\n filters: [],\n total: 2\n },\n testGroupDynamic: {\n id: 'filter1',\n name: 'filter1',\n filters: [{ scope: 'system', key: 'group', operator: '$eq', value: 'things' }]\n }\n }\n },\n limits: { standard: 500, micro: 0, system: 0 },\n byStatus: {\n accepted: { deviceIds: ['a1', 'b1'], total: 2 },\n active: { deviceIds: [], total: 0 },\n inactive: { deviceIds: [], total: 0 },\n pending: { deviceIds: ['c1'], total: 1 },\n preauthorized: { deviceIds: [], total: 0 },\n rejected: { deviceIds: [], total: 0 }\n }\n },\n organization: {\n organization: {\n id: '1',\n addons: [],\n name: 'test',\n plan: 'os',\n trial: false\n },\n products: [\n {\n name: 'mender_standard',\n billing_unit: 'devices',\n prices: [\n {\n plan: 'os',\n constraints: {\n min: 50,\n max: 1000,\n div: 50\n }\n },\n {\n plan: 'professional',\n constraints: {\n min: 250,\n max: 10000,\n div: 50\n }\n }\n ],\n addons: [\n {\n name: 'troubleshoot',\n prices: [{ plan: 'os' }, { plan: 'professional' }]\n },\n {\n name: 'configure',\n prices: [{ plan: 'os' }, { plan: 'professional' }]\n },\n {\n name: 'monitor',\n prices: [{ plan: 'professional' }]\n }\n ]\n },\n {\n name: 'mender_micro',\n billing_unit: 'devices',\n prices: [\n {\n plan: 'os',\n constraints: {\n min: 50,\n max: 5000,\n div: 50\n }\n },\n {\n plan: 'professional',\n constraints: {\n min: 500,\n max: 100000,\n div: 50\n }\n }\n ]\n }\n ],\n intentId: 'testIntent',\n auditlog: {\n events: [\n {\n actor: {\n id: 'string',\n type: 'user',\n email: 'string@example.com'\n },\n time: '2019-01-01T12:10:22.667Z',\n action: 'create',\n object: {\n id: 'string',\n type: 'user',\n user: {\n email: 'user@acme.com'\n }\n },\n change: 'change1'\n },\n {\n actor: {\n id: 'string',\n type: 'user',\n email: 'string',\n identity_data: 'string'\n },\n time: '2019-01-01T12:16:22.667Z',\n action: 'create',\n object: {\n id: 'string',\n type: 'deployment',\n deployment: {\n name: 'production',\n artifact_name: 'Application 0.0.1'\n }\n },\n change: 'change2'\n },\n {\n actor: {\n id: 'string',\n type: 'user',\n email: 'string@example.com'\n },\n time: '2019-01-01T12:10:22.669Z',\n action: 'open_terminal',\n meta: {\n session_id: ['abd313a8-ee88-48ab-9c99-fbcd80048e6e']\n },\n object: {\n id: 'a1',\n type: 'device'\n },\n change: 'change3'\n }\n ]\n }\n },\n releases: {\n byId: {\n r1: {\n name: 'r1',\n artifacts: [\n {\n id: 'art1',\n description: 'test description',\n device_types_compatible: [deviceTypes.qemu],\n modified: '2020-09-10T12:16:22.667Z',\n updates: [{ type_info: { type: 'testtype' } }],\n artifact_depends: {\n device_type: [deviceTypes.qemu]\n },\n artifact_provides: {\n artifact_name: 'myapp',\n 'data-partition.myapp.version': 'v2020.10',\n list_of_fancy: [deviceTypes.qemu, 'x172']\n },\n clears_artifact_provides: ['data-partition.myapp.*']\n }\n ],\n device_types_compatible: [deviceTypes.qemu],\n modified: '2020-09-10T12:16:22.667Z',\n metaData: {}\n }\n }\n },\n manifests: {\n byId: {\n m1000: {\n name: 'm1000',\n modified: '2020-01-01T00:16:39.000Z',\n artifact: {\n id: 'art-m1000',\n name: 'm1000',\n description: 'test manifest description',\n device_types_compatible: [deviceTypes.qemu],\n modified: '2020-01-01T00:16:39.000Z'\n },\n manifest: {\n api_version: 'mender/v1',\n kind: 'manifest',\n name: 'm1000',\n system_types_compatible: [deviceTypes.qemu],\n component_types: {\n 'component-a': {\n artifact_name: 'art-m1000-component',\n update_strategy: { order: 10 }\n }\n }\n },\n tags: [],\n notes: ''\n }\n }\n },\n users: {\n byId: {\n a1: defaultUser,\n [userId]: { ...defaultUser, id: userId, email: 'a2@b.com', created_ts: '2019-01-01T12:30:00.000Z' }\n },\n rolesById: {\n admin: {\n name: 'admin',\n description: 'Administrator role',\n permissions: []\n },\n test: { name: 'test', description: 'test description', permissions: [] }\n },\n globalSettings: {\n '2fa': 'enabled',\n id_attribute: undefined,\n previousFilters: []\n },\n userSettings: {\n '2fa': 'disabled',\n columnSelection: [],\n onboarding: { something: 'here' },\n tooltips: {},\n previousFilters: []\n }\n }\n};\n\nexport const manifestsList = Array.from({ length: 1000 }, (_, i) => ({\n name: `m${i + 1}`,\n modified: new Date(2020, 0, 1, 0, 0, i).toISOString(),\n artifact: {\n id: `art-m${i + 1}`,\n name: `m${i + 1}`,\n description: 'test manifest description',\n device_types_compatible: [deviceTypes.qemu],\n modified: new Date(2020, 0, 1, 0, 0, i).toISOString()\n },\n manifest: {\n api_version: 'mender/v1',\n kind: 'manifest',\n name: `m${i + 1}`,\n system_types_compatible: [deviceTypes.qemu],\n component_types: {\n 'component-a': {\n artifact_name: `art-m${i + 1}-component`,\n update_strategy: { order: 10 }\n }\n }\n },\n tags: [],\n notes: ''\n}));\n\nexport const releasesList = Array.from({ length: 5000 }, (x, i) => ({\n artifacts: [\n {\n id: 'art1',\n description: 'test description',\n device_types_compatible: [deviceTypes.qemu],\n modified: '2020-09-10T12:16:22.667Z',\n updates: [{ type_info: { type: 'testtype' } }],\n artifact_depends: {\n device_type: [deviceTypes.qemu]\n },\n artifact_provides: {\n artifact_name: 'myapp',\n 'data-partition.myapp.version': 'v2020.10',\n list_of_fancy: [deviceTypes.qemu, 'x172']\n },\n clears_artifact_provides: ['data-partition.myapp.*']\n }\n ],\n device_types_compatible: [deviceTypes.qemu],\n metaData: {},\n name: `release-${i + 1}`,\n modified: i\n}));\n\nexport const permissionSets = [\n {\n ...defaultPermissionSets.Basic,\n object: permissionSetObjectTypes.empty,\n description: 'Set containing basic permissions.',\n permissions: [\n { action: 'http', object: { type: 'any', value: '^/api/management/v1/useradm/settings$' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/v1/useradm/users/me$' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/1.0/auth/verify$' } },\n { action: 'http', object: { type: 'PUT', value: '^/api/management/v1/useradm/2faverify$' } },\n { action: 'http', object: { type: 'POST', value: '^/api/management/v1/useradm/users/me/2fa/(enable|disable)$' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/useradm/roles' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/tenantadm/user/tenant' } }\n ]\n },\n {\n ...defaultPermissionSets.ManageReleases,\n action: uiPermissionsById.manage.title,\n object: permissionSetObjectTypes.releases,\n description: 'Set of permissions which allows user to manage releases',\n permissions: [\n { action: 'http', object: { type: 'GET', value: commonEndpoints.artifacts } },\n { action: 'http', object: { type: 'GET', value: commonEndpoints.artifactDetails } },\n { action: 'http', object: { type: 'PUT', value: commonEndpoints.artifactDetails } },\n { action: 'http', object: { type: 'DELETE', value: commonEndpoints.artifactDetails } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/v1/deployments/artifacts/[^/]+/download' } }\n ]\n },\n {\n ...defaultPermissionSets.ReadUsers,\n action: uiPermissionsById.read.title,\n object: permissionSetObjectTypes.userManagement,\n description: 'Set of permissions which allows user to view other users',\n permissions: [{ action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/useradm/' } }]\n },\n {\n ...defaultPermissionSets.ManageUsers,\n action: uiPermissionsById.manage.title,\n object: permissionSetObjectTypes.userManagement,\n description: 'Set of permissions which allows user manage other user accounts',\n permissions: [{ action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/useradm/' } }]\n },\n {\n ...defaultPermissionSets.ReadTenants,\n action: uiPermissionsById.read.title,\n object: permissionSetObjectTypes.tenantManagement,\n description: 'Set of permissions which allows user to list other tenants and their config',\n permissions: [\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/tenantadm/' } },\n { action: 'http', object: { type: 'POST', value: '^/api/management/(v[1-9])/tenantadm/' } }\n ]\n },\n {\n ...defaultPermissionSets.ManageTenants,\n action: uiPermissionsById.manage.title,\n object: permissionSetObjectTypes.tenantManagement,\n description: 'Set of permissions which allows user to manage other tenants and their config',\n permissions: [\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/tenantadm/' } },\n { action: 'http', object: { type: 'POST', value: '^/api/management/(v[1-9])/tenantadm/' } },\n { action: 'http', object: { type: 'PUT', value: '^/api/management/(v[1-9])/tenantadm/' } }\n ]\n },\n {\n ...defaultPermissionSets.ReadAuditLogs,\n action: uiPermissionsById.read.title,\n object: 'System Audit Log',\n description: 'Set of permissions which allows user to view system audit log',\n permissions: [{ action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9]|0.1.0)/auditlogs/logs' } }]\n },\n {\n ...defaultPermissionSets.DeployToDevices,\n action: 'Deploy',\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to deploy to devices',\n permissions: [{ action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/(deployments|deviceconfig)/' } }],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.ConfigureDevices,\n action: 'Configure',\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to manage configuration of the devices',\n permissions: [{ action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deviceconfig/' } }],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.ConnectToDevices,\n action: 'Connect',\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to use remote terminal and file transfer',\n permissions: [\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+/connect$' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+/download\\\\?path=[^\\u0026]+$' } },\n { action: 'http', object: { type: 'PUT', value: '^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+/upload$' } }\n ],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.SuperUser,\n action: 'Any',\n object: permissionSetObjectTypes.any,\n description: 'Set of permissions which allows user to do anything',\n permissions: [{ action: 'any', object: { type: 'any', value: 'any' } }]\n },\n {\n ...defaultPermissionSets.UploadArtifacts,\n action: 'Upload',\n object: permissionSetObjectTypes.artifacts,\n description: 'Set of permissions which allows user to upload artifacts',\n permissions: [\n { action: 'http', object: { type: 'POST', value: commonEndpoints.artifacts } },\n { action: 'http', object: { type: 'POST', value: '^/api/management/v1/deployments/artifacts/generate' } }\n ]\n },\n {\n ...defaultPermissionSets.ReadDevices,\n action: uiPermissionsById.read.title,\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to view devices',\n permissions: [\n { action: 'http', object: { type: 'POST', value: '^/api/management/v2/inventory/filters/search' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9])/(deployments|devauth|inventory|deviceconfig|devicemonitor)/' } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/(v[1-9]|0.1.0)/deviceconnect/devices/[^/]+$' } }\n ],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.ManageDevices,\n action: uiPermissionsById.manage.title,\n object: permissionSetObjectTypes.groups,\n description: 'Set of permissions which allows user to manage devices',\n permissions: [\n { action: 'http', object: { type: 'POST', value: commonEndpoints.deviceManagement } },\n { action: 'http', object: { type: 'PUT', value: commonEndpoints.deviceManagement } },\n { action: 'http', object: { type: 'DELETE', value: commonEndpoints.deviceManagement } }\n ],\n supported_scope_types: [scopedPermissionAreas.groups.scopeType]\n },\n {\n ...defaultPermissionSets.ReadReleases,\n action: uiPermissionsById.read.title,\n object: permissionSetObjectTypes.releases,\n description: 'Set of permissions which allows user to view releases',\n permissions: [\n { action: 'http', object: { type: 'GET', value: commonEndpoints.artifacts } },\n { action: 'http', object: { type: 'GET', value: commonEndpoints.artifactDetails } },\n { action: 'http', object: { type: 'GET', value: '^/api/management/v1/deployments/artifacts/[^/]+/download' } }\n ]\n },\n {\n name: 'almostAdmin',\n object: permissionSetObjectTypes.empty,\n description: 'Set containing all the permissions.',\n permissions: [\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/auditlogs/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deployments/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deployments/config/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deployments/deployments/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deployments/deployments/releases/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/devauth/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deviceconfig/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deviceconnect/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/deviceconnect/devices' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/inventory/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/iot-manager/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/monitor/.*' } },\n { action: 'http', object: { type: 'any', value: '^/api/management/(v[1-9])/useradm/.*' } }\n ]\n }\n];\n\nexport const rbacRoles = [\n {\n name: 'dyn',\n description: '',\n permissions: [\n { action: 'CREATE_DEPLOYMENT', object: { type: 'DEVICE_GROUP', value: 'dyn' } },\n { action: 'VIEW_DEVICE', object: { type: 'DEVICE_GROUP', value: 'dyn' } }\n ]\n },\n { name: 'asdasd', description: '123', permissions: [{ action: 'http', object: { type: 'any', value: '/api/management/v1/useradm/.*' } }] },\n {\n name: '141sasd',\n description: '1313adg',\n permission_sets_with_scope: [\n { ...defaultPermissionSets.ReadDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ['bestgroup'] } },\n { ...defaultPermissionSets.ConnectToDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ['bestgroup'] } },\n { ...defaultPermissionSets.ManageUsers }\n ]\n },\n {\n name: 'kljlkk',\n description: 'lkl',\n permission_sets_with_scope: [{ ...defaultPermissionSets.ConnectToDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ['bestgroup'] } }]\n },\n {\n name: 'yyyyy',\n description: 'asd',\n permission_sets_with_scope: [\n { ...defaultPermissionSets.ManageDevices, scope: { type: scopedPermissionAreas.groups.scopeType, value: ['dockerclient'] } },\n { ...defaultPermissionSets.ManageReleases }\n ]\n },\n {\n name: 'RBAC_ROLE_DEPLOYMENTS_MANAGER',\n description: 'Intended for users responsible for managing deployments, this role can create and abort deployments',\n permission_sets_with_scope: [{ ...defaultPermissionSets.DeployToDevices }]\n },\n {\n name: 'RBAC_ROLE_REMOTE_TERMINAL',\n description: `Intended for tech support accounts, this role can access the devices' Remote Terminal.`,\n permission_sets_with_scope: [{ ...defaultPermissionSets.ConnectToDevices }]\n },\n { name: 'RBAC_ROLE_PERMIT_ALL', description: '', permission_sets_with_scope: [{ ...defaultPermissionSets.SuperUser }] },\n {\n name: 'RBAC_ROLE_OBSERVER',\n description:\n 'Intended for team leaders or limited tech support accounts, this role can see all Devices, Artifacts and Deployment reports but not make any changes.',\n permission_sets_with_scope: [{ ...defaultPermissionSets.ReadReleases }, { ...defaultPermissionSets.ReadDevices }]\n },\n {\n name: 'RBAC_ROLE_CI',\n description:\n '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.',\n permission_sets_with_scope: [\n { ...defaultPermissionSets.ReadReleases },\n { ...defaultPermissionSets.ManageReleases },\n { ...defaultPermissionSets.UploadArtifacts }\n ]\n },\n {\n name: 'almostAdmin',\n description: 'almost admin rights',\n permissions: permissionSets.find(item => item.name === 'almostAdmin')?.permissions\n },\n {\n name: 'almostAdminNew',\n description: 'almost admin rights',\n permission_sets_with_scope: Object.values(defaultPermissionSets)\n }\n];\n\nconst expectedParsedRoles = {\n '141sasd': {\n editable: true,\n isCustom: undefined,\n uiPermissions: {\n ...emptyUiPermissions,\n groups: { bestgroup: [uiPermissionsById.read.value, uiPermissionsById.connect.value] },\n userManagement: [uiPermissionsById.manage.value]\n }\n },\n asdasd: {\n editable: false,\n isCustom: true,\n uiPermissions: { ...emptyUiPermissions, userManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value] }\n },\n dyn: {\n editable: false,\n isCustom: true,\n uiPermissions: {\n ...emptyUiPermissions,\n deployments: [uiPermissionsById.deploy.value],\n groups: { dyn: [uiPermissionsById.read.value, uiPermissionsById.deploy.value] }\n }\n },\n kljlkk: {\n editable: true,\n isCustom: false,\n uiPermissions: { ...emptyUiPermissions, groups: { bestgroup: [uiPermissionsById.read.value, uiPermissionsById.connect.value] } }\n },\n yyyyy: {\n editable: true,\n isCustom: undefined,\n uiPermissions: {\n ...emptyUiPermissions,\n groups: { dockerclient: [uiPermissionsById.read.value, uiPermissionsById.manage.value] },\n releases: { [ALL_RELEASES]: [uiPermissionsById.manage.value] }\n }\n },\n almostAdmin: {\n editable: false,\n isCustom: true,\n uiPermissions: {\n ...emptyUiPermissions,\n auditlog: [uiPermissionsById.read.value],\n deployments: [uiPermissionsById.manage.value, uiPermissionsById.deploy.value, uiPermissionsById.read.value],\n groups: {\n [ALL_DEVICES]: [\n uiPermissionsById.read.value,\n // we can't assign deployment permissions to devices here, since the old path based rbac controls don't allow the scoped permissions\n // uiPermissionsById.deploy.value,\n uiPermissionsById.manage.value,\n uiPermissionsById.connect.value,\n uiPermissionsById.configure.value\n ]\n },\n releases: {\n [ALL_RELEASES]: [uiPermissionsById.read.value, uiPermissionsById.upload.value, uiPermissionsById.manage.value]\n },\n userManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value]\n }\n },\n almostAdminNew: {\n editable: true,\n isCustom: undefined,\n uiPermissions: {\n ...emptyUiPermissions,\n auditlog: [uiPermissionsById.read.value],\n deployments: [uiPermissionsById.read.value, uiPermissionsById.deploy.value, uiPermissionsById.manage.value],\n groups: {\n [ALL_DEVICES]: [\n uiPermissionsById.read.value,\n uiPermissionsById.manage.value,\n uiPermissionsById.deploy.value,\n uiPermissionsById.connect.value,\n uiPermissionsById.configure.value\n ]\n },\n releases: {\n [ALL_RELEASES]: [uiPermissionsById.manage.value, uiPermissionsById.upload.value, uiPermissionsById.read.value]\n },\n tenantManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value],\n userManagement: [uiPermissionsById.read.value, uiPermissionsById.manage.value]\n }\n }\n};\n\nconst defaultRolesById = {\n ...rolesById,\n test: {\n ...emptyRole,\n name: 'test',\n description: 'test description',\n editable: true,\n uiPermissions: {\n ...emptyUiPermissions,\n groups: { testGroup: [uiPermissionsById.read.value] },\n releases: { bar: [uiPermissionsById.read.value] }\n }\n }\n};\n\nexport const receivedRoles = rbacRoles.reduce(\n (accu, role) => {\n const { name, description, ...roleRemainder } = role;\n if (name.startsWith('RBAC')) {\n accu[name] = {\n ...defaultRolesById[name],\n ...roleRemainder,\n editable: false,\n isCustom: false,\n description: defaultRolesById[name].description ? defaultRolesById[name].description : description\n };\n } else {\n const result = expectedParsedRoles[name] ?? {};\n accu[name] = {\n ...emptyRole,\n ...role,\n ...result,\n name\n };\n }\n return accu;\n },\n { ...defaultRolesById }\n);\n\nexport const receivedPermissionSets = permissionSets.reduce((accu, set) => {\n const result = defaultPermissionSets[set.name]?.result ?? {};\n accu[set.name] = {\n ...set,\n result: {\n ...emptyUiPermissions,\n ...result\n }\n };\n return accu;\n}, {});\n"],"mappings":"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"}
@@ -492,6 +492,37 @@ declare const mockApiResponses: {
492
492
  };
493
493
  };
494
494
  };
495
+ manifests: {
496
+ byId: {
497
+ m1000: {
498
+ name: string;
499
+ modified: string;
500
+ artifact: {
501
+ id: string;
502
+ name: string;
503
+ description: string;
504
+ device_types_compatible: string[];
505
+ modified: string;
506
+ };
507
+ manifest: {
508
+ api_version: string;
509
+ kind: string;
510
+ name: string;
511
+ system_types_compatible: string[];
512
+ component_types: {
513
+ 'component-a': {
514
+ artifact_name: string;
515
+ update_strategy: {
516
+ order: number;
517
+ };
518
+ };
519
+ };
520
+ };
521
+ tags: never[];
522
+ notes: string;
523
+ };
524
+ };
525
+ };
495
526
  users: {
496
527
  byId: {
497
528
  a1: {
@@ -539,6 +570,33 @@ declare const mockApiResponses: {
539
570
  };
540
571
  };
541
572
  };
573
+ declare const manifestsList: {
574
+ name: string;
575
+ modified: string;
576
+ artifact: {
577
+ id: string;
578
+ name: string;
579
+ description: string;
580
+ device_types_compatible: string[];
581
+ modified: string;
582
+ };
583
+ manifest: {
584
+ api_version: string;
585
+ kind: string;
586
+ name: string;
587
+ system_types_compatible: string[];
588
+ component_types: {
589
+ 'component-a': {
590
+ artifact_name: string;
591
+ update_strategy: {
592
+ order: number;
593
+ };
594
+ };
595
+ };
596
+ };
597
+ tags: never[];
598
+ notes: string;
599
+ }[];
542
600
  declare const releasesList: {
543
601
  artifacts: {
544
602
  id: string;
@@ -658,5 +716,5 @@ declare const receivedRoles: {
658
716
  };
659
717
  declare const receivedPermissionSets: {};
660
718
  //#endregion
661
- export { TEST_SESSION_DATETIME, accessTokens, adminUserCapabilities, defaultCreationDate, defaultMacAddress, defaultPassword, menderEnvironment, mockApiResponses, mockDate, permissionSets, rbacRoles, receivedPermissionSets, receivedRoles, releasesList, spTenantLimits, tenants, testSsoId, token, undefineds, userId, webhookEvents };
719
+ export { TEST_SESSION_DATETIME, accessTokens, adminUserCapabilities, defaultCreationDate, defaultMacAddress, defaultPassword, manifestsList, menderEnvironment, mockApiResponses, mockDate, permissionSets, rbacRoles, receivedPermissionSets, receivedRoles, releasesList, spTenantLimits, tenants, testSsoId, token, undefineds, userId, webhookEvents };
662
720
  //# sourceMappingURL=mockData.d.cts.map
@@ -492,6 +492,37 @@ declare const mockApiResponses: {
492
492
  };
493
493
  };
494
494
  };
495
+ manifests: {
496
+ byId: {
497
+ m1000: {
498
+ name: string;
499
+ modified: string;
500
+ artifact: {
501
+ id: string;
502
+ name: string;
503
+ description: string;
504
+ device_types_compatible: string[];
505
+ modified: string;
506
+ };
507
+ manifest: {
508
+ api_version: string;
509
+ kind: string;
510
+ name: string;
511
+ system_types_compatible: string[];
512
+ component_types: {
513
+ 'component-a': {
514
+ artifact_name: string;
515
+ update_strategy: {
516
+ order: number;
517
+ };
518
+ };
519
+ };
520
+ };
521
+ tags: never[];
522
+ notes: string;
523
+ };
524
+ };
525
+ };
495
526
  users: {
496
527
  byId: {
497
528
  a1: {
@@ -539,6 +570,33 @@ declare const mockApiResponses: {
539
570
  };
540
571
  };
541
572
  };
573
+ declare const manifestsList: {
574
+ name: string;
575
+ modified: string;
576
+ artifact: {
577
+ id: string;
578
+ name: string;
579
+ description: string;
580
+ device_types_compatible: string[];
581
+ modified: string;
582
+ };
583
+ manifest: {
584
+ api_version: string;
585
+ kind: string;
586
+ name: string;
587
+ system_types_compatible: string[];
588
+ component_types: {
589
+ 'component-a': {
590
+ artifact_name: string;
591
+ update_strategy: {
592
+ order: number;
593
+ };
594
+ };
595
+ };
596
+ };
597
+ tags: never[];
598
+ notes: string;
599
+ }[];
542
600
  declare const releasesList: {
543
601
  artifacts: {
544
602
  id: string;
@@ -658,5 +716,5 @@ declare const receivedRoles: {
658
716
  };
659
717
  declare const receivedPermissionSets: {};
660
718
  //#endregion
661
- export { TEST_SESSION_DATETIME, accessTokens, adminUserCapabilities, defaultCreationDate, defaultMacAddress, defaultPassword, menderEnvironment, mockApiResponses, mockDate, permissionSets, rbacRoles, receivedPermissionSets, receivedRoles, releasesList, spTenantLimits, tenants, testSsoId, token, undefineds, userId, webhookEvents };
719
+ export { TEST_SESSION_DATETIME, accessTokens, adminUserCapabilities, defaultCreationDate, defaultMacAddress, defaultPassword, manifestsList, menderEnvironment, mockApiResponses, mockDate, permissionSets, rbacRoles, receivedPermissionSets, receivedRoles, releasesList, spTenantLimits, tenants, testSsoId, token, undefineds, userId, webhookEvents };
662
720
  //# sourceMappingURL=mockData.d.ts.map
package/dist/mockData.js CHANGED
@@ -499,6 +499,29 @@ const mockApiResponses = {
499
499
  modified: "2020-09-10T12:16:22.667Z",
500
500
  metaData: {}
501
501
  } } },
502
+ manifests: { byId: { m1000: {
503
+ name: "m1000",
504
+ modified: "2020-01-01T00:16:39.000Z",
505
+ artifact: {
506
+ id: "art-m1000",
507
+ name: "m1000",
508
+ description: "test manifest description",
509
+ device_types_compatible: [deviceTypes.qemu],
510
+ modified: "2020-01-01T00:16:39.000Z"
511
+ },
512
+ manifest: {
513
+ api_version: "mender/v1",
514
+ kind: "manifest",
515
+ name: "m1000",
516
+ system_types_compatible: [deviceTypes.qemu],
517
+ component_types: { "component-a": {
518
+ artifact_name: "art-m1000-component",
519
+ update_strategy: { order: 10 }
520
+ } }
521
+ },
522
+ tags: [],
523
+ notes: ""
524
+ } } },
502
525
  users: {
503
526
  byId: {
504
527
  a1: defaultUser,
@@ -535,6 +558,29 @@ const mockApiResponses = {
535
558
  }
536
559
  }
537
560
  };
561
+ const manifestsList = Array.from({ length: 1e3 }, (_, i) => ({
562
+ name: `m${i + 1}`,
563
+ modified: new Date(2020, 0, 1, 0, 0, i).toISOString(),
564
+ artifact: {
565
+ id: `art-m${i + 1}`,
566
+ name: `m${i + 1}`,
567
+ description: "test manifest description",
568
+ device_types_compatible: [deviceTypes.qemu],
569
+ modified: new Date(2020, 0, 1, 0, 0, i).toISOString()
570
+ },
571
+ manifest: {
572
+ api_version: "mender/v1",
573
+ kind: "manifest",
574
+ name: `m${i + 1}`,
575
+ system_types_compatible: [deviceTypes.qemu],
576
+ component_types: { "component-a": {
577
+ artifact_name: `art-m${i + 1}-component`,
578
+ update_strategy: { order: 10 }
579
+ } }
580
+ },
581
+ tags: [],
582
+ notes: ""
583
+ }));
538
584
  const releasesList = Array.from({ length: 5e3 }, (x, i) => ({
539
585
  artifacts: [{
540
586
  id: "art1",
@@ -1275,6 +1321,6 @@ const receivedPermissionSets = permissionSets.reduce((accu, set) => {
1275
1321
  return accu;
1276
1322
  }, {});
1277
1323
  //#endregion
1278
- export { TEST_SESSION_DATETIME, accessTokens, adminUserCapabilities, defaultCreationDate, defaultMacAddress, defaultPassword, menderEnvironment, mockApiResponses, mockDate, permissionSets, rbacRoles, receivedPermissionSets, receivedRoles, releasesList, spTenantLimits, tenants, testSsoId, token, undefineds, userId, webhookEvents };
1324
+ export { TEST_SESSION_DATETIME, accessTokens, adminUserCapabilities, defaultCreationDate, defaultMacAddress, defaultPassword, manifestsList, menderEnvironment, mockApiResponses, mockDate, permissionSets, rbacRoles, receivedPermissionSets, receivedRoles, releasesList, spTenantLimits, tenants, testSsoId, token, undefineds, userId, webhookEvents };
1279
1325
 
1280
1326
  //# sourceMappingURL=mockData.js.map