@northern.tech/testing 0.8.3 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/chunk-CKQMccvm.cjs +28 -0
  2. package/dist/mockData.cjs +1288 -953
  3. package/dist/mockData.cjs.map +1 -1
  4. package/dist/mockData.d.cts +595 -569
  5. package/dist/mockData.d.ts +595 -569
  6. package/dist/mockData.js +1278 -45
  7. package/dist/mockData.js.map +1 -1
  8. package/dist/openapi.yaml.d.cjs +0 -0
  9. package/dist/openapi.yaml.d.cts +4 -0
  10. package/dist/openapi.yaml.d.ts +5 -0
  11. package/dist/requestHandlers/deploymentHandlers.cjs +181 -1031
  12. package/dist/requestHandlers/deploymentHandlers.cjs.map +1 -1
  13. package/dist/requestHandlers/deploymentHandlers.d.cts +5 -3
  14. package/dist/requestHandlers/deploymentHandlers.d.ts +5 -3
  15. package/dist/requestHandlers/deploymentHandlers.js +190 -6
  16. package/dist/requestHandlers/deploymentHandlers.js.map +1 -1
  17. package/dist/requestHandlers/deviceHandlers.cjs +427 -1090
  18. package/dist/requestHandlers/deviceHandlers.cjs.map +1 -1
  19. package/dist/requestHandlers/deviceHandlers.d.cts +17 -15
  20. package/dist/requestHandlers/deviceHandlers.d.ts +17 -15
  21. package/dist/requestHandlers/deviceHandlers.js +427 -10
  22. package/dist/requestHandlers/deviceHandlers.js.map +1 -1
  23. package/dist/requestHandlers/monitorHandlers.cjs +21 -831
  24. package/dist/requestHandlers/monitorHandlers.cjs.map +1 -1
  25. package/dist/requestHandlers/monitorHandlers.d.cts +5 -3
  26. package/dist/requestHandlers/monitorHandlers.d.ts +5 -3
  27. package/dist/requestHandlers/monitorHandlers.js +21 -7
  28. package/dist/requestHandlers/monitorHandlers.js.map +1 -1
  29. package/dist/requestHandlers/organizationHandlers.cjs +296 -1113
  30. package/dist/requestHandlers/organizationHandlers.cjs.map +1 -1
  31. package/dist/requestHandlers/organizationHandlers.d.cts +5 -3
  32. package/dist/requestHandlers/organizationHandlers.d.ts +5 -3
  33. package/dist/requestHandlers/organizationHandlers.js +308 -6
  34. package/dist/requestHandlers/organizationHandlers.js.map +1 -1
  35. package/dist/requestHandlers/releaseHandlers.cjs +157 -960
  36. package/dist/requestHandlers/releaseHandlers.cjs.map +1 -1
  37. package/dist/requestHandlers/releaseHandlers.d.cts +5 -3
  38. package/dist/requestHandlers/releaseHandlers.d.ts +5 -3
  39. package/dist/requestHandlers/releaseHandlers.js +158 -6
  40. package/dist/requestHandlers/releaseHandlers.js.map +1 -1
  41. package/dist/requestHandlers/requestHandlers.cjs +26 -2000
  42. package/dist/requestHandlers/requestHandlers.cjs.map +1 -1
  43. package/dist/requestHandlers/requestHandlers.d.cts +5 -4
  44. package/dist/requestHandlers/requestHandlers.d.ts +5 -3
  45. package/dist/requestHandlers/requestHandlers.js +24 -32
  46. package/dist/requestHandlers/requestHandlers.js.map +1 -1
  47. package/dist/requestHandlers/userHandlers.cjs +139 -990
  48. package/dist/requestHandlers/userHandlers.cjs.map +1 -1
  49. package/dist/requestHandlers/userHandlers.d.cts +5 -3
  50. package/dist/requestHandlers/userHandlers.d.ts +5 -3
  51. package/dist/requestHandlers/userHandlers.js +139 -7
  52. package/dist/requestHandlers/userHandlers.js.map +1 -1
  53. package/dist/requestHandlers/validation.cjs +4 -0
  54. package/dist/requestHandlers/validation.d.cts +6 -0
  55. package/dist/requestHandlers/validation.d.ts +6 -0
  56. package/dist/requestHandlers/validation.js +2 -0
  57. package/dist/setupTests.cjs +148 -992
  58. package/dist/setupTests.cjs.map +1 -1
  59. package/dist/setupTests.d.cts +68 -66
  60. package/dist/setupTests.d.ts +68 -66
  61. package/dist/setupTests.js +114 -117
  62. package/dist/setupTests.js.map +1 -1
  63. package/dist/theme/light.cjs +7 -39
  64. package/dist/theme/light.cjs.map +1 -1
  65. package/dist/theme/light.d.cts +5 -10
  66. package/dist/theme/light.d.ts +5 -10
  67. package/dist/theme/light.js +7 -6
  68. package/dist/theme/light.js.map +1 -1
  69. package/dist/theme/mui.d.cjs +0 -0
  70. package/dist/theme/mui.d.cts +11 -0
  71. package/dist/theme/mui.d.ts +11 -0
  72. package/dist/utils.cjs +18 -68
  73. package/dist/utils.cjs.map +1 -1
  74. package/dist/utils.d.cts +6 -67
  75. package/dist/utils.d.ts +6 -67
  76. package/dist/utils.js +16 -10
  77. package/dist/utils.js.map +1 -1
  78. package/dist/validation-CsEFO-Cv.cjs +77 -0
  79. package/dist/validation-CsEFO-Cv.cjs.map +1 -0
  80. package/dist/validation-JDM_vsFz.js +64 -0
  81. package/dist/validation-JDM_vsFz.js.map +1 -0
  82. package/package.json +8 -6
  83. package/dist/chunk-3CVNBMEF.js +0 -161
  84. package/dist/chunk-3CVNBMEF.js.map +0 -1
  85. package/dist/chunk-7GNK7IRV.js +0 -29
  86. package/dist/chunk-7GNK7IRV.js.map +0 -1
  87. package/dist/chunk-AP4MOFMD.js +0 -239
  88. package/dist/chunk-AP4MOFMD.js.map +0 -1
  89. package/dist/chunk-DOHA53UH.js +0 -301
  90. package/dist/chunk-DOHA53UH.js.map +0 -1
  91. package/dist/chunk-H4J7L3HX.js +0 -188
  92. package/dist/chunk-H4J7L3HX.js.map +0 -1
  93. package/dist/chunk-HRGVXWMH.js +0 -17
  94. package/dist/chunk-HRGVXWMH.js.map +0 -1
  95. package/dist/chunk-KCLTR6QS.js +0 -34
  96. package/dist/chunk-KCLTR6QS.js.map +0 -1
  97. package/dist/chunk-M2TKDOPD.js +0 -266
  98. package/dist/chunk-M2TKDOPD.js.map +0 -1
  99. package/dist/chunk-O42KIJXJ.js +0 -933
  100. package/dist/chunk-O42KIJXJ.js.map +0 -1
  101. /package/dist/{baseTestConfig.json → public/baseTestConfig.json} +0 -0
