@northern.tech/testing 0.18.1 → 0.18.3

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 (51) hide show
  1. package/dist/mockData.d.cts +25 -51
  2. package/dist/mockData.d.ts +25 -51
  3. package/dist/requestHandlers/deploymentHandlers.cjs +3 -3
  4. package/dist/requestHandlers/deploymentHandlers.cjs.map +1 -1
  5. package/dist/requestHandlers/deploymentHandlers.d.cts +1 -2
  6. package/dist/requestHandlers/deploymentHandlers.d.ts +1 -2
  7. package/dist/requestHandlers/deploymentHandlers.js +3 -3
  8. package/dist/requestHandlers/deploymentHandlers.js.map +1 -1
  9. package/dist/requestHandlers/deviceHandlers.cjs +1 -1
  10. package/dist/requestHandlers/deviceHandlers.d.cts +4 -5
  11. package/dist/requestHandlers/deviceHandlers.d.ts +4 -5
  12. package/dist/requestHandlers/deviceHandlers.js +1 -1
  13. package/dist/requestHandlers/monitorHandlers.cjs +1 -1
  14. package/dist/requestHandlers/monitorHandlers.d.cts +1 -2
  15. package/dist/requestHandlers/monitorHandlers.d.ts +1 -2
  16. package/dist/requestHandlers/monitorHandlers.js +1 -1
  17. package/dist/requestHandlers/organizationHandlers.cjs +1 -1
  18. package/dist/requestHandlers/organizationHandlers.d.cts +1 -2
  19. package/dist/requestHandlers/organizationHandlers.d.ts +1 -2
  20. package/dist/requestHandlers/organizationHandlers.js +1 -1
  21. package/dist/requestHandlers/releaseHandlers.cjs +1 -1
  22. package/dist/requestHandlers/releaseHandlers.d.cts +1 -2
  23. package/dist/requestHandlers/releaseHandlers.d.ts +1 -2
  24. package/dist/requestHandlers/releaseHandlers.js +1 -1
  25. package/dist/requestHandlers/userHandlers.cjs +2 -2
  26. package/dist/requestHandlers/userHandlers.cjs.map +1 -1
  27. package/dist/requestHandlers/userHandlers.d.cts +1 -2
  28. package/dist/requestHandlers/userHandlers.d.ts +1 -2
  29. package/dist/requestHandlers/userHandlers.js +2 -2
  30. package/dist/requestHandlers/userHandlers.js.map +1 -1
  31. package/dist/requestHandlers/validation.cjs +1 -1
  32. package/dist/requestHandlers/validation.d.cts +2 -3
  33. package/dist/requestHandlers/validation.d.ts +2 -3
  34. package/dist/requestHandlers/validation.js +1 -1
  35. package/dist/setupTests.d.cts +7 -7
  36. package/dist/setupTests.d.ts +7 -7
  37. package/dist/theme/light.d.cts +1 -2
  38. package/dist/theme/light.d.ts +1 -2
  39. package/dist/theme/mui.d.cts +1 -0
  40. package/dist/theme/mui.d.ts +1 -0
  41. package/dist/utils.d.cts +2 -3
  42. package/dist/utils.d.ts +2 -3
  43. package/dist/validation-2v8lSCSx.cjs +75 -0
  44. package/dist/validation-2v8lSCSx.cjs.map +1 -0
  45. package/dist/validation-BQQeMmiR.js +64 -0
  46. package/dist/validation-BQQeMmiR.js.map +1 -0
  47. package/package.json +5 -4
  48. package/dist/validation-3mGtWOml.cjs +0 -75
  49. package/dist/validation-3mGtWOml.cjs.map +0 -1
  50. package/dist/validation-B5-eLv50.js +0 -64
  51. package/dist/validation-B5-eLv50.js.map +0 -1
@@ -1,44 +1,19 @@
1
- //#region ../types/dist/types.gen.d.ts
2
- /**
3
- * Role permission
4
- */
5
- type RolePermission = {
6
- /**
7
- * Action
8
- */
9
- action: 'any' | 'http' | 'CREATE_DEPLOYMENT' | 'MANAGE_DEVICE' | 'REMOTE_TERMINAL' | 'VIEW_DEVICE';
10
- object: RolePermissionObject;
11
- };
12
- /**
13
- * Role permission object
14
- */
15
- type RolePermissionObject = {
16
- /**
17
- * Type
18
- */
19
- type: string;
20
- /**
21
- * Value
22
- */
23
- value: string;
24
- };
25
- //#endregion
26
1
  //#region src/mockData.d.ts