@@ -1,301 +0,0 @@
1
- import {
2
- defaultCreationDate,
3
- defaultMacAddress,
4
- mockApiResponses
5
- } from "./chunk-O42KIJXJ.js";
6
-
7
- // src/requestHandlers/deviceHandlers.ts
8
- import {
9
- DEVICE_FILTERING_OPTIONS,
10
- DEVICE_STATES,
11
- deviceAuthV2,
12
- deviceConfig,
13
- deviceConnect,
14
- headerNames,
15
- inventoryApiUrl,
16
- inventoryApiUrlV2,
17
- iotManagerBaseURL
18
- } from "@northern.tech/utils/constants";
19
- import { HttpResponse, http } from "msw";
20
- var defaultDeviceId = "a1";
21
- var deviceAuthDevice = {
22
- id: defaultDeviceId,
23
- identity_data: { mac: defaultMacAddress },
24
- status: "accepted",
25
- decommissioning: false,
26
- created_ts: defaultCreationDate,
27
- updated_ts: "2019-01-01T09:25:00.000Z",
28
- auth_sets: [
29
- {
30
- id: "auth1",
31
- identity_data: { mac: defaultMacAddress },
32
- pubkey: "-----BEGIN PUBLIC KEY-----\nMIIBojWELzgJ62hcXIhAfqfoNiaB1326XZByZwcnHr5BuSPAgMBAAE=\n-----END PUBLIC KEY-----\n",
33
- ts: defaultCreationDate,
34
- status: "accepted"
35
- }
36
- ]
37
- };
38
- var checkInTimeExact = "2019-01-01T10:25:00.000Z";
39
- var updatedTime = "2019-01-01T09:25:00.000Z";
40
- var inventoryDevice = {
41
- id: defaultDeviceId,
42
- attributes: [
43
- { name: "network_interfaces", value: ["eth0", "wlan0"], scope: "inventory" },
44
- { name: "kernel", value: "Linux version 4.19.75-v7l+", scope: "inventory" },
45
- { name: "artifact_name", value: "raspotifyInstaller", scope: "inventory" },
46
- { name: "ipv6_wlan0", value: "fe80::68d9:8453:3e9c:7c80/64", scope: "inventory" },
47
- { name: "mac_eth0", value: defaultMacAddress, scope: "inventory" },
48
- { name: "rootfs_type", value: "ext4", scope: "inventory" },
49
- { name: "mender_bootloader_integration", value: "unknown", scope: "inventory" },
50
- { name: "cpu_model", value: "ARMv7 Processor rev 3 (v7l)", scope: "inventory" },
51
- { name: "hostname", value: "raspberrypi", scope: "inventory" },
52
- { name: "mender_client_version", value: "2.1.0", scope: "inventory" },
53
- { name: "ipv4_wlan0", value: "192.168.10.141/24", scope: "inventory" },
54
- { name: "device_type", value: "raspberrypi4", scope: "inventory" },
55
- { name: "mem_total_kB", value: "1986024", scope: "inventory" },
56
- { name: "mac_wlan0", value: "dc:a6:32:12:ad:c0", scope: "inventory" },
57
- { name: "os", value: "Raspbian GNU/Linux 10 (buster)", scope: "inventory" },
58
- { name: "created_ts", value: defaultCreationDate, scope: "system" },
59
- { name: "updated_ts", value: updatedTime, scope: "system" },
60
- { name: "status", value: "accepted", scope: "identity" },
61
- { name: "mac", value: defaultMacAddress, scope: "identity" },
62
- { name: "group", value: "test", scope: "system" }
63
- ],
64
- check_in_time: checkInTimeExact,
65
- updated_ts: updatedTime
66
- };
67
- var deviceAttributes = [
68
- { name: "status", scope: "identity", count: 5 },
69
- { name: "created_ts", scope: "system", count: 5 },
70
- { name: "updated_ts", scope: "system", count: 5 },
71
- { name: "mac", scope: "identity", count: 1 },
72
- { name: "artifact_name", scope: "inventory", count: 1 },
73
- { name: "cpu_model", scope: "inventory", count: 1 },
74
- { name: "device_type", scope: "inventory", count: 1 },
75
- { name: "hostname", scope: "inventory", count: 1 },
76
- { name: "ipv4_wlan0", scope: "inventory", count: 1 },
77
- { name: "ipv6_wlan0", scope: "inventory", count: 1 },
78
- { name: "kernel", scope: "inventory", count: 1 },
79
- { name: "mac_eth0", scope: "inventory", count: 1 },
80
- { name: "mac_wlan0", scope: "inventory", count: 1 },
81
- { name: "mem_total_kB", scope: "inventory", count: 1 },
82
- { name: "mender_bootloader_integration", scope: "inventory", count: 1 },
83
- { name: "mender_client_version", scope: "inventory", count: 1 },
84
- { name: "network_interfaces", scope: "inventory", count: 1 },
85
- { name: "os", scope: "inventory", count: 1 },
86
- { name: "rootfs_type", scope: "inventory", count: 1 },
87
- { name: "group", scope: "system", count: 1 }
88
- ];
89
- var searchHandler = async ({ request }) => {
90
- const { page, per_page, filters } = await request.json();
91
- if ([page, per_page, filters].some((item) => !item)) {
92
- return new HttpResponse(null, { status: 509 });
93
- }
94
- const filter = filters.find((filter2) => filter2.scope === "identity" && filter2.attribute === "status" && Object.values(DEVICE_STATES).includes(filter2.value));
95
- const status = filter?.value || "";
96
- if (!status || filters.length > 1) {
97
- if (filters.find((filter2) => filter2.attribute === "group" && filter2.value.includes(Object.keys(mockApiResponses.devices.groups.byId)[0]))) {
98
- return new HttpResponse(JSON.stringify([inventoryDevice, { ...inventoryDevice, id: "b1" }]), {
99
- headers: { [headerNames.total]: 2 }
100
- });
101
- }
102
- if (filters.find((filter2) => filter2.scope === "monitor" && ["failed_last_update", "alerts", "auth_request"].includes(filter2.attribute))) {
103
- return new HttpResponse(JSON.stringify([inventoryDevice]), { headers: { [headerNames.total]: 4 } });
104
- }
105
- return new HttpResponse(JSON.stringify([]), { headers: { [headerNames.total]: 0 } });
106
- }
107
- let deviceList = Array.from({ length: mockApiResponses.devices.byStatus[status].total }, (_, index) => ({
108
- ...inventoryDevice,
109
- attributes: [...inventoryDevice.attributes, { name: "test-count", value: index, scope: "system" }],
110
- id: `${String.fromCharCode("a".charCodeAt(0) + index)}1`
111
- }));
112
- deviceList = deviceList.slice((page - 1) * per_page, page * per_page);
113
- return new HttpResponse(JSON.stringify(deviceList), { headers: { [headerNames.total]: mockApiResponses.devices.byStatus[status].total } });
114
- };
115
- var deviceHandlers = [
116
- http.delete(`${deviceAuthV2}/devices/:deviceId/auth/:authId`, ({ params: { authId, deviceId } }) => {
117
- if (mockApiResponses.devices.byId[deviceId].auth_sets.find((authSet) => authSet.id === authId)) {
118
- return new HttpResponse(null, { status: 200 });
119
- }
120
- return new HttpResponse(null, { status: 501 });
121
- }),
122
- http.delete(`${deviceAuthV2}/devices/:deviceId`, ({ params: { deviceId } }) => {
123
- if (mockApiResponses.devices.byId[deviceId]) {
124
- return new HttpResponse(null, { status: 200 });
125
- }
126
- return new HttpResponse(null, { status: 502 });
127
- }),
128
- http.delete(`${inventoryApiUrl}/groups/:group`, ({ params: { group } }) => {
129
- if (mockApiResponses.devices.groups.byId[group]) {
130
- return new HttpResponse(null, { status: 200 });
131
- }
132
- return new HttpResponse(null, { status: 515 });
133
- }),
134
- http.delete(`${inventoryApiUrl}/groups/:group/devices`, async ({ params: { group }, request }) => {
135
- const deviceIds = await request.json();
136
- if (mockApiResponses.devices.groups.byId[group] && deviceIds.every((id) => !!mockApiResponses.devices.byId[id])) {
137
- return new HttpResponse(null, { status: 200 });
138
- }
139
- return new HttpResponse(null, { status: 503 });
140
- }),
141
- http.delete(`${inventoryApiUrlV2}/filters/:filterId`, ({ params: { filterId } }) => {
142
- if (Object.values(mockApiResponses.devices.groups.byId).find((group) => group.id === filterId)) {
143
- return new HttpResponse(null, { status: 200 });
144
- }
145
- return new HttpResponse(null, { status: 504 });
146
- }),
147
- http.get(`${deviceAuthV2}/devices`, ({ request }) => {
148
- const { searchParams } = new URL(request.url);
149
- const deviceIds = searchParams.getAll("id");
150
- if (deviceIds.every((id) => !!mockApiResponses.devices.byId[id])) {
151
- return HttpResponse.json(deviceIds.map((id) => ({ ...deviceAuthDevice, id })));
152
- }
153
- return new HttpResponse(null, { status: 505 });
154
- }),
155
- http.get(`${deviceAuthV2}/limits/devices`, () => HttpResponse.json(mockApiResponses.devices.limits)),
156
- http.get(`${inventoryApiUrl}/devices/:deviceId`, ({ params: { deviceId } }) => {
157
- if (mockApiResponses.devices.byId[deviceId]) {
158
- return HttpResponse.json(inventoryDevice);
159
- }
160
- return new HttpResponse(null, { status: 506 });
161
- }),
162
- http.put(`${inventoryApiUrl}/devices/:deviceId/tags`, async ({ params: { deviceId }, request }) => {
163
- const tags = await request.json();
164
- if (!mockApiResponses.devices.byId[deviceId] && !Array.isArray(tags) && !tags.every((item) => item.name && item.value)) {
165
- return new HttpResponse(null, { status: 506 });
166
- }
167
- return HttpResponse.json(tags);
168
- }),
169
- http.get(`${inventoryApiUrl}/groups`, () => {
170
- const groups = Object.entries(mockApiResponses.devices.groups.byId).reduce((accu, [groupName, group]) => {
171
- if (!group.id) {
172
- accu.push(groupName);
173
- }
174
- return accu;
175
- }, []);
176
- return HttpResponse.json(groups);
177
- }),
178
- http.get(`${inventoryApiUrlV2}/filters/attributes`, () => HttpResponse.json(deviceAttributes)),
179
- http.get(
180
- `${inventoryApiUrlV2}/filters`,
181
- () => HttpResponse.json([
182
- {
183
- id: "filter1",
184
- name: "testGroupDynamic",
185
- terms: [
186
- { scope: "identity", attribute: "id", type: "$in", value: [defaultDeviceId] },
187
- { scope: "identity", attribute: "mac", type: "$exists", value: false },
188
- { scope: "identity", attribute: "kernel", type: "$exists", value: true }
189
- ]
190
- }
191
- ])
192
- ),
193
- http.patch(`${inventoryApiUrl}/groups/:group/devices`, async ({ params: { group }, request }) => {
194
- const deviceIds = await request.json();
195
- if (!!group && deviceIds.every((id) => !!mockApiResponses.devices.byId[id])) {
196
- return new HttpResponse(null, { status: 200 });
197
- }
198
- return new HttpResponse(null, { status: 508 });
199
- }),
200
- http.post(`${deviceAuthV2}/devices`, async ({ request }) => {
201
- const authset = await request.json();
202
- if (Object.values(mockApiResponses.devices.byId).some(
203
- (device) => device.auth_sets.some((deviceAuthSet) => deviceAuthSet.pubkey == authset.pubkey || deviceAuthSet.identity_data == authset.identity_data)
204
- )) {
205
- return new HttpResponse(null, { status: 409 });
206
- }
207
- return new HttpResponse(null, { status: 200 });
208
- }),
209
- http.post(`${inventoryApiUrlV2}/filters/search`, searchHandler),
210
- http.post(`${inventoryApiUrlV2}/filters`, async ({ request }) => {
211
- const { name, terms } = await request.json();
212
- if ([name, terms].some((item) => !item) || mockApiResponses.devices.groups[name] || !terms.every((term) => DEVICE_FILTERING_OPTIONS[term.type] && ["identity", "inventory", "system"].includes(term.scope) && !!term.value && !!term.attribute)) {
213
- return new HttpResponse(null, { status: 510 });
214
- }
215
- return new HttpResponse(JSON.stringify({}), { headers: { location: "find/me/here/createdFilterId" } });
216
- }),
217
- http.get(
218
- `${inventoryApiUrlV2}/statistics`,
219
- async () => HttpResponse.json({
220
- devices_by_status: {
221
- accepted: { standard: mockApiResponses.devices.byStatus.accepted.total, micro: 0, system: 0 },
222
- pending: { standard: mockApiResponses.devices.byStatus.pending.total, micro: 0, system: 0 }
223
- }
224
- })
225
- ),
226
- http.put(`${deviceAuthV2}/devices/:deviceId/auth/:authId/status`, async ({ params: { authId, deviceId }, request }) => {
227
- const { status } = await request.json();
228
- if (mockApiResponses.devices.byId[deviceId].auth_sets.find((authSet) => authSet.id === authId) && DEVICE_STATES[status]) {
229
- return new HttpResponse(null, { status: 200 });
230
- }
231
- return new HttpResponse(null, { status: 511 });
232
- }),
233
- http.get(`${deviceConfig}/:deviceId`, ({ params: { deviceId } }) => {
234
- if (deviceId === "testId") {
235
- return new HttpResponse(JSON.stringify({ error: { status_code: 404 } }), { status: 404 });
236
- }
237
- if (mockApiResponses.devices.byId[deviceId]) {
238
- return HttpResponse.json({
239
- configured: { test: true, something: "else", aNumber: 42 },
240
- deployment_id: "config1",
241
- reported: { test: true, something: "else", aNumber: 42 },
242
- updated_ts: updatedTime,
243
- reported_ts: "2019-01-01T09:25:01.000Z"
244
- });
245
- }
246
- return new HttpResponse(null, { status: 512 });
247
- }),
248
- http.put(`${deviceConfig}/:deviceId`, async ({ params: { deviceId }, request }) => {
249
- const body = await request.text();
250
- if (body.includes("evilValue")) {
251
- return new HttpResponse(null, { status: 418 });
252
- }
253
- return new HttpResponse(null, { status: mockApiResponses.devices.byId[deviceId] ? 201 : 513 });
254
- }),
255
- http.post(`${deviceConfig}/:deviceId/deploy`, ({ params: { deviceId } }) => {
256
- if (mockApiResponses.devices.byId[deviceId]) {
257
- return HttpResponse.json({ deployment_id: "config1" });
258
- }
259
- return new HttpResponse(null, { status: 514 });
260
- }),
261
- http.get(`${deviceConnect}/devices/:deviceId`, ({ params: { deviceId } }) => {
262
- if (deviceId === "testId") {
263
- return new HttpResponse(JSON.stringify({ error: { status_code: 404 } }), { status: 404 });
264
- }
265
- if (mockApiResponses.devices.byId[deviceId]) {
266
- return HttpResponse.json({ status: "connected", updated_ts: mockApiResponses.devices.byId[deviceId].updated_ts });
267
- }
268
- return new HttpResponse(null, { status: 512 });
269
- }),
270
- http.post(`${deviceConnect}/devices/:deviceId/:action`, ({ params: { deviceId, action } }) => {
271
- if (["check-update", "send-inventory"].includes(action) && mockApiResponses.devices.byId[deviceId]) {
272
- return new HttpResponse(null, { status: 202 });
273
- }
274
- return new HttpResponse(null, { status: 518 });
275
- }),
276
- http.get(`${iotManagerBaseURL}/devices/:deviceId/state`, ({ params: { deviceId } }) => {
277
- if (mockApiResponses.devices.byId[deviceId]) {
278
- return HttpResponse.json({ deployment_id: mockApiResponses.deployments.byId.d1.id });
279
- }
280
- return new HttpResponse(null, { status: 515 });
281
- }),
282
- http.put(`${iotManagerBaseURL}/devices/:deviceId/state/:integrationId`, async ({ params: { deviceId }, request }) => {
283
- const body = await request.json();
284
- if (mockApiResponses.devices.byId[deviceId] && body) {
285
- return HttpResponse.json({ deployment_id: mockApiResponses.deployments.byId.d1.id });
286
- }
287
- return new HttpResponse(null, { status: 516 });
288
- }),
289
- http.put(
290
- `${deviceConnect}/devices/:deviceId/upload`,
291
- ({ params: { deviceId } }) => new HttpResponse(null, { status: mockApiResponses.devices.byId[deviceId] ? 200 : 517 })
292
- ),
293
- http.get(`${deviceAuthV2}/license`, () => HttpResponse.text("test,report"))
294
- ];
295
-
296
- export {
297
- defaultDeviceId,
298
- inventoryDevice,
299
- deviceHandlers
300
- };
301
- //# sourceMappingURL=chunk-DOHA53UH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/requestHandlers/deviceHandlers.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 {\n DEVICE_FILTERING_OPTIONS,\n DEVICE_STATES,\n deviceAuthV2,\n deviceConfig,\n deviceConnect,\n headerNames,\n inventoryApiUrl,\n inventoryApiUrlV2,\n iotManagerBaseURL\n} from '@northern.tech/utils/constants';\nimport { HttpResponse, http } from 'msw';\n\nimport { defaultCreationDate, defaultMacAddress, mockApiResponses } from '../mockData';\n\nexport const defaultDeviceId = 'a1';\n\nconst deviceAuthDevice = {\n id: defaultDeviceId,\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\nconst checkInTimeExact = '2019-01-01T10:25:00.000Z';\nconst updatedTime = '2019-01-01T09:25:00.000Z';\n\nexport const inventoryDevice = {\n id: defaultDeviceId,\n attributes: [\n { name: 'network_interfaces', value: ['eth0', 'wlan0'], scope: 'inventory' },\n { name: 'kernel', value: 'Linux version 4.19.75-v7l+', scope: 'inventory' },\n { name: 'artifact_name', value: 'raspotifyInstaller', scope: 'inventory' },\n { name: 'ipv6_wlan0', value: 'fe80::68d9:8453:3e9c:7c80/64', scope: 'inventory' },\n { name: 'mac_eth0', value: defaultMacAddress, scope: 'inventory' },\n { name: 'rootfs_type', value: 'ext4', scope: 'inventory' },\n { name: 'mender_bootloader_integration', value: 'unknown', scope: 'inventory' },\n { name: 'cpu_model', value: 'ARMv7 Processor rev 3 (v7l)', scope: 'inventory' },\n { name: 'hostname', value: 'raspberrypi', scope: 'inventory' },\n { name: 'mender_client_version', value: '2.1.0', scope: 'inventory' },\n { name: 'ipv4_wlan0', value: '192.168.10.141/24', scope: 'inventory' },\n { name: 'device_type', value: 'raspberrypi4', scope: 'inventory' },\n { name: 'mem_total_kB', value: '1986024', scope: 'inventory' },\n { name: 'mac_wlan0', value: 'dc:a6:32:12:ad:c0', scope: 'inventory' },\n { name: 'os', value: 'Raspbian GNU/Linux 10 (buster)', scope: 'inventory' },\n { name: 'created_ts', value: defaultCreationDate, scope: 'system' },\n { name: 'updated_ts', value: updatedTime, scope: 'system' },\n { name: 'status', value: 'accepted', scope: 'identity' },\n { name: 'mac', value: defaultMacAddress, scope: 'identity' },\n { name: 'group', value: 'test', scope: 'system' }\n ],\n check_in_time: checkInTimeExact,\n updated_ts: updatedTime\n};\n\nconst deviceAttributes = [\n { name: 'status', scope: 'identity', count: 5 },\n { name: 'created_ts', scope: 'system', count: 5 },\n { name: 'updated_ts', scope: 'system', count: 5 },\n { name: 'mac', scope: 'identity', count: 1 },\n { name: 'artifact_name', scope: 'inventory', count: 1 },\n { name: 'cpu_model', scope: 'inventory', count: 1 },\n { name: 'device_type', scope: 'inventory', count: 1 },\n { name: 'hostname', scope: 'inventory', count: 1 },\n { name: 'ipv4_wlan0', scope: 'inventory', count: 1 },\n { name: 'ipv6_wlan0', scope: 'inventory', count: 1 },\n { name: 'kernel', scope: 'inventory', count: 1 },\n { name: 'mac_eth0', scope: 'inventory', count: 1 },\n { name: 'mac_wlan0', scope: 'inventory', count: 1 },\n { name: 'mem_total_kB', scope: 'inventory', count: 1 },\n { name: 'mender_bootloader_integration', scope: 'inventory', count: 1 },\n { name: 'mender_client_version', scope: 'inventory', count: 1 },\n { name: 'network_interfaces', scope: 'inventory', count: 1 },\n { name: 'os', scope: 'inventory', count: 1 },\n { name: 'rootfs_type', scope: 'inventory', count: 1 },\n { name: 'group', scope: 'system', count: 1 }\n];\n\nconst searchHandler = async ({ request }) => {\n const { page, per_page, filters } = await request.json();\n if ([page, per_page, filters].some(item => !item)) {\n return new HttpResponse(null, { status: 509 });\n }\n const filter = filters.find(filter => filter.scope === 'identity' && filter.attribute === 'status' && Object.values(DEVICE_STATES).includes(filter.value));\n const status = filter?.value || '';\n if (!status || filters.length > 1) {\n if (filters.find(filter => filter.attribute === 'group' && filter.value.includes(Object.keys(mockApiResponses.devices.groups.byId)[0]))) {\n return new HttpResponse(JSON.stringify([inventoryDevice, { ...inventoryDevice, id: 'b1' }]), {\n headers: { [headerNames.total]: 2 }\n });\n }\n if (filters.find(filter => filter.scope === 'monitor' && ['failed_last_update', 'alerts', 'auth_request'].includes(filter.attribute))) {\n return new HttpResponse(JSON.stringify([inventoryDevice]), { headers: { [headerNames.total]: 4 } });\n }\n return new HttpResponse(JSON.stringify([]), { headers: { [headerNames.total]: 0 } });\n }\n let deviceList = Array.from({ length: mockApiResponses.devices.byStatus[status].total }, (_, index) => ({\n ...inventoryDevice,\n attributes: [...inventoryDevice.attributes, { name: 'test-count', value: index, scope: 'system' }],\n id: `${String.fromCharCode('a'.charCodeAt(0) + index)}1`\n }));\n deviceList = deviceList.slice((page - 1) * per_page, page * per_page);\n return new HttpResponse(JSON.stringify(deviceList), { headers: { [headerNames.total]: mockApiResponses.devices.byStatus[status].total } });\n};\n\nexport const deviceHandlers = [\n http.delete(`${deviceAuthV2}/devices/:deviceId/auth/:authId`, ({ params: { authId, deviceId } }) => {\n if (mockApiResponses.devices.byId[deviceId].auth_sets.find(authSet => authSet.id === authId)) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 501 });\n }),\n http.delete(`${deviceAuthV2}/devices/:deviceId`, ({ params: { deviceId } }) => {\n if (mockApiResponses.devices.byId[deviceId]) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 502 });\n }),\n http.delete(`${inventoryApiUrl}/groups/:group`, ({ params: { group } }) => {\n if (mockApiResponses.devices.groups.byId[group]) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 515 });\n }),\n http.delete(`${inventoryApiUrl}/groups/:group/devices`, async ({ params: { group }, request }) => {\n const deviceIds = await request.json();\n if (mockApiResponses.devices.groups.byId[group] && deviceIds.every(id => !!mockApiResponses.devices.byId[id])) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 503 });\n }),\n http.delete(`${inventoryApiUrlV2}/filters/:filterId`, ({ params: { filterId } }) => {\n if (Object.values(mockApiResponses.devices.groups.byId).find(group => group.id === filterId)) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 504 });\n }),\n http.get(`${deviceAuthV2}/devices`, ({ request }) => {\n const { searchParams } = new URL(request.url);\n const deviceIds = searchParams.getAll('id');\n if (deviceIds.every(id => !!mockApiResponses.devices.byId[id])) {\n return HttpResponse.json(deviceIds.map(id => ({ ...deviceAuthDevice, id })));\n }\n return new HttpResponse(null, { status: 505 });\n }),\n http.get(`${deviceAuthV2}/limits/devices`, () => HttpResponse.json(mockApiResponses.devices.limits)),\n http.get(`${inventoryApiUrl}/devices/:deviceId`, ({ params: { deviceId } }) => {\n if (mockApiResponses.devices.byId[deviceId]) {\n return HttpResponse.json(inventoryDevice);\n }\n return new HttpResponse(null, { status: 506 });\n }),\n http.put(`${inventoryApiUrl}/devices/:deviceId/tags`, async ({ params: { deviceId }, request }) => {\n const tags = await request.json();\n if (!mockApiResponses.devices.byId[deviceId] && !Array.isArray(tags) && !tags.every(item => item.name && item.value)) {\n return new HttpResponse(null, { status: 506 });\n }\n return HttpResponse.json(tags);\n }),\n http.get(`${inventoryApiUrl}/groups`, () => {\n const groups = Object.entries(mockApiResponses.devices.groups.byId).reduce((accu, [groupName, group]) => {\n if (!group.id) {\n accu.push(groupName);\n }\n return accu;\n }, []);\n return HttpResponse.json(groups);\n }),\n http.get(`${inventoryApiUrlV2}/filters/attributes`, () => HttpResponse.json(deviceAttributes)),\n http.get(`${inventoryApiUrlV2}/filters`, () =>\n HttpResponse.json([\n {\n id: 'filter1',\n name: 'testGroupDynamic',\n terms: [\n { scope: 'identity', attribute: 'id', type: '$in', value: [defaultDeviceId] },\n { scope: 'identity', attribute: 'mac', type: '$exists', value: false },\n { scope: 'identity', attribute: 'kernel', type: '$exists', value: true }\n ]\n }\n ])\n ),\n http.patch(`${inventoryApiUrl}/groups/:group/devices`, async ({ params: { group }, request }) => {\n const deviceIds = await request.json();\n if (!!group && deviceIds.every(id => !!mockApiResponses.devices.byId[id])) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 508 });\n }),\n http.post(`${deviceAuthV2}/devices`, async ({ request }) => {\n const authset = await request.json();\n if (\n Object.values(mockApiResponses.devices.byId).some(device =>\n device.auth_sets.some(deviceAuthSet => deviceAuthSet.pubkey == authset.pubkey || deviceAuthSet.identity_data == authset.identity_data)\n )\n ) {\n return new HttpResponse(null, { status: 409 });\n }\n return new HttpResponse(null, { status: 200 });\n }),\n http.post(`${inventoryApiUrlV2}/filters/search`, searchHandler),\n http.post(`${inventoryApiUrlV2}/filters`, async ({ request }) => {\n const { name, terms } = await request.json();\n if (\n [name, terms].some(item => !item) ||\n mockApiResponses.devices.groups[name] ||\n !terms.every(term => DEVICE_FILTERING_OPTIONS[term.type] && ['identity', 'inventory', 'system'].includes(term.scope) && !!term.value && !!term.attribute)\n ) {\n return new HttpResponse(null, { status: 510 });\n }\n return new HttpResponse(JSON.stringify({}), { headers: { location: 'find/me/here/createdFilterId' } });\n }),\n http.get(`${inventoryApiUrlV2}/statistics`, async () =>\n HttpResponse.json({\n devices_by_status: {\n accepted: { standard: mockApiResponses.devices.byStatus.accepted.total, micro: 0, system: 0 },\n pending: { standard: mockApiResponses.devices.byStatus.pending.total, micro: 0, system: 0 }\n }\n })\n ),\n http.put(`${deviceAuthV2}/devices/:deviceId/auth/:authId/status`, async ({ params: { authId, deviceId }, request }) => {\n const { status } = await request.json();\n if (mockApiResponses.devices.byId[deviceId].auth_sets.find(authSet => authSet.id === authId) && DEVICE_STATES[status]) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 511 });\n }),\n http.get(`${deviceConfig}/:deviceId`, ({ params: { deviceId } }) => {\n if (deviceId === 'testId') {\n return new HttpResponse(JSON.stringify({ error: { status_code: 404 } }), { status: 404 });\n }\n if (mockApiResponses.devices.byId[deviceId]) {\n return HttpResponse.json({\n configured: { test: true, something: 'else', aNumber: 42 },\n deployment_id: 'config1',\n reported: { test: true, something: 'else', aNumber: 42 },\n updated_ts: updatedTime,\n reported_ts: '2019-01-01T09:25:01.000Z'\n });\n }\n return new HttpResponse(null, { status: 512 });\n }),\n http.put(`${deviceConfig}/:deviceId`, async ({ params: { deviceId }, request }) => {\n const body = await request.text();\n if (body.includes('evilValue')) {\n return new HttpResponse(null, { status: 418 });\n }\n return new HttpResponse(null, { status: mockApiResponses.devices.byId[deviceId] ? 201 : 513 });\n }),\n http.post(`${deviceConfig}/:deviceId/deploy`, ({ params: { deviceId } }) => {\n if (mockApiResponses.devices.byId[deviceId]) {\n return HttpResponse.json({ deployment_id: 'config1' });\n }\n return new HttpResponse(null, { status: 514 });\n }),\n http.get(`${deviceConnect}/devices/:deviceId`, ({ params: { deviceId } }) => {\n if (deviceId === 'testId') {\n return new HttpResponse(JSON.stringify({ error: { status_code: 404 } }), { status: 404 });\n }\n if (mockApiResponses.devices.byId[deviceId]) {\n return HttpResponse.json({ status: 'connected', updated_ts: mockApiResponses.devices.byId[deviceId].updated_ts });\n }\n return new HttpResponse(null, { status: 512 });\n }),\n http.post(`${deviceConnect}/devices/:deviceId/:action`, ({ params: { deviceId, action } }) => {\n if (['check-update', 'send-inventory'].includes(action) && mockApiResponses.devices.byId[deviceId]) {\n return new HttpResponse(null, { status: 202 });\n }\n return new HttpResponse(null, { status: 518 });\n }),\n http.get(`${iotManagerBaseURL}/devices/:deviceId/state`, ({ params: { deviceId } }) => {\n if (mockApiResponses.devices.byId[deviceId]) {\n return HttpResponse.json({ deployment_id: mockApiResponses.deployments.byId.d1.id });\n }\n return new HttpResponse(null, { status: 515 });\n }),\n http.put(`${iotManagerBaseURL}/devices/:deviceId/state/:integrationId`, async ({ params: { deviceId }, request }) => {\n const body = await request.json();\n if (mockApiResponses.devices.byId[deviceId] && body) {\n return HttpResponse.json({ deployment_id: mockApiResponses.deployments.byId.d1.id });\n }\n return new HttpResponse(null, { status: 516 });\n }),\n http.put(\n `${deviceConnect}/devices/:deviceId/upload`,\n ({ params: { deviceId } }) => new HttpResponse(null, { status: mockApiResponses.devices.byId[deviceId] ? 200 : 517 })\n ),\n http.get(`${deviceAuthV2}/license`, () => HttpResponse.text('test,report'))\n];\n"],"mappings":"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","names":["filter"]}
@@ -1,188 +0,0 @@
1
- import {
2
- accessTokens,
3
- defaultPassword,
4
- mockApiResponses,
5
- permissionSets,
6
- rbacRoles,
7
- testSsoId,
8
- token,
9
- userId
10
- } from "./chunk-O42KIJXJ.js";
11
-
12
- // src/requestHandlers/userHandlers.ts
13
- import { APPLICATION_JWT_CONTENT_TYPE, useradmApiUrl, useradmApiUrlv2 } from "@northern.tech/utils/constants";
14
- import { HttpResponse, http } from "msw";
15
- var userHandlers = [
16
- http.post(`${useradmApiUrl}/auth/login`, ({ request }) => {
17
- const authHeader = request.headers.get("authorization");
18
- const authInfo = atob(authHeader?.split(" ")[1]);
19
- const [user, password] = authInfo.split(":");
20
- if (!password) {
21
- return HttpResponse.json({ id: testSsoId, kind: "sso/saml" });
22
- } else if (password !== defaultPassword) {
23
- return new HttpResponse(null, { status: 401 });
24
- } else if (user.includes("limited")) {
25
- return new HttpResponse("limitedToken", { headers: { "Content-Type": APPLICATION_JWT_CONTENT_TYPE } });
26
- } else if (user.includes("2fa")) {
27
- return new HttpResponse(JSON.stringify({ error: "2fa needed" }), { status: 401 });
28
- }
29
- return new HttpResponse(token, { headers: { "Content-Type": APPLICATION_JWT_CONTENT_TYPE } });
30
- }),
31
- http.get(`https://hosted.mender.io${useradmApiUrl}/auth/magic/:id`, ({ params: { id } }) => {
32
- if (id) {
33
- return new HttpResponse("test", { headers: { "Set-Cookie": "JWT=test" } });
34
- }
35
- return new HttpResponse(null, { status: 400 });
36
- }),
37
- http.post(`${useradmApiUrl}/auth/logout`, () => new HttpResponse(null, { status: 200 })),
38
- http.post(`${useradmApiUrl}/auth/password-reset/:status`, async ({ params: { status }, request }) => {
39
- const { email, secret_hash, password } = await request.json();
40
- if (!["start", "complete"].includes(status) && ![email, secret_hash, password].some((item) => item)) {
41
- return new HttpResponse(null, { status: 560 });
42
- }
43
- if (status === "start" && email) {
44
- return new HttpResponse(null, { status: 200 });
45
- }
46
- if (status === "complete" && secret_hash && password) {
47
- return new HttpResponse(null, { status: 200 });
48
- }
49
- return new HttpResponse(null, { status: 561 });
50
- }),
51
- http.put(`${useradmApiUrl}/2faverify`, async ({ request }) => {
52
- const { token2fa } = await request.json();
53
- if (!token2fa) {
54
- return new HttpResponse(null, { status: 562 });
55
- }
56
- return new HttpResponse(null, { status: 200 });
57
- }),
58
- http.get(`${useradmApiUrl}/users`, () => HttpResponse.json(Object.values(mockApiResponses.users.byId))),
59
- http.get(`${useradmApiUrl}/users/me`, ({ request }) => {
60
- const authHeader = request.headers.get("authorization");
61
- if (authHeader?.includes("limited")) {
62
- return new HttpResponse(JSON.stringify({ error: "forbidden by role-based access control" }), { status: 403 });
63
- }
64
- return HttpResponse.json(mockApiResponses.users.byId[userId]);
65
- }),
66
- http.get(`${useradmApiUrl}/users/exists`, ({ request }) => {
67
- const url = new URL(request.url);
68
- const email = url.searchParams.get("email");
69
- if (!decodeURIComponent(email).includes("child+123")) {
70
- return new HttpResponse(null, { status: 578 });
71
- }
72
- return HttpResponse.json({ exists: true });
73
- }),
74
- http.get(`${useradmApiUrl}/users/:userId`, ({ params: { userId: userId2 } }) => {
75
- if (userId2 === "me" || mockApiResponses.users.byId[userId2]) {
76
- const user = userId2 === "me" ? userId : userId2;
77
- return HttpResponse.json(mockApiResponses.users.byId[user]);
78
- }
79
- return new HttpResponse(null, { status: 563 });
80
- }),
81
- http.post(`${useradmApiUrl}/users`, async ({ request }) => {
82
- const { email, password } = await request.json();
83
- if (email === "test@test.com" || [email, password].every((value) => value)) {
84
- return HttpResponse.json(mockApiResponses.users.byId.a1);
85
- }
86
- return new HttpResponse(null, { status: 564 });
87
- }),
88
- http.put(`${useradmApiUrl}/users/:userId`, async ({ params: { userId: userId2 }, request }) => {
89
- const { email, password, current_password } = await request.json();
90
- if (current_password === "bad_password") {
91
- return new HttpResponse(null, { status: 401 });
92
- }
93
- if (mockApiResponses.users.byId[userId2] && [email, password].some((value) => Object.values(mockApiResponses.users.byId[userId2]).includes(value)) || email === "test@test.com") {
94
- return new HttpResponse(null, { status: 200 });
95
- }
96
- return new HttpResponse(null, { status: 565 });
97
- }),
98
- http.delete(
99
- `${useradmApiUrl}/users/:userId`,
100
- ({ params: { userId: userId2 } }) => new HttpResponse(null, { status: mockApiResponses.users.byId[userId2] ? 200 : 566 })
101
- ),
102
- http.get(`${useradmApiUrl}/roles`, () => HttpResponse.json(rbacRoles)),
103
- http.post(`${useradmApiUrl}/roles`, async ({ request }) => {
104
- const { name, permissions } = await request.json();
105
- if ([name, permissions].every((value) => value) && permissions.every((permission) => permission.action && permission.object && permission.object.type && permission.object.value)) {
106
- return new HttpResponse(null, { status: 200 });
107
- }
108
- return new HttpResponse(null, { status: 567 });
109
- }),
110
- http.put(`${useradmApiUrl}/roles/:roleId`, async ({ params: { roleId }, request }) => {
111
- const { description, name, permissions } = await request.json();
112
- if (mockApiResponses.users.rolesById[roleId] && [description, name, permissions].some((value) => value)) {
113
- return new HttpResponse(null, { status: 200 });
114
- }
115
- return new HttpResponse(null, { status: 568 });
116
- }),
117
- http.post(`${useradmApiUrlv2}/support/feedback/product`, async () => new HttpResponse(null, { status: 200 })),
118
- http.delete(
119
- `${useradmApiUrl}/roles/:roleId`,
120
- ({ params: { roleId } }) => new HttpResponse(null, { status: mockApiResponses.users.rolesById[roleId] ? 200 : 569 })
121
- ),
122
- http.get(`${useradmApiUrlv2}/roles`, () => HttpResponse.json(rbacRoles)),
123
- http.get(`${useradmApiUrlv2}/roles/:roleId`, async ({ params: { roleId } }) => {
124
- if (mockApiResponses.users.rolesById[roleId]) {
125
- return HttpResponse.json(mockApiResponses.users.rolesById[roleId]);
126
- }
127
- return new HttpResponse(null, { status: 571 });
128
- }),
129
- http.post(`${useradmApiUrlv2}/roles`, async ({ request }) => {
130
- const { name, permission_sets_with_scope } = await request.json();
131
- if (!!name && permission_sets_with_scope.every((permission) => permission.name && permissionSets.find((permissionSet) => permissionSet.name === permission.name))) {
132
- return new HttpResponse(null, { status: 200 });
133
- }
134
- return new HttpResponse(null, { status: 572 });
135
- }),
136
- http.put(`${useradmApiUrlv2}/roles/:roleId`, async ({ params: { roleId }, request }) => {
137
- const { description, name, permission_sets_with_scope } = await request.json();
138
- if (mockApiResponses.users.rolesById[roleId] && [description, name, permission_sets_with_scope].some((value) => value)) {
139
- return new HttpResponse(null, { status: 200 });
140
- }
141
- return new HttpResponse(null, { status: 573 });
142
- }),
143
- http.delete(`${useradmApiUrlv2}/roles/:roleId`, ({ params: { roleId } }) => {
144
- if (mockApiResponses.users.rolesById[roleId]) {
145
- return new HttpResponse(null, { status: 200 });
146
- }
147
- return new HttpResponse(null, { status: 574 });
148
- }),
149
- http.get(`${useradmApiUrl}/settings`, () => HttpResponse.json(mockApiResponses.users.globalSettings)),
150
- http.post(`${useradmApiUrl}/settings`, () => new HttpResponse(null, { status: 200 })),
151
- http.get(`${useradmApiUrl}/settings/me`, () => HttpResponse.json(mockApiResponses.users.userSettings)),
152
- http.post(`${useradmApiUrl}/settings/me`, () => new HttpResponse(null, { status: 200 })),
153
- http.get(`${useradmApiUrl}/settings/tokens`, () => HttpResponse.json(accessTokens)),
154
- http.post(`${useradmApiUrl}/settings/tokens`, () => HttpResponse.json("aNewToken")),
155
- http.delete(
156
- `${useradmApiUrl}/settings/tokens/:tokenId`,
157
- ({ params: { tokenId } }) => new HttpResponse(null, { status: tokenId === "some-id-1" ? 200 : 577 })
158
- ),
159
- http.get(`${useradmApiUrl}/2faqr`, () => HttpResponse.json({ qr: btoa("test") })),
160
- http.post(`${useradmApiUrl}/users/:userId/2fa/enable`, ({ params: { userId: userId2 } }) => {
161
- if (mockApiResponses.users.byId[userId2] || userId2 === "me") {
162
- return new HttpResponse(null, { status: 200 });
163
- }
164
- return new HttpResponse(null, { status: 570 });
165
- }),
166
- http.post(`${useradmApiUrl}/users/:userId/2fa/disable`, ({ params: { userId: userId2 } }) => {
167
- if (mockApiResponses.users.byId[userId2] || userId2 === "me") {
168
- return new HttpResponse(null, { status: 200 });
169
- }
170
- return new HttpResponse(null, { status: 571 });
171
- }),
172
- http.post(`${useradmApiUrl}/auth/verify-email/start`, () => new HttpResponse(null, { status: 200 })),
173
- http.post(`${useradmApiUrl}/auth/verify-email/complete`, async ({ request }) => {
174
- const { secret_hash } = await request.json();
175
- return new HttpResponse(null, { status: secret_hash === "superSecret" ? 200 : 576 });
176
- }),
177
- http.get(`${useradmApiUrlv2}/permission_sets`, () => HttpResponse.json(permissionSets)),
178
- http.post(`${useradmApiUrl}/users/:userId/assign`, async ({ request }) => {
179
- const { tenant_ids } = await request.json();
180
- return new HttpResponse(null, { status: tenant_ids.length ? 200 : 577 });
181
- }),
182
- http.get(`${useradmApiUrl}/users/tenants/:tenantId/token`, () => HttpResponse.text("differentToken"))
183
- ];
184
-
185
- export {
186
- userHandlers
187
- };
188
- //# sourceMappingURL=chunk-H4J7L3HX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/requestHandlers/userHandlers.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 { APPLICATION_JWT_CONTENT_TYPE, useradmApiUrl, useradmApiUrlv2 } from '@northern.tech/utils/constants';\nimport { HttpResponse, http } from 'msw';\n\nimport { accessTokens, defaultPassword, userId as defaultUserId, mockApiResponses, permissionSets, rbacRoles, testSsoId, token } from '../mockData';\n\nexport const userHandlers = [\n http.post(`${useradmApiUrl}/auth/login`, ({ request }) => {\n const authHeader = request.headers.get('authorization');\n const authInfo = atob(authHeader?.split(' ')[1]);\n const [user, password] = authInfo.split(':');\n\n if (!password) {\n return HttpResponse.json({ id: testSsoId, kind: 'sso/saml' });\n } else if (password !== defaultPassword) {\n return new HttpResponse(null, { status: 401 });\n } else if (user.includes('limited')) {\n return new HttpResponse('limitedToken', { headers: { 'Content-Type': APPLICATION_JWT_CONTENT_TYPE } });\n } else if (user.includes('2fa')) {\n return new HttpResponse(JSON.stringify({ error: '2fa needed' }), { status: 401 });\n }\n\n return new HttpResponse(token, { headers: { 'Content-Type': APPLICATION_JWT_CONTENT_TYPE } });\n }),\n http.get(`https://hosted.mender.io${useradmApiUrl}/auth/magic/:id`, ({ params: { id } }) => {\n if (id) {\n return new HttpResponse('test', { headers: { 'Set-Cookie': 'JWT=test' } });\n }\n return new HttpResponse(null, { status: 400 });\n }),\n http.post(`${useradmApiUrl}/auth/logout`, () => new HttpResponse(null, { status: 200 })),\n http.post(`${useradmApiUrl}/auth/password-reset/:status`, async ({ params: { status }, request }) => {\n const { email, secret_hash, password } = await request.json();\n if (!['start', 'complete'].includes(status) && ![email, secret_hash, password].some(item => item)) {\n return new HttpResponse(null, { status: 560 });\n }\n if (status === 'start' && email) {\n return new HttpResponse(null, { status: 200 });\n }\n if (status === 'complete' && secret_hash && password) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 561 });\n }),\n http.put(`${useradmApiUrl}/2faverify`, async ({ request }) => {\n const { token2fa } = await request.json();\n if (!token2fa) {\n return new HttpResponse(null, { status: 562 });\n }\n return new HttpResponse(null, { status: 200 });\n }),\n http.get(`${useradmApiUrl}/users`, () => HttpResponse.json(Object.values(mockApiResponses.users.byId))),\n http.get(`${useradmApiUrl}/users/me`, ({ request }) => {\n const authHeader = request.headers.get('authorization');\n if (authHeader?.includes('limited')) {\n return new HttpResponse(JSON.stringify({ error: 'forbidden by role-based access control' }), { status: 403 });\n }\n return HttpResponse.json(mockApiResponses.users.byId[defaultUserId]);\n }),\n http.get(`${useradmApiUrl}/users/exists`, ({ request }) => {\n const url = new URL(request.url);\n const email = url.searchParams.get('email');\n if (!decodeURIComponent(email).includes('child+123')) {\n return new HttpResponse(null, { status: 578 });\n }\n return HttpResponse.json({ exists: true });\n }),\n http.get(`${useradmApiUrl}/users/:userId`, ({ params: { userId } }) => {\n if (userId === 'me' || mockApiResponses.users.byId[userId]) {\n const user = userId === 'me' ? defaultUserId : userId;\n return HttpResponse.json(mockApiResponses.users.byId[user]);\n }\n return new HttpResponse(null, { status: 563 });\n }),\n http.post(`${useradmApiUrl}/users`, async ({ request }) => {\n const { email, password } = await request.json();\n if (email === 'test@test.com' || [email, password].every(value => value)) {\n return HttpResponse.json(mockApiResponses.users.byId.a1);\n }\n return new HttpResponse(null, { status: 564 });\n }),\n http.put(`${useradmApiUrl}/users/:userId`, async ({ params: { userId }, request }) => {\n const { email, password, current_password } = await request.json();\n if (current_password === 'bad_password') {\n return new HttpResponse(null, { status: 401 });\n }\n if (\n (mockApiResponses.users.byId[userId] && [email, password].some(value => Object.values(mockApiResponses.users.byId[userId]).includes(value))) ||\n email === 'test@test.com'\n ) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 565 });\n }),\n http.delete(\n `${useradmApiUrl}/users/:userId`,\n ({ params: { userId } }) => new HttpResponse(null, { status: mockApiResponses.users.byId[userId] ? 200 : 566 })\n ),\n http.get(`${useradmApiUrl}/roles`, () => HttpResponse.json(rbacRoles)),\n http.post(`${useradmApiUrl}/roles`, async ({ request }) => {\n const { name, permissions } = await request.json();\n if (\n [name, permissions].every(value => value) &&\n permissions.every(permission => permission.action && permission.object && permission.object.type && permission.object.value)\n ) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 567 });\n }),\n http.put(`${useradmApiUrl}/roles/:roleId`, async ({ params: { roleId }, request }) => {\n const { description, name, permissions } = await request.json();\n if (mockApiResponses.users.rolesById[roleId] && [description, name, permissions].some(value => value)) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 568 });\n }),\n http.post(`${useradmApiUrlv2}/support/feedback/product`, async () => new HttpResponse(null, { status: 200 })),\n http.delete(\n `${useradmApiUrl}/roles/:roleId`,\n ({ params: { roleId } }) => new HttpResponse(null, { status: mockApiResponses.users.rolesById[roleId] ? 200 : 569 })\n ),\n http.get(`${useradmApiUrlv2}/roles`, () => HttpResponse.json(rbacRoles)),\n http.get(`${useradmApiUrlv2}/roles/:roleId`, async ({ params: { roleId } }) => {\n if (mockApiResponses.users.rolesById[roleId]) {\n return HttpResponse.json(mockApiResponses.users.rolesById[roleId]);\n }\n return new HttpResponse(null, { status: 571 });\n }),\n http.post(`${useradmApiUrlv2}/roles`, async ({ request }) => {\n const { name, permission_sets_with_scope } = await request.json();\n if (\n !!name &&\n permission_sets_with_scope.every(permission => permission.name && permissionSets.find(permissionSet => permissionSet.name === permission.name))\n ) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 572 });\n }),\n http.put(`${useradmApiUrlv2}/roles/:roleId`, async ({ params: { roleId }, request }) => {\n const { description, name, permission_sets_with_scope } = await request.json();\n if (mockApiResponses.users.rolesById[roleId] && [description, name, permission_sets_with_scope].some(value => value)) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 573 });\n }),\n http.delete(`${useradmApiUrlv2}/roles/:roleId`, ({ params: { roleId } }) => {\n if (mockApiResponses.users.rolesById[roleId]) {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 574 });\n }),\n http.get(`${useradmApiUrl}/settings`, () => HttpResponse.json(mockApiResponses.users.globalSettings)),\n http.post(`${useradmApiUrl}/settings`, () => new HttpResponse(null, { status: 200 })),\n http.get(`${useradmApiUrl}/settings/me`, () => HttpResponse.json(mockApiResponses.users.userSettings)),\n http.post(`${useradmApiUrl}/settings/me`, () => new HttpResponse(null, { status: 200 })),\n http.get(`${useradmApiUrl}/settings/tokens`, () => HttpResponse.json(accessTokens)),\n http.post(`${useradmApiUrl}/settings/tokens`, () => HttpResponse.json('aNewToken')),\n http.delete(\n `${useradmApiUrl}/settings/tokens/:tokenId`,\n ({ params: { tokenId } }) => new HttpResponse(null, { status: tokenId === 'some-id-1' ? 200 : 577 })\n ),\n http.get(`${useradmApiUrl}/2faqr`, () => HttpResponse.json({ qr: btoa('test') })),\n http.post(`${useradmApiUrl}/users/:userId/2fa/enable`, ({ params: { userId } }) => {\n if (mockApiResponses.users.byId[userId] || userId === 'me') {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 570 });\n }),\n http.post(`${useradmApiUrl}/users/:userId/2fa/disable`, ({ params: { userId } }) => {\n if (mockApiResponses.users.byId[userId] || userId === 'me') {\n return new HttpResponse(null, { status: 200 });\n }\n return new HttpResponse(null, { status: 571 });\n }),\n http.post(`${useradmApiUrl}/auth/verify-email/start`, () => new HttpResponse(null, { status: 200 })),\n http.post(`${useradmApiUrl}/auth/verify-email/complete`, async ({ request }) => {\n const { secret_hash } = await request.json();\n return new HttpResponse(null, { status: secret_hash === 'superSecret' ? 200 : 576 });\n }),\n http.get(`${useradmApiUrlv2}/permission_sets`, () => HttpResponse.json(permissionSets)),\n http.post(`${useradmApiUrl}/users/:userId/assign`, async ({ request }) => {\n const { tenant_ids } = await request.json();\n return new HttpResponse(null, { status: tenant_ids.length ? 200 : 577 });\n }),\n http.get(`${useradmApiUrl}/users/tenants/:tenantId/token`, () => HttpResponse.text('differentToken'))\n];\n"],"mappings":"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","names":["userId"]}
@@ -1,17 +0,0 @@
1
- // src/theme/light.ts
2
- var palette = {
3
- border: {
4
- main: "#e3e3e3"
5
- },
6
- tooltip: {
7
- tierTipBackground: "#f7fafb"
8
- }
9
- };
10
- var light = {
11
- palette
12
- };
13
-
14
- export {
15
- light
16
- };
17
- //# sourceMappingURL=chunk-HRGVXWMH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/theme/light.ts"],"sourcesContent":["// Copyright 2022 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\nconst palette = {\n border: {\n main: '#e3e3e3'\n },\n tooltip: {\n tierTipBackground: '#f7fafb'\n }\n};\n\nexport const light = {\n palette\n};\n"],"mappings":";AAcA,IAAM,UAAU;AAAA,EACd,QAAQ;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA,SAAS;AAAA,IACP,mBAAmB;AAAA,EACrB;AACF;AAEO,IAAM,QAAQ;AAAA,EACnB;AACF;","names":[]}