27
- declare const undefineds: RegExp;
28
- declare const menderEnvironment: {
2
+ export declare const undefineds: RegExp;
3
+ export declare const menderEnvironment: {
29
4
  features: {
30
5
  hasMultitenancy: boolean;
31
6
  };
32
7
  version: string;
33
8
  };
34
- declare const TEST_SESSION_DATETIME = "2019-01-13T13:00:00.000Z";
35
- declare const mockDate: Date;
36
- declare const defaultPassword = "mysecretpassword!123";
37
- declare const defaultCreationDate = "2019-01-13T06:25:00.000Z";
38
- declare const defaultMacAddress = "dc:a6:32:12:ad:bf";
39
- declare const testSsoId = "sso_id";
40
- declare const token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZTNkMGY4Yy1hZWRlLTQwMzAtYjM5MS03ZDUwMjBlYjg3M2UiLCJzdWIiOiJhMzBhNzgwYi1iODQzLTUzNDQtODBlMy0wZmQ5NWE0ZjZmYzMiLCJleHAiOjE2MDY4MTUzNjksImlhdCI6MTYwNjIxMDU2OSwibWVuZGVyLnRlbmFudCI6IjVmODVjMTdiY2U2MmI3ZmE3ZjVmNzA0MCIsIm1lbmRlci51c2VyIjp0cnVlLCJpc3MiOiJNZW5kZXIgVXNlcnMiLCJzY3AiOiJtZW5kZXIuKiIsIm1lbmRlci5wbGFuIjoicHJvZmVzc2lvbmFsIiwibmJmIjoxNjA2MjEwNTY5fQ.qVgYdCzLTf8OdK9uUctqqaY_HWkIiwpekuGvuGQAXCEgOv4bRNDlZRN_ZRSbxQoARG3pquhScbQrjBV9tcF4irTUPlTn3yrsXNO17DpcbTVeKRkb88RDtIKiRw3orVZ_GlIb-ckTQ5dS-Nqlyyf3Fmrhca-gwt6m_xv2UrmJK6eYYTMfggdRRWb-4u7mEkBI_pHPMTQrT8kJ2BeX-vHgazH9AoH0k85LHtFZQXD7pXHlDZRnLxJXukncwMGDmF17374gavYAIyDIzcC8sEBMDnVXgpikeA1sauzirqix6mAVs6XmxdQO7aF0wfXO1_PTYUA3Nk1oQfMYNlEI3U9uLRJRZIq2L8fmrrBryhstKd4y0KlBbGAQrx8NtRkgajjd1ljMfPBUEZrb7uSerVjneiO-aIBO76CuH0zdklphIjpGJeogkBhe8pAYNggp1XsZHgpZfl7IE5faKaDkMGnutaea--Czor6bhqUNCuY4tR0cpQJbNwy6LS9o1CFy4Log";
41
- declare const accessTokens: ({
9
+ export declare const TEST_SESSION_DATETIME = "2019-01-13T13:00:00.000Z";
10
+ export declare const mockDate: Date;
11
+ export declare const defaultPassword = "mysecretpassword!123";
12
+ export declare const defaultCreationDate = "2019-01-13T06:25:00.000Z";
13
+ export declare const defaultMacAddress = "dc:a6:32:12:ad:bf";
14
+ export declare const testSsoId = "sso_id";
15
+ export declare const token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZTNkMGY4Yy1hZWRlLTQwMzAtYjM5MS03ZDUwMjBlYjg3M2UiLCJzdWIiOiJhMzBhNzgwYi1iODQzLTUzNDQtODBlMy0wZmQ5NWE0ZjZmYzMiLCJleHAiOjE2MDY4MTUzNjksImlhdCI6MTYwNjIxMDU2OSwibWVuZGVyLnRlbmFudCI6IjVmODVjMTdiY2U2MmI3ZmE3ZjVmNzA0MCIsIm1lbmRlci51c2VyIjp0cnVlLCJpc3MiOiJNZW5kZXIgVXNlcnMiLCJzY3AiOiJtZW5kZXIuKiIsIm1lbmRlci5wbGFuIjoicHJvZmVzc2lvbmFsIiwibmJmIjoxNjA2MjEwNTY5fQ.qVgYdCzLTf8OdK9uUctqqaY_HWkIiwpekuGvuGQAXCEgOv4bRNDlZRN_ZRSbxQoARG3pquhScbQrjBV9tcF4irTUPlTn3yrsXNO17DpcbTVeKRkb88RDtIKiRw3orVZ_GlIb-ckTQ5dS-Nqlyyf3Fmrhca-gwt6m_xv2UrmJK6eYYTMfggdRRWb-4u7mEkBI_pHPMTQrT8kJ2BeX-vHgazH9AoH0k85LHtFZQXD7pXHlDZRnLxJXukncwMGDmF17374gavYAIyDIzcC8sEBMDnVXgpikeA1sauzirqix6mAVs6XmxdQO7aF0wfXO1_PTYUA3Nk1oQfMYNlEI3U9uLRJRZIq2L8fmrrBryhstKd4y0KlBbGAQrx8NtRkgajjd1ljMfPBUEZrb7uSerVjneiO-aIBO76CuH0zdklphIjpGJeogkBhe8pAYNggp1XsZHgpZfl7IE5faKaDkMGnutaea--Czor6bhqUNCuY4tR0cpQJbNwy6LS9o1CFy4Log";
16
+ export declare const accessTokens: ({
42
17
  id: string;
43
18
  expiration_date: string;
44
19
  name: string;
@@ -49,12 +24,12 @@ declare const accessTokens: ({
49
24
  last_used: string;
50
25
  name: string;
51
26
  })[];
52
- declare const pendingEmailChange: {
27
+ export declare const pendingEmailChange: {
53
28
  new_email: string;
54
29
  created_ts: string;
55
30
  valid_until: string;
56
31
  };
57
- declare const webhookEvents: {
32
+ export declare const webhookEvents: {
58
33
  id: string;
59
34
  type: string;
60
35
  data: {
@@ -68,7 +43,7 @@ declare const webhookEvents: {
68
43
  status_code: number;
69
44
  }[];
70
45
  }[];
71
- declare const spTenantLimits: {
46
+ export declare const spTenantLimits: {
72
47
  max_devices: {
73
48
  current_value: number;
74
49
  name: string;
@@ -88,7 +63,7 @@ declare const spTenantLimits: {
88
63
  value: number;
89
64
  };
90
65
  };
91
- declare const tenants: {
66
+ export declare const tenants: {
92
67
  id: string;
93
68
  parent_tenant_id: string;
94
69
  name: string;
@@ -130,7 +105,7 @@ declare const tenants: {
130
105
  };
131
106
  binary_delta: boolean;
132
107
  }[];
133
- declare const adminUserCapabilities: {
108
+ export declare const adminUserCapabilities: {
134
109
  canAuditlog: boolean;
135
110
  canConfigure: boolean;
136
111
  canDeploy: boolean;
@@ -145,8 +120,8 @@ declare const adminUserCapabilities: {
145
120
  canUploadReleases: boolean;
146
121
  canWriteDevices: boolean;
147
122
  };
148
- declare const userId = "a30a780b-b843-5344-80e3-0fd95a4f6fc3";
149
- declare const mockApiResponses: {
123
+ export declare const userId = "a30a780b-b843-5344-80e3-0fd95a4f6fc3";
124
+ export declare const mockApiResponses: {
150
125
  deployments: {
151
126
  byId: {
152
127
  d1: {
@@ -568,7 +543,7 @@ declare const mockApiResponses: {
568
543
  };
569
544
  };
570
545
  };
571
- declare const manifestsList: {
546
+ export declare const manifestsList: {
572
547
  name: string;
573
548
  modified: string;
574
549
  artifact: {
@@ -595,7 +570,7 @@ declare const manifestsList: {
595
570
  tags: never[];
596
571
  notes: string;
597
572
  }[];
598
- declare const softwareList: ({
573
+ export declare const softwareList: ({
599
574
  name: string;
600
575
  modified: string;
601
576
  kind: "release";
@@ -612,7 +587,7 @@ declare const softwareList: ({
612
587
  compatible_types: string[];
613
588
  notes: string;
614
589
  })[];
615
- declare const releasesList: {
590
+ export declare const releasesList: {
616
591
  artifacts: {
617
592
  id: string;
618
593
  description: string;
@@ -638,7 +613,7 @@ declare const releasesList: {
638
613
  name: string;
639
614
  modified: number;
640
615
  }[];
641
- declare const permissionSets: ({
616
+ export declare const permissionSets: ({
642
617
  object: string;
643
618
  description: string;
644
619
  permissions: {
@@ -665,7 +640,7 @@ declare const permissionSets: ({
665
640
  };
666
641
  }[];
667
642
  })[];
668
- declare const rbacRoles: ({
643
+ export declare const rbacRoles: ({
669
644
  name: string;
670
645
  description: string;
671
646
  permission_sets_with_scope: ({
@@ -708,7 +683,7 @@ declare const rbacRoles: ({
708
683
  }[] | undefined;
709
684
  permission_sets_with_scope?: undefined;
710
685
  })[];
711
- declare const receivedRoles: {
686
+ export declare const receivedRoles: {
712
687
  test: {
713
688
  name: string;
714
689
  description: string;
@@ -726,10 +701,9 @@ declare const receivedRoles: {
726
701
  userManagement: string[];
727
702
  };
728
703
  isCustom?: boolean;
729
- permissions?: RolePermission[];
704
+ permissions?: import("@northern.tech/types/types.gen").RolePermission[];
730
705
  };
731
706
  };
732
- declare const receivedPermissionSets: {};
707
+ export declare const receivedPermissionSets: {};
733
708
  //#endregion
734
- export { TEST_SESSION_DATETIME, accessTokens, adminUserCapabilities, defaultCreationDate, defaultMacAddress, defaultPassword, manifestsList, menderEnvironment, mockApiResponses, mockDate, pendingEmailChange, permissionSets, rbacRoles, receivedPermissionSets, receivedRoles, releasesList, softwareList, spTenantLimits, tenants, testSsoId, token, undefineds, userId, webhookEvents };
735
709
  //# sourceMappingURL=mockData.d.cts.map
@@ -1,44 +1,19 @@
1
- //#region ../types/dist/types.gen.d.ts
2
- /**
3
- * Role permission
4
- */
5
- type RolePermission = {
6
- /**
7
- * Action
8
- */
9
- action: 'any' | 'http' | 'CREATE_DEPLOYMENT' | 'MANAGE_DEVICE' | 'REMOTE_TERMINAL' | 'VIEW_DEVICE';
10
- object: RolePermissionObject;
11
- };
12
- /**
13
- * Role permission object
14
- */
15
- type RolePermissionObject = {
16
- /**
17
- * Type
18
- */
19
- type: string;
20
- /**
21
- * Value
22
- */
23
- value: string;
24
- };
25
- //#endregion
26
1
  //#region src/mockData.d.ts
27
- declare const undefineds: RegExp;
28
- declare const menderEnvironment: {
2
+ export declare const undefineds: RegExp;
3
+ export declare const menderEnvironment: {
29
4
  features: {
30
5
  hasMultitenancy: boolean;
31
6
  };
32
7
  version: string;
33
8
  };
34
- declare const TEST_SESSION_DATETIME = "2019-01-13T13:00:00.000Z";
35
- declare const mockDate: Date;
36
- declare const defaultPassword = "mysecretpassword!123";
37
- declare const defaultCreationDate = "2019-01-13T06:25:00.000Z";
38
- declare const defaultMacAddress = "dc:a6:32:12:ad:bf";
39
- declare const testSsoId = "sso_id";
40
- declare const token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZTNkMGY4Yy1hZWRlLTQwMzAtYjM5MS03ZDUwMjBlYjg3M2UiLCJzdWIiOiJhMzBhNzgwYi1iODQzLTUzNDQtODBlMy0wZmQ5NWE0ZjZmYzMiLCJleHAiOjE2MDY4MTUzNjksImlhdCI6MTYwNjIxMDU2OSwibWVuZGVyLnRlbmFudCI6IjVmODVjMTdiY2U2MmI3ZmE3ZjVmNzA0MCIsIm1lbmRlci51c2VyIjp0cnVlLCJpc3MiOiJNZW5kZXIgVXNlcnMiLCJzY3AiOiJtZW5kZXIuKiIsIm1lbmRlci5wbGFuIjoicHJvZmVzc2lvbmFsIiwibmJmIjoxNjA2MjEwNTY5fQ.qVgYdCzLTf8OdK9uUctqqaY_HWkIiwpekuGvuGQAXCEgOv4bRNDlZRN_ZRSbxQoARG3pquhScbQrjBV9tcF4irTUPlTn3yrsXNO17DpcbTVeKRkb88RDtIKiRw3orVZ_GlIb-ckTQ5dS-Nqlyyf3Fmrhca-gwt6m_xv2UrmJK6eYYTMfggdRRWb-4u7mEkBI_pHPMTQrT8kJ2BeX-vHgazH9AoH0k85LHtFZQXD7pXHlDZRnLxJXukncwMGDmF17374gavYAIyDIzcC8sEBMDnVXgpikeA1sauzirqix6mAVs6XmxdQO7aF0wfXO1_PTYUA3Nk1oQfMYNlEI3U9uLRJRZIq2L8fmrrBryhstKd4y0KlBbGAQrx8NtRkgajjd1ljMfPBUEZrb7uSerVjneiO-aIBO76CuH0zdklphIjpGJeogkBhe8pAYNggp1XsZHgpZfl7IE5faKaDkMGnutaea--Czor6bhqUNCuY4tR0cpQJbNwy6LS9o1CFy4Log";
41
- declare const accessTokens: ({
9
+ export declare const TEST_SESSION_DATETIME = "2019-01-13T13:00:00.000Z";
10
+ export declare const mockDate: Date;
11
+ export declare const defaultPassword = "mysecretpassword!123";
12
+ export declare const defaultCreationDate = "2019-01-13T06:25:00.000Z";
13
+ export declare const defaultMacAddress = "dc:a6:32:12:ad:bf";
14
+ export declare const testSsoId = "sso_id";
15
+ export declare const token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZTNkMGY4Yy1hZWRlLTQwMzAtYjM5MS03ZDUwMjBlYjg3M2UiLCJzdWIiOiJhMzBhNzgwYi1iODQzLTUzNDQtODBlMy0wZmQ5NWE0ZjZmYzMiLCJleHAiOjE2MDY4MTUzNjksImlhdCI6MTYwNjIxMDU2OSwibWVuZGVyLnRlbmFudCI6IjVmODVjMTdiY2U2MmI3ZmE3ZjVmNzA0MCIsIm1lbmRlci51c2VyIjp0cnVlLCJpc3MiOiJNZW5kZXIgVXNlcnMiLCJzY3AiOiJtZW5kZXIuKiIsIm1lbmRlci5wbGFuIjoicHJvZmVzc2lvbmFsIiwibmJmIjoxNjA2MjEwNTY5fQ.qVgYdCzLTf8OdK9uUctqqaY_HWkIiwpekuGvuGQAXCEgOv4bRNDlZRN_ZRSbxQoARG3pquhScbQrjBV9tcF4irTUPlTn3yrsXNO17DpcbTVeKRkb88RDtIKiRw3orVZ_GlIb-ckTQ5dS-Nqlyyf3Fmrhca-gwt6m_xv2UrmJK6eYYTMfggdRRWb-4u7mEkBI_pHPMTQrT8kJ2BeX-vHgazH9AoH0k85LHtFZQXD7pXHlDZRnLxJXukncwMGDmF17374gavYAIyDIzcC8sEBMDnVXgpikeA1sauzirqix6mAVs6XmxdQO7aF0wfXO1_PTYUA3Nk1oQfMYNlEI3U9uLRJRZIq2L8fmrrBryhstKd4y0KlBbGAQrx8NtRkgajjd1ljMfPBUEZrb7uSerVjneiO-aIBO76CuH0zdklphIjpGJeogkBhe8pAYNggp1XsZHgpZfl7IE5faKaDkMGnutaea--Czor6bhqUNCuY4tR0cpQJbNwy6LS9o1CFy4Log";
16
+ export declare const accessTokens: ({
42
17
  id: string;
43
18
  expiration_date: string;
44
19
  name: string;
@@ -49,12 +24,12 @@ declare const accessTokens: ({
49
24
  last_used: string;
50
25
  name: string;
51
26
  })[];
52
- declare const pendingEmailChange: {
27
+ export declare const pendingEmailChange: {
53
28
  new_email: string;
54
29
  created_ts: string;
55
30
  valid_until: string;
56
31
  };
57
- declare const webhookEvents: {
32
+ export declare const webhookEvents: {
58
33
  id: string;
59
34
  type: string;
60
35
  data: {
@@ -68,7 +43,7 @@ declare const webhookEvents: {
68
43
  status_code: number;
69
44
  }[];
70
45
  }[];
71
- declare const spTenantLimits: {
46
+ export declare const spTenantLimits: {
72
47
  max_devices: {
73
48
  current_value: number;
74
49
  name: string;
@@ -88,7 +63,7 @@ declare const spTenantLimits: {
88
63
  value: number;
89
64
  };
90
65
  };
91
- declare const tenants: {
66
+ export declare const tenants: {
92
67
  id: string;
93
68
  parent_tenant_id: string;
94
69
  name: string;
@@ -130,7 +105,7 @@ declare const tenants: {
130
105
  };
131
106
  binary_delta: boolean;
132
107
  }[];
133
- declare const adminUserCapabilities: {
108
+ export declare const adminUserCapabilities: {
134
109
  canAuditlog: boolean;
135
110
  canConfigure: boolean;
136
111
  canDeploy: boolean;
@@ -145,8 +120,8 @@ declare const adminUserCapabilities: {
145
120
  canUploadReleases: boolean;
146
121
  canWriteDevices: boolean;
147
122
  };
148
- declare const userId = "a30a780b-b843-5344-80e3-0fd95a4f6fc3";
149
- declare const mockApiResponses: {
123
+ export declare const userId = "a30a780b-b843-5344-80e3-0fd95a4f6fc3";
124
+ export declare const mockApiResponses: {
150
125
  deployments: {
151
126
  byId: {
152
127
  d1: {
@@ -568,7 +543,7 @@ declare const mockApiResponses: {
568
543
  };
569
544
  };
570
545
  };
571
- declare const manifestsList: {
546
+ export declare const manifestsList: {
572
547
  name: string;
573
548
  modified: string;
574
549
  artifact: {
@@ -595,7 +570,7 @@ declare const manifestsList: {
595
570
  tags: never[];
596
571
  notes: string;
597
572
  }[];
598
- declare const softwareList: ({
573
+ export declare const softwareList: ({
599
574
  name: string;
600
575
  modified: string;
601
576
  kind: "release";
@@ -612,7 +587,7 @@ declare const softwareList: ({
612
587
  compatible_types: string[];
613
588
  notes: string;
614
589
  })[];
615
- declare const releasesList: {
590
+ export declare const releasesList: {
616
591
  artifacts: {
617
592
  id: string;
618
593
  description: string;
@@ -638,7 +613,7 @@ declare const releasesList: {
638
613
  name: string;
639
614
  modified: number;
640
615
  }[];
641
- declare const permissionSets: ({
616
+ export declare const permissionSets: ({
642
617
  object: string;
643
618
  description: string;
644
619
  permissions: {
@@ -665,7 +640,7 @@ declare const permissionSets: ({
665
640
  };
666
641
  }[];
667
642
  })[];
668
- declare const rbacRoles: ({
643
+ export declare const rbacRoles: ({
669
644
  name: string;
670
645
  description: string;
671
646
  permission_sets_with_scope: ({
@@ -708,7 +683,7 @@ declare const rbacRoles: ({
708
683
  }[] | undefined;
709
684
  permission_sets_with_scope?: undefined;
710
685
  })[];
711
- declare const receivedRoles: {
686
+ export declare const receivedRoles: {
712
687
  test: {
713
688
  name: string;
714
689
  description: string;
@@ -726,10 +701,9 @@ declare const receivedRoles: {
726
701
  userManagement: string[];
727
702
  };
728
703
  isCustom?: boolean;
729
- permissions?: RolePermission[];
704
+ permissions?: import("@northern.tech/types/types.gen").RolePermission[];
730
705
  };
731
706
  };
732
- declare const receivedPermissionSets: {};
707
+ export declare const receivedPermissionSets: {};
733
708
  //#endregion
734
- export { TEST_SESSION_DATETIME, accessTokens, adminUserCapabilities, defaultCreationDate, defaultMacAddress, defaultPassword, manifestsList, menderEnvironment, mockApiResponses, mockDate, pendingEmailChange, permissionSets, rbacRoles, receivedPermissionSets, receivedRoles, releasesList, softwareList, spTenantLimits, tenants, testSsoId, token, undefineds, userId, webhookEvents };
735
709
  //# sourceMappingURL=mockData.d.ts.map
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_mockData = require("../mockData.cjs");
3
- const require_validation = require("../validation-3mGtWOml.cjs");
3
+ const require_validation = require("../validation-2v8lSCSx.cjs");
4
4
  let _northern_tech_utils_constants = require("@northern.tech/utils/constants");
5
5
  let msw = require("msw");
6
6
  //#region src/requestHandlers/deploymentHandlers.ts
@@ -112,11 +112,11 @@ const deploymentHandlers = [
112
112
  if (require_mockData.mockApiResponses.deployments.byId[deploymentId] && require_mockData.mockApiResponses.deployments.byId[deploymentId].devices[deviceId]) return msw.HttpResponse.text("test");
113
113
  return new msw.HttpResponse(null, { status: 523 });
114
114
  }),
115
- msw.http.post(`${_northern_tech_utils_constants.deploymentsApiUrl}/deployments`, require_validation.validated(async ({ request }) => {
115
+ msw.http.post(`${_northern_tech_utils_constants.deploymentsApiUrl}/deployments`, async ({ request }) => {
116
116
  const body = await request.json();
117
117
  if (!Object.keys(body).length) return new msw.HttpResponse(JSON.stringify({}), { status: 524 });
118
118
  return new msw.HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });
119
- })),
119
+ }),
120
120
  msw.http.post(`${_northern_tech_utils_constants.deploymentsApiUrlV2}/deployments`, require_validation.validated(async ({ request }) => {
121
121
  const { filter_id, devices = [], uniform_phases = [] } = await request.json();
122
122
  if (!filter_id || !!devices.length || !!uniform_phases.length) return new msw.HttpResponse(JSON.stringify({}), { status: 525 });
@@ -1 +1 @@
1
- {"version":3,"file":"deploymentHandlers.cjs","names":["limitDefault","http","deploymentsApiUrlV2","HttpResponse","mockApiResponses","headerNames","deploymentsApiUrl","validated"],"sources":["../../src/requestHandlers/deploymentHandlers.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.\n//@ts-nocheck\nimport { deploymentsApiUrl, deploymentsApiUrlV2, headerNames, limitDefault } from '@northern.tech/utils/constants';\nimport { HttpResponse, http } from 'msw';\n\nimport { mockApiResponses } from '../mockData';\nimport { validated } from './validation';\n\nconst createdDeployment = {\n id: 'created-123',\n name: 'test deployment',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:30:00.000Z',\n device_count: 1,\n devices: {\n a1: {\n attributes: {},\n id: 'a1',\n image: { size: 123 },\n status: 'installing'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 1,\n noartifact: 0,\n pending: 0,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n },\n total_size: 1234\n }\n};\n\nconst defaultDeploymentConfig = {\n delta: {\n enabled: true,\n binary_delta: {\n xdelta_args: {\n disable_checksum: false,\n disable_external_decompression: false,\n compression_level: 6,\n source_window_size: 0,\n input_window_size: 0,\n compression_duplicates_window: 0,\n instruction_buffer_size: 0\n },\n timeout: 0\n },\n binary_delta_limits: {\n xdelta_args_limits: {\n source_window_size: limitDefault,\n input_window_size: limitDefault,\n compression_duplicates_window: limitDefault,\n instruction_buffer_size: limitDefault\n },\n timeout: { min: 60, max: 3600, default: 60 },\n jobs_in_parallel: limitDefault,\n queue_length: limitDefault\n }\n }\n};\n\nexport const deploymentHandlers = [\n http.get(\n `${deploymentsApiUrlV2}/deployments`,\n () =>\n new HttpResponse(JSON.stringify(Object.values(mockApiResponses.deployments.byId).reverse()), {\n headers: { [headerNames.total]: Object.keys(mockApiResponses.deployments.byId).length }\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/releases`, ({ request }) => {\n const { searchParams } = new URL(request.url);\n const releaseName = searchParams.get('name');\n const release = mockApiResponses.releases.byId[releaseName] || {};\n if (releaseName) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { device_types_compatible, ...remainder } = release;\n return Object.keys(remainder).length || releaseName === 'createdRelease' ? HttpResponse.json([remainder]) : new HttpResponse(null, { status: 520 });\n }\n const releases = Object.values(mockApiResponses.releases.byId).map(stateRelease => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { device_types_compatible, ...remainder } = stateRelease;\n return remainder;\n });\n return HttpResponse.json(releases);\n }),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return HttpResponse.json(createdDeployment);\n } else if (deploymentId === 'config1') {\n return HttpResponse.json({\n ...createdDeployment,\n id: 'config1',\n created: '2019-01-01T09:25:01.000Z',\n finished: '2019-01-01T09:25:03.000Z',\n status: 'finished'\n });\n }\n return HttpResponse.json(mockApiResponses.deployments.byId[deploymentId]);\n }),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return HttpResponse.json(Object.values(createdDeployment.devices));\n } else if (mockApiResponses.deployments.byId[deploymentId]) {\n return HttpResponse.json(Object.values(mockApiResponses.deployments.byId[deploymentId].devices));\n }\n return new HttpResponse(null, { status: 521 });\n }),\n http.post(\n `${deploymentsApiUrl}/deployments/statistics/list`,\n validated(async ({ request }) => {\n const { deployment_ids = [] } = await request.json();\n if (deployment_ids.includes(createdDeployment.id)) {\n return HttpResponse.json([]);\n } else if (deployment_ids.every(id => mockApiResponses.deployments.byId[id])) {\n const stats = deployment_ids.map(id => ({ id, stats: mockApiResponses.deployments.byId[id].statistics.status }));\n return HttpResponse.json(stats);\n }\n return new HttpResponse(null, { status: 522 });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices/:deviceId/log`, ({ params: { deploymentId, deviceId } }) => {\n if (mockApiResponses.deployments.byId[deploymentId] && mockApiResponses.deployments.byId[deploymentId].devices[deviceId]) {\n return HttpResponse.text('test');\n }\n return new HttpResponse(null, { status: 523 });\n }),\n http.post(\n `${deploymentsApiUrl}/deployments`,\n validated(async ({ request }) => {\n const body = await request.json();\n if (!Object.keys(body).length) {\n return new HttpResponse(JSON.stringify({}), { status: 524 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.post(\n `${deploymentsApiUrlV2}/deployments`,\n validated(async ({ request }) => {\n const { filter_id, devices = [], uniform_phases = [] } = await request.json();\n if (!filter_id || !!devices.length || !!uniform_phases.length) {\n return new HttpResponse(JSON.stringify({}), { status: 525 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.post(\n `${deploymentsApiUrl}/deployments/group/:deploymentGroup`,\n validated(async ({ params: { deploymentGroup }, request }) => {\n const { filter_id, devices = [] } = await request.json();\n if (filter_id || !!devices.length || deploymentGroup !== Object.keys(mockApiResponses.devices.groups.byId)[0]) {\n return new HttpResponse(JSON.stringify({}), { status: 526 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.patch(`${deploymentsApiUrl}/deployments/:deploymentId`, async ({ params: { deploymentId }, request }) => {\n const { update_control_map } = await request.json();\n if (deploymentId === createdDeployment.id && Object.keys(update_control_map).length) {\n return new HttpResponse(null, { status: 204 });\n }\n return new HttpResponse(null, { status: 581 });\n }),\n http.put(\n `${deploymentsApiUrl}/deployments/:deploymentId/status`,\n validated(async ({ params: { deploymentId }, request }) => {\n const { status } = await request.json();\n return new HttpResponse(JSON.stringify({}), {\n status:\n status === 'aborted' &&\n [...mockApiResponses.deployments.byStatus.pending.deploymentIds, ...mockApiResponses.deployments.byStatus.inprogress.deploymentIds].includes(\n deploymentId\n )\n ? 200\n : 528\n });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices/list`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return new HttpResponse(JSON.stringify(Object.values(createdDeployment.devices)), {\n headers: { [headerNames.total]: Object.keys(createdDeployment.devices).length }\n });\n } else if (mockApiResponses.deployments.byId[deploymentId]) {\n return new HttpResponse(JSON.stringify(Object.values(mockApiResponses.deployments.byId[deploymentId].devices)), {\n headers: { [headerNames.total]: Object.keys(mockApiResponses.deployments.byId[deploymentId].devices).length }\n });\n }\n return new HttpResponse(null, { status: 529 });\n }),\n http.get(`${deploymentsApiUrl}/config`, () => HttpResponse.json(defaultDeploymentConfig)),\n http.put(\n `${deploymentsApiUrl}/config/binary_delta`,\n validated(async ({ request }) => {\n const { xdelta_args = {} } = await request.json();\n if (xdelta_args.source_window_size === 55) {\n return new HttpResponse(null, { status: 530 });\n }\n return new HttpResponse(null, { status: 200 });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/devices/:deviceId`, ({ params: { deviceId } }) => {\n if (deviceId === mockApiResponses.devices.byId.a1.id) {\n return new HttpResponse(\n JSON.stringify([\n {\n id: createdDeployment.id + 'something',\n deployment: { ...createdDeployment, id: mockApiResponses.deployments.byId.d1.id, status: 'inprogress' },\n device: {\n created: '2019-01-01T12:35:00.000Z',\n finished: '2019-01-01T12:40:00.000Z',\n status: 'noartifact',\n id: 'something',\n image: { ...mockApiResponses.releases.byId.r1 }\n },\n log: true,\n attempts: 1,\n delta_job_id: ''\n }\n ]),\n {\n headers: { [headerNames.total]: 34 }\n }\n );\n }\n return new HttpResponse(null, { status: 529 });\n }),\n http.delete(`${deploymentsApiUrl}/deployments/devices/:deviceId/history`, () => new HttpResponse(null, { status: 204 })),\n http.get(`/api/management/v1alpha1/deployments/deployments/:deploymentId/devices/:deviceId/log/explain`, ({ params: { deploymentId, deviceId } }) => {\n if (deploymentId === mockApiResponses.deployments.byId.d1.id && deviceId === mockApiResponses.devices.byId.a1.id) {\n const mockAnalysis = `## Summary\nThe deployment failed during the artifact download phase. The device was unable to establish a secure connection to the artifact repository.\n\n## Key Issues\n1. **Network connectivity issues** - Connection timeout occurred\n2. **SSL/TLS certificate verification failed** - Invalid certificate chain\n3. **Artifact verification failed** - Checksum mismatch detected\n\n## Recommendations\n- Check network connectivity between device and artifact repository\n- Verify SSL certificates are properly configured\n- Ensure artifact integrity before deployment`;\n return HttpResponse.text(mockAnalysis);\n }\n if (deploymentId === 'rate-limited-deployment') {\n return new HttpResponse(JSON.stringify({ error: 'Rate limit exceeded' }), { status: 429 });\n }\n if (deploymentId === 'error-deployment') {\n return new HttpResponse(JSON.stringify({ error: 'Analysis failed' }), { status: 500 });\n }\n return new HttpResponse(null, { status: 404 });\n })\n];\n"],"mappings":"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"}
1
+ {"version":3,"file":"deploymentHandlers.cjs","names":["limitDefault","http","deploymentsApiUrlV2","HttpResponse","mockApiResponses","headerNames","deploymentsApiUrl","validated"],"sources":["../../src/requestHandlers/deploymentHandlers.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.\n//@ts-nocheck\nimport { deploymentsApiUrl, deploymentsApiUrlV2, headerNames, limitDefault } from '@northern.tech/utils/constants';\nimport { HttpResponse, http } from 'msw';\n\nimport { mockApiResponses } from '../mockData';\nimport { validated } from './validation';\n\nconst createdDeployment = {\n id: 'created-123',\n name: 'test deployment',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:30:00.000Z',\n device_count: 1,\n devices: {\n a1: {\n attributes: {},\n id: 'a1',\n image: { size: 123 },\n status: 'installing'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 1,\n noartifact: 0,\n pending: 0,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n },\n total_size: 1234\n }\n};\n\nconst defaultDeploymentConfig = {\n delta: {\n enabled: true,\n binary_delta: {\n xdelta_args: {\n disable_checksum: false,\n disable_external_decompression: false,\n compression_level: 6,\n source_window_size: 0,\n input_window_size: 0,\n compression_duplicates_window: 0,\n instruction_buffer_size: 0\n },\n timeout: 0\n },\n binary_delta_limits: {\n xdelta_args_limits: {\n source_window_size: limitDefault,\n input_window_size: limitDefault,\n compression_duplicates_window: limitDefault,\n instruction_buffer_size: limitDefault\n },\n timeout: { min: 60, max: 3600, default: 60 },\n jobs_in_parallel: limitDefault,\n queue_length: limitDefault\n }\n }\n};\n\nexport const deploymentHandlers = [\n http.get(\n `${deploymentsApiUrlV2}/deployments`,\n () =>\n new HttpResponse(JSON.stringify(Object.values(mockApiResponses.deployments.byId).reverse()), {\n headers: { [headerNames.total]: Object.keys(mockApiResponses.deployments.byId).length }\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/releases`, ({ request }) => {\n const { searchParams } = new URL(request.url);\n const releaseName = searchParams.get('name');\n const release = mockApiResponses.releases.byId[releaseName] || {};\n if (releaseName) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { device_types_compatible, ...remainder } = release;\n return Object.keys(remainder).length || releaseName === 'createdRelease' ? HttpResponse.json([remainder]) : new HttpResponse(null, { status: 520 });\n }\n const releases = Object.values(mockApiResponses.releases.byId).map(stateRelease => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { device_types_compatible, ...remainder } = stateRelease;\n return remainder;\n });\n return HttpResponse.json(releases);\n }),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return HttpResponse.json(createdDeployment);\n } else if (deploymentId === 'config1') {\n return HttpResponse.json({\n ...createdDeployment,\n id: 'config1',\n created: '2019-01-01T09:25:01.000Z',\n finished: '2019-01-01T09:25:03.000Z',\n status: 'finished'\n });\n }\n return HttpResponse.json(mockApiResponses.deployments.byId[deploymentId]);\n }),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return HttpResponse.json(Object.values(createdDeployment.devices));\n } else if (mockApiResponses.deployments.byId[deploymentId]) {\n return HttpResponse.json(Object.values(mockApiResponses.deployments.byId[deploymentId].devices));\n }\n return new HttpResponse(null, { status: 521 });\n }),\n http.post(\n `${deploymentsApiUrl}/deployments/statistics/list`,\n validated(async ({ request }) => {\n const { deployment_ids = [] } = await request.json();\n if (deployment_ids.includes(createdDeployment.id)) {\n return HttpResponse.json([]);\n } else if (deployment_ids.every(id => mockApiResponses.deployments.byId[id])) {\n const stats = deployment_ids.map(id => ({ id, stats: mockApiResponses.deployments.byId[id].statistics.status }));\n return HttpResponse.json(stats);\n }\n return new HttpResponse(null, { status: 522 });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices/:deviceId/log`, ({ params: { deploymentId, deviceId } }) => {\n if (mockApiResponses.deployments.byId[deploymentId] && mockApiResponses.deployments.byId[deploymentId].devices[deviceId]) {\n return HttpResponse.text('test');\n }\n return new HttpResponse(null, { status: 523 });\n }),\n // TODO: restore validation once ref expansion is handled in combination with ajv\n http.post(`${deploymentsApiUrl}/deployments`, async ({ request }) => {\n const body = await request.json();\n if (!Object.keys(body).length) {\n return new HttpResponse(JSON.stringify({}), { status: 524 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n }),\n http.post(\n `${deploymentsApiUrlV2}/deployments`,\n validated(async ({ request }) => {\n const { filter_id, devices = [], uniform_phases = [] } = await request.json();\n if (!filter_id || !!devices.length || !!uniform_phases.length) {\n return new HttpResponse(JSON.stringify({}), { status: 525 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.post(\n `${deploymentsApiUrl}/deployments/group/:deploymentGroup`,\n validated(async ({ params: { deploymentGroup }, request }) => {\n const { filter_id, devices = [] } = await request.json();\n if (filter_id || !!devices.length || deploymentGroup !== Object.keys(mockApiResponses.devices.groups.byId)[0]) {\n return new HttpResponse(JSON.stringify({}), { status: 526 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.patch(`${deploymentsApiUrl}/deployments/:deploymentId`, async ({ params: { deploymentId }, request }) => {\n const { update_control_map } = await request.json();\n if (deploymentId === createdDeployment.id && Object.keys(update_control_map).length) {\n return new HttpResponse(null, { status: 204 });\n }\n return new HttpResponse(null, { status: 581 });\n }),\n http.put(\n `${deploymentsApiUrl}/deployments/:deploymentId/status`,\n validated(async ({ params: { deploymentId }, request }) => {\n const { status } = await request.json();\n return new HttpResponse(JSON.stringify({}), {\n status:\n status === 'aborted' &&\n [...mockApiResponses.deployments.byStatus.pending.deploymentIds, ...mockApiResponses.deployments.byStatus.inprogress.deploymentIds].includes(\n deploymentId\n )\n ? 200\n : 528\n });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices/list`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return new HttpResponse(JSON.stringify(Object.values(createdDeployment.devices)), {\n headers: { [headerNames.total]: Object.keys(createdDeployment.devices).length }\n });\n } else if (mockApiResponses.deployments.byId[deploymentId]) {\n return new HttpResponse(JSON.stringify(Object.values(mockApiResponses.deployments.byId[deploymentId].devices)), {\n headers: { [headerNames.total]: Object.keys(mockApiResponses.deployments.byId[deploymentId].devices).length }\n });\n }\n return new HttpResponse(null, { status: 529 });\n }),\n http.get(`${deploymentsApiUrl}/config`, () => HttpResponse.json(defaultDeploymentConfig)),\n http.put(\n `${deploymentsApiUrl}/config/binary_delta`,\n validated(async ({ request }) => {\n const { xdelta_args = {} } = await request.json();\n if (xdelta_args.source_window_size === 55) {\n return new HttpResponse(null, { status: 530 });\n }\n return new HttpResponse(null, { status: 200 });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/devices/:deviceId`, ({ params: { deviceId } }) => {\n if (deviceId === mockApiResponses.devices.byId.a1.id) {\n return new HttpResponse(\n JSON.stringify([\n {\n id: createdDeployment.id + 'something',\n deployment: { ...createdDeployment, id: mockApiResponses.deployments.byId.d1.id, status: 'inprogress' },\n device: {\n created: '2019-01-01T12:35:00.000Z',\n finished: '2019-01-01T12:40:00.000Z',\n status: 'noartifact',\n id: 'something',\n image: { ...mockApiResponses.releases.byId.r1 }\n },\n log: true,\n attempts: 1,\n delta_job_id: ''\n }\n ]),\n {\n headers: { [headerNames.total]: 34 }\n }\n );\n }\n return new HttpResponse(null, { status: 529 });\n }),\n http.delete(`${deploymentsApiUrl}/deployments/devices/:deviceId/history`, () => new HttpResponse(null, { status: 204 })),\n http.get(`/api/management/v1alpha1/deployments/deployments/:deploymentId/devices/:deviceId/log/explain`, ({ params: { deploymentId, deviceId } }) => {\n if (deploymentId === mockApiResponses.deployments.byId.d1.id && deviceId === mockApiResponses.devices.byId.a1.id) {\n const mockAnalysis = `## Summary\nThe deployment failed during the artifact download phase. The device was unable to establish a secure connection to the artifact repository.\n\n## Key Issues\n1. **Network connectivity issues** - Connection timeout occurred\n2. **SSL/TLS certificate verification failed** - Invalid certificate chain\n3. **Artifact verification failed** - Checksum mismatch detected\n\n## Recommendations\n- Check network connectivity between device and artifact repository\n- Verify SSL certificates are properly configured\n- Ensure artifact integrity before deployment`;\n return HttpResponse.text(mockAnalysis);\n }\n if (deploymentId === 'rate-limited-deployment') {\n return new HttpResponse(JSON.stringify({ error: 'Rate limit exceeded' }), { status: 429 });\n }\n if (deploymentId === 'error-deployment') {\n return new HttpResponse(JSON.stringify({ error: 'Analysis failed' }), { status: 500 });\n }\n return new HttpResponse(null, { status: 404 });\n })\n];\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  //#region src/requestHandlers/deploymentHandlers.d.ts
2
- declare const deploymentHandlers: import("msw").HttpHandler[];
2
+ export declare const deploymentHandlers: import("msw").HttpHandler[];
3
3
  //#endregion
4
- export { deploymentHandlers };
5
4
  //# sourceMappingURL=deploymentHandlers.d.cts.map
@@ -1,5 +1,4 @@
1
1
  //#region src/requestHandlers/deploymentHandlers.d.ts
2
- declare const deploymentHandlers: import("msw").HttpHandler[];
2
+ export declare const deploymentHandlers: import("msw").HttpHandler[];
3
3
  //#endregion
4
- export { deploymentHandlers };
5
4
  //# sourceMappingURL=deploymentHandlers.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { mockApiResponses } from "../mockData.js";
2
- import { n as validated } from "../validation-B5-eLv50.js";
2
+ import { n as validated } from "../validation-BQQeMmiR.js";
3
3
  import { deploymentsApiUrl, deploymentsApiUrlV2, headerNames, limitDefault } from "@northern.tech/utils/constants";
4
4
  import { HttpResponse, http } from "msw";
5
5
  //#region src/requestHandlers/deploymentHandlers.ts
@@ -111,11 +111,11 @@ const deploymentHandlers = [
111
111
  if (mockApiResponses.deployments.byId[deploymentId] && mockApiResponses.deployments.byId[deploymentId].devices[deviceId]) return HttpResponse.text("test");
112
112
  return new HttpResponse(null, { status: 523 });
113
113
  }),
114
- http.post(`${deploymentsApiUrl}/deployments`, validated(async ({ request }) => {
114
+ http.post(`${deploymentsApiUrl}/deployments`, async ({ request }) => {
115
115
  const body = await request.json();
116
116
  if (!Object.keys(body).length) return new HttpResponse(JSON.stringify({}), { status: 524 });
117
117
  return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });
118
- })),
118
+ }),
119
119
  http.post(`${deploymentsApiUrlV2}/deployments`, validated(async ({ request }) => {
120
120
  const { filter_id, devices = [], uniform_phases = [] } = await request.json();
121
121
  if (!filter_id || !!devices.length || !!uniform_phases.length) return new HttpResponse(JSON.stringify({}), { status: 525 });
@@ -1 +1 @@
1
- {"version":3,"file":"deploymentHandlers.js","names":[],"sources":["../../src/requestHandlers/deploymentHandlers.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.\n//@ts-nocheck\nimport { deploymentsApiUrl, deploymentsApiUrlV2, headerNames, limitDefault } from '@northern.tech/utils/constants';\nimport { HttpResponse, http } from 'msw';\n\nimport { mockApiResponses } from '../mockData';\nimport { validated } from './validation';\n\nconst createdDeployment = {\n id: 'created-123',\n name: 'test deployment',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:30:00.000Z',\n device_count: 1,\n devices: {\n a1: {\n attributes: {},\n id: 'a1',\n image: { size: 123 },\n status: 'installing'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 1,\n noartifact: 0,\n pending: 0,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n },\n total_size: 1234\n }\n};\n\nconst defaultDeploymentConfig = {\n delta: {\n enabled: true,\n binary_delta: {\n xdelta_args: {\n disable_checksum: false,\n disable_external_decompression: false,\n compression_level: 6,\n source_window_size: 0,\n input_window_size: 0,\n compression_duplicates_window: 0,\n instruction_buffer_size: 0\n },\n timeout: 0\n },\n binary_delta_limits: {\n xdelta_args_limits: {\n source_window_size: limitDefault,\n input_window_size: limitDefault,\n compression_duplicates_window: limitDefault,\n instruction_buffer_size: limitDefault\n },\n timeout: { min: 60, max: 3600, default: 60 },\n jobs_in_parallel: limitDefault,\n queue_length: limitDefault\n }\n }\n};\n\nexport const deploymentHandlers = [\n http.get(\n `${deploymentsApiUrlV2}/deployments`,\n () =>\n new HttpResponse(JSON.stringify(Object.values(mockApiResponses.deployments.byId).reverse()), {\n headers: { [headerNames.total]: Object.keys(mockApiResponses.deployments.byId).length }\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/releases`, ({ request }) => {\n const { searchParams } = new URL(request.url);\n const releaseName = searchParams.get('name');\n const release = mockApiResponses.releases.byId[releaseName] || {};\n if (releaseName) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { device_types_compatible, ...remainder } = release;\n return Object.keys(remainder).length || releaseName === 'createdRelease' ? HttpResponse.json([remainder]) : new HttpResponse(null, { status: 520 });\n }\n const releases = Object.values(mockApiResponses.releases.byId).map(stateRelease => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { device_types_compatible, ...remainder } = stateRelease;\n return remainder;\n });\n return HttpResponse.json(releases);\n }),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return HttpResponse.json(createdDeployment);\n } else if (deploymentId === 'config1') {\n return HttpResponse.json({\n ...createdDeployment,\n id: 'config1',\n created: '2019-01-01T09:25:01.000Z',\n finished: '2019-01-01T09:25:03.000Z',\n status: 'finished'\n });\n }\n return HttpResponse.json(mockApiResponses.deployments.byId[deploymentId]);\n }),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return HttpResponse.json(Object.values(createdDeployment.devices));\n } else if (mockApiResponses.deployments.byId[deploymentId]) {\n return HttpResponse.json(Object.values(mockApiResponses.deployments.byId[deploymentId].devices));\n }\n return new HttpResponse(null, { status: 521 });\n }),\n http.post(\n `${deploymentsApiUrl}/deployments/statistics/list`,\n validated(async ({ request }) => {\n const { deployment_ids = [] } = await request.json();\n if (deployment_ids.includes(createdDeployment.id)) {\n return HttpResponse.json([]);\n } else if (deployment_ids.every(id => mockApiResponses.deployments.byId[id])) {\n const stats = deployment_ids.map(id => ({ id, stats: mockApiResponses.deployments.byId[id].statistics.status }));\n return HttpResponse.json(stats);\n }\n return new HttpResponse(null, { status: 522 });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices/:deviceId/log`, ({ params: { deploymentId, deviceId } }) => {\n if (mockApiResponses.deployments.byId[deploymentId] && mockApiResponses.deployments.byId[deploymentId].devices[deviceId]) {\n return HttpResponse.text('test');\n }\n return new HttpResponse(null, { status: 523 });\n }),\n http.post(\n `${deploymentsApiUrl}/deployments`,\n validated(async ({ request }) => {\n const body = await request.json();\n if (!Object.keys(body).length) {\n return new HttpResponse(JSON.stringify({}), { status: 524 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.post(\n `${deploymentsApiUrlV2}/deployments`,\n validated(async ({ request }) => {\n const { filter_id, devices = [], uniform_phases = [] } = await request.json();\n if (!filter_id || !!devices.length || !!uniform_phases.length) {\n return new HttpResponse(JSON.stringify({}), { status: 525 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.post(\n `${deploymentsApiUrl}/deployments/group/:deploymentGroup`,\n validated(async ({ params: { deploymentGroup }, request }) => {\n const { filter_id, devices = [] } = await request.json();\n if (filter_id || !!devices.length || deploymentGroup !== Object.keys(mockApiResponses.devices.groups.byId)[0]) {\n return new HttpResponse(JSON.stringify({}), { status: 526 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.patch(`${deploymentsApiUrl}/deployments/:deploymentId`, async ({ params: { deploymentId }, request }) => {\n const { update_control_map } = await request.json();\n if (deploymentId === createdDeployment.id && Object.keys(update_control_map).length) {\n return new HttpResponse(null, { status: 204 });\n }\n return new HttpResponse(null, { status: 581 });\n }),\n http.put(\n `${deploymentsApiUrl}/deployments/:deploymentId/status`,\n validated(async ({ params: { deploymentId }, request }) => {\n const { status } = await request.json();\n return new HttpResponse(JSON.stringify({}), {\n status:\n status === 'aborted' &&\n [...mockApiResponses.deployments.byStatus.pending.deploymentIds, ...mockApiResponses.deployments.byStatus.inprogress.deploymentIds].includes(\n deploymentId\n )\n ? 200\n : 528\n });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices/list`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return new HttpResponse(JSON.stringify(Object.values(createdDeployment.devices)), {\n headers: { [headerNames.total]: Object.keys(createdDeployment.devices).length }\n });\n } else if (mockApiResponses.deployments.byId[deploymentId]) {\n return new HttpResponse(JSON.stringify(Object.values(mockApiResponses.deployments.byId[deploymentId].devices)), {\n headers: { [headerNames.total]: Object.keys(mockApiResponses.deployments.byId[deploymentId].devices).length }\n });\n }\n return new HttpResponse(null, { status: 529 });\n }),\n http.get(`${deploymentsApiUrl}/config`, () => HttpResponse.json(defaultDeploymentConfig)),\n http.put(\n `${deploymentsApiUrl}/config/binary_delta`,\n validated(async ({ request }) => {\n const { xdelta_args = {} } = await request.json();\n if (xdelta_args.source_window_size === 55) {\n return new HttpResponse(null, { status: 530 });\n }\n return new HttpResponse(null, { status: 200 });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/devices/:deviceId`, ({ params: { deviceId } }) => {\n if (deviceId === mockApiResponses.devices.byId.a1.id) {\n return new HttpResponse(\n JSON.stringify([\n {\n id: createdDeployment.id + 'something',\n deployment: { ...createdDeployment, id: mockApiResponses.deployments.byId.d1.id, status: 'inprogress' },\n device: {\n created: '2019-01-01T12:35:00.000Z',\n finished: '2019-01-01T12:40:00.000Z',\n status: 'noartifact',\n id: 'something',\n image: { ...mockApiResponses.releases.byId.r1 }\n },\n log: true,\n attempts: 1,\n delta_job_id: ''\n }\n ]),\n {\n headers: { [headerNames.total]: 34 }\n }\n );\n }\n return new HttpResponse(null, { status: 529 });\n }),\n http.delete(`${deploymentsApiUrl}/deployments/devices/:deviceId/history`, () => new HttpResponse(null, { status: 204 })),\n http.get(`/api/management/v1alpha1/deployments/deployments/:deploymentId/devices/:deviceId/log/explain`, ({ params: { deploymentId, deviceId } }) => {\n if (deploymentId === mockApiResponses.deployments.byId.d1.id && deviceId === mockApiResponses.devices.byId.a1.id) {\n const mockAnalysis = `## Summary\nThe deployment failed during the artifact download phase. The device was unable to establish a secure connection to the artifact repository.\n\n## Key Issues\n1. **Network connectivity issues** - Connection timeout occurred\n2. **SSL/TLS certificate verification failed** - Invalid certificate chain\n3. **Artifact verification failed** - Checksum mismatch detected\n\n## Recommendations\n- Check network connectivity between device and artifact repository\n- Verify SSL certificates are properly configured\n- Ensure artifact integrity before deployment`;\n return HttpResponse.text(mockAnalysis);\n }\n if (deploymentId === 'rate-limited-deployment') {\n return new HttpResponse(JSON.stringify({ error: 'Rate limit exceeded' }), { status: 429 });\n }\n if (deploymentId === 'error-deployment') {\n return new HttpResponse(JSON.stringify({ error: 'Analysis failed' }), { status: 500 });\n }\n return new HttpResponse(null, { status: 404 });\n })\n];\n"],"mappings":"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"}
1
+ {"version":3,"file":"deploymentHandlers.js","names":[],"sources":["../../src/requestHandlers/deploymentHandlers.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.\n//@ts-nocheck\nimport { deploymentsApiUrl, deploymentsApiUrlV2, headerNames, limitDefault } from '@northern.tech/utils/constants';\nimport { HttpResponse, http } from 'msw';\n\nimport { mockApiResponses } from '../mockData';\nimport { validated } from './validation';\n\nconst createdDeployment = {\n id: 'created-123',\n name: 'test deployment',\n artifact_name: 'r1',\n artifacts: ['123'],\n created: '2019-01-01T12:30:00.000Z',\n device_count: 1,\n devices: {\n a1: {\n attributes: {},\n id: 'a1',\n image: { size: 123 },\n status: 'installing'\n }\n },\n filter: undefined,\n group: undefined,\n statistics: {\n status: {\n downloading: 0,\n decommissioned: 0,\n failure: 0,\n installing: 1,\n noartifact: 0,\n pending: 0,\n rebooting: 0,\n success: 0,\n 'already-installed': 0\n },\n total_size: 1234\n }\n};\n\nconst defaultDeploymentConfig = {\n delta: {\n enabled: true,\n binary_delta: {\n xdelta_args: {\n disable_checksum: false,\n disable_external_decompression: false,\n compression_level: 6,\n source_window_size: 0,\n input_window_size: 0,\n compression_duplicates_window: 0,\n instruction_buffer_size: 0\n },\n timeout: 0\n },\n binary_delta_limits: {\n xdelta_args_limits: {\n source_window_size: limitDefault,\n input_window_size: limitDefault,\n compression_duplicates_window: limitDefault,\n instruction_buffer_size: limitDefault\n },\n timeout: { min: 60, max: 3600, default: 60 },\n jobs_in_parallel: limitDefault,\n queue_length: limitDefault\n }\n }\n};\n\nexport const deploymentHandlers = [\n http.get(\n `${deploymentsApiUrlV2}/deployments`,\n () =>\n new HttpResponse(JSON.stringify(Object.values(mockApiResponses.deployments.byId).reverse()), {\n headers: { [headerNames.total]: Object.keys(mockApiResponses.deployments.byId).length }\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/releases`, ({ request }) => {\n const { searchParams } = new URL(request.url);\n const releaseName = searchParams.get('name');\n const release = mockApiResponses.releases.byId[releaseName] || {};\n if (releaseName) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { device_types_compatible, ...remainder } = release;\n return Object.keys(remainder).length || releaseName === 'createdRelease' ? HttpResponse.json([remainder]) : new HttpResponse(null, { status: 520 });\n }\n const releases = Object.values(mockApiResponses.releases.byId).map(stateRelease => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { device_types_compatible, ...remainder } = stateRelease;\n return remainder;\n });\n return HttpResponse.json(releases);\n }),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return HttpResponse.json(createdDeployment);\n } else if (deploymentId === 'config1') {\n return HttpResponse.json({\n ...createdDeployment,\n id: 'config1',\n created: '2019-01-01T09:25:01.000Z',\n finished: '2019-01-01T09:25:03.000Z',\n status: 'finished'\n });\n }\n return HttpResponse.json(mockApiResponses.deployments.byId[deploymentId]);\n }),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return HttpResponse.json(Object.values(createdDeployment.devices));\n } else if (mockApiResponses.deployments.byId[deploymentId]) {\n return HttpResponse.json(Object.values(mockApiResponses.deployments.byId[deploymentId].devices));\n }\n return new HttpResponse(null, { status: 521 });\n }),\n http.post(\n `${deploymentsApiUrl}/deployments/statistics/list`,\n validated(async ({ request }) => {\n const { deployment_ids = [] } = await request.json();\n if (deployment_ids.includes(createdDeployment.id)) {\n return HttpResponse.json([]);\n } else if (deployment_ids.every(id => mockApiResponses.deployments.byId[id])) {\n const stats = deployment_ids.map(id => ({ id, stats: mockApiResponses.deployments.byId[id].statistics.status }));\n return HttpResponse.json(stats);\n }\n return new HttpResponse(null, { status: 522 });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices/:deviceId/log`, ({ params: { deploymentId, deviceId } }) => {\n if (mockApiResponses.deployments.byId[deploymentId] && mockApiResponses.deployments.byId[deploymentId].devices[deviceId]) {\n return HttpResponse.text('test');\n }\n return new HttpResponse(null, { status: 523 });\n }),\n // TODO: restore validation once ref expansion is handled in combination with ajv\n http.post(`${deploymentsApiUrl}/deployments`, async ({ request }) => {\n const body = await request.json();\n if (!Object.keys(body).length) {\n return new HttpResponse(JSON.stringify({}), { status: 524 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n }),\n http.post(\n `${deploymentsApiUrlV2}/deployments`,\n validated(async ({ request }) => {\n const { filter_id, devices = [], uniform_phases = [] } = await request.json();\n if (!filter_id || !!devices.length || !!uniform_phases.length) {\n return new HttpResponse(JSON.stringify({}), { status: 525 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.post(\n `${deploymentsApiUrl}/deployments/group/:deploymentGroup`,\n validated(async ({ params: { deploymentGroup }, request }) => {\n const { filter_id, devices = [] } = await request.json();\n if (filter_id || !!devices.length || deploymentGroup !== Object.keys(mockApiResponses.devices.groups.byId)[0]) {\n return new HttpResponse(JSON.stringify({}), { status: 526 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: `find/me/here/${createdDeployment.id}` } });\n })\n ),\n http.patch(`${deploymentsApiUrl}/deployments/:deploymentId`, async ({ params: { deploymentId }, request }) => {\n const { update_control_map } = await request.json();\n if (deploymentId === createdDeployment.id && Object.keys(update_control_map).length) {\n return new HttpResponse(null, { status: 204 });\n }\n return new HttpResponse(null, { status: 581 });\n }),\n http.put(\n `${deploymentsApiUrl}/deployments/:deploymentId/status`,\n validated(async ({ params: { deploymentId }, request }) => {\n const { status } = await request.json();\n return new HttpResponse(JSON.stringify({}), {\n status:\n status === 'aborted' &&\n [...mockApiResponses.deployments.byStatus.pending.deploymentIds, ...mockApiResponses.deployments.byStatus.inprogress.deploymentIds].includes(\n deploymentId\n )\n ? 200\n : 528\n });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/:deploymentId/devices/list`, ({ params: { deploymentId } }) => {\n if (deploymentId === createdDeployment.id) {\n return new HttpResponse(JSON.stringify(Object.values(createdDeployment.devices)), {\n headers: { [headerNames.total]: Object.keys(createdDeployment.devices).length }\n });\n } else if (mockApiResponses.deployments.byId[deploymentId]) {\n return new HttpResponse(JSON.stringify(Object.values(mockApiResponses.deployments.byId[deploymentId].devices)), {\n headers: { [headerNames.total]: Object.keys(mockApiResponses.deployments.byId[deploymentId].devices).length }\n });\n }\n return new HttpResponse(null, { status: 529 });\n }),\n http.get(`${deploymentsApiUrl}/config`, () => HttpResponse.json(defaultDeploymentConfig)),\n http.put(\n `${deploymentsApiUrl}/config/binary_delta`,\n validated(async ({ request }) => {\n const { xdelta_args = {} } = await request.json();\n if (xdelta_args.source_window_size === 55) {\n return new HttpResponse(null, { status: 530 });\n }\n return new HttpResponse(null, { status: 200 });\n })\n ),\n http.get(`${deploymentsApiUrl}/deployments/devices/:deviceId`, ({ params: { deviceId } }) => {\n if (deviceId === mockApiResponses.devices.byId.a1.id) {\n return new HttpResponse(\n JSON.stringify([\n {\n id: createdDeployment.id + 'something',\n deployment: { ...createdDeployment, id: mockApiResponses.deployments.byId.d1.id, status: 'inprogress' },\n device: {\n created: '2019-01-01T12:35:00.000Z',\n finished: '2019-01-01T12:40:00.000Z',\n status: 'noartifact',\n id: 'something',\n image: { ...mockApiResponses.releases.byId.r1 }\n },\n log: true,\n attempts: 1,\n delta_job_id: ''\n }\n ]),\n {\n headers: { [headerNames.total]: 34 }\n }\n );\n }\n return new HttpResponse(null, { status: 529 });\n }),\n http.delete(`${deploymentsApiUrl}/deployments/devices/:deviceId/history`, () => new HttpResponse(null, { status: 204 })),\n http.get(`/api/management/v1alpha1/deployments/deployments/:deploymentId/devices/:deviceId/log/explain`, ({ params: { deploymentId, deviceId } }) => {\n if (deploymentId === mockApiResponses.deployments.byId.d1.id && deviceId === mockApiResponses.devices.byId.a1.id) {\n const mockAnalysis = `## Summary\nThe deployment failed during the artifact download phase. The device was unable to establish a secure connection to the artifact repository.\n\n## Key Issues\n1. **Network connectivity issues** - Connection timeout occurred\n2. **SSL/TLS certificate verification failed** - Invalid certificate chain\n3. **Artifact verification failed** - Checksum mismatch detected\n\n## Recommendations\n- Check network connectivity between device and artifact repository\n- Verify SSL certificates are properly configured\n- Ensure artifact integrity before deployment`;\n return HttpResponse.text(mockAnalysis);\n }\n if (deploymentId === 'rate-limited-deployment') {\n return new HttpResponse(JSON.stringify({ error: 'Rate limit exceeded' }), { status: 429 });\n }\n if (deploymentId === 'error-deployment') {\n return new HttpResponse(JSON.stringify({ error: 'Analysis failed' }), { status: 500 });\n }\n return new HttpResponse(null, { status: 404 });\n })\n];\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_mockData = require("../mockData.cjs");
3
- const require_validation = require("../validation-3mGtWOml.cjs");
3
+ const require_validation = require("../validation-2v8lSCSx.cjs");
4
4
  let _northern_tech_utils_constants = require("@northern.tech/utils/constants");
5
5
  let msw = require("msw");
6
6
  //#region src/requestHandlers/deviceHandlers.ts
@@ -1,6 +1,6 @@
1
1
  //#region src/requestHandlers/deviceHandlers.d.ts
2
- declare const defaultDeviceId = "a1";
3
- declare const inventoryDevice: {
2
+ export declare const defaultDeviceId = "a1";
3
+ export declare const inventoryDevice: {
4
4
  id: string;
5
5
  attributes: ({
6
6
  name: string;
@@ -14,7 +14,7 @@ declare const inventoryDevice: {
14
14
  check_in_time: string;
15
15
  updated_ts: string;
16
16
  };
17
- declare const deviceComponents: {
17
+ export declare const deviceComponents: {
18
18
  R123: {
19
19
  name: string;
20
20
  value: string;
@@ -26,7 +26,6 @@ declare const deviceComponents: {
26
26
  scope: string;
27
27
  }[];
28
28
  };
29
- declare const deviceHandlers: import("msw").HttpHandler[];
29
+ export declare const deviceHandlers: import("msw").HttpHandler[];
30
30
  //#endregion
31
- export { defaultDeviceId, deviceComponents, deviceHandlers, inventoryDevice };
32
31
  //# sourceMappingURL=deviceHandlers.d.cts.map
@@ -1,6 +1,6 @@
1
1
  //#region src/requestHandlers/deviceHandlers.d.ts
2
- declare const defaultDeviceId = "a1";
3
- declare const inventoryDevice: {
2
+ export declare const defaultDeviceId = "a1";
3
+ export declare const inventoryDevice: {
4
4
  id: string;
5
5
  attributes: ({
6
6
  name: string;
@@ -14,7 +14,7 @@ declare const inventoryDevice: {
14
14
  check_in_time: string;
15
15
  updated_ts: string;
16
16
  };
17
- declare const deviceComponents: {
17
+ export declare const deviceComponents: {
18
18
  R123: {
19
19
  name: string;
20
20
  value: string;
@@ -26,7 +26,6 @@ declare const deviceComponents: {
26
26
  scope: string;
27
27
  }[];
28
28
  };
29
- declare const deviceHandlers: import("msw").HttpHandler[];
29
+ export declare const deviceHandlers: import("msw").HttpHandler[];
30
30
  //#endregion
31
- export { defaultDeviceId, deviceComponents, deviceHandlers, inventoryDevice };
32
31
  //# sourceMappingURL=deviceHandlers.d.ts.map