@ledgerhq/device-core 0.6.6-nightly.5 → 0.6.6-nightly.6

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 (163) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +8 -0
  3. package/package.json +3 -3
  4. package/lib/capabilities/isCustomLockScreenSupported.test.d.ts +0 -2
  5. package/lib/capabilities/isCustomLockScreenSupported.test.d.ts.map +0 -1
  6. package/lib/capabilities/isCustomLockScreenSupported.test.js +0 -26
  7. package/lib/capabilities/isCustomLockScreenSupported.test.js.map +0 -1
  8. package/lib/capabilities/isEditDeviceNameSupported.test.d.ts +0 -2
  9. package/lib/capabilities/isEditDeviceNameSupported.test.d.ts.map +0 -1
  10. package/lib/capabilities/isEditDeviceNameSupported.test.js +0 -25
  11. package/lib/capabilities/isEditDeviceNameSupported.test.js.map +0 -1
  12. package/lib/capabilities/isSyncOnboardingSupported.test.d.ts +0 -2
  13. package/lib/capabilities/isSyncOnboardingSupported.test.d.ts.map +0 -1
  14. package/lib/capabilities/isSyncOnboardingSupported.test.js +0 -18
  15. package/lib/capabilities/isSyncOnboardingSupported.test.js.map +0 -1
  16. package/lib/commands/entities/AppStorageInfo.test.d.ts +0 -2
  17. package/lib/commands/entities/AppStorageInfo.test.d.ts.map +0 -1
  18. package/lib/commands/entities/AppStorageInfo.test.js +0 -48
  19. package/lib/commands/entities/AppStorageInfo.test.js.map +0 -1
  20. package/lib/commands/use-cases/app-backup/backupAppStorage.test.d.ts +0 -2
  21. package/lib/commands/use-cases/app-backup/backupAppStorage.test.d.ts.map +0 -1
  22. package/lib/commands/use-cases/app-backup/backupAppStorage.test.js +0 -47
  23. package/lib/commands/use-cases/app-backup/backupAppStorage.test.js.map +0 -1
  24. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts +0 -2
  25. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts.map +0 -1
  26. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js +0 -58
  27. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +0 -1
  28. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.d.ts +0 -2
  29. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.d.ts.map +0 -1
  30. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js +0 -51
  31. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js.map +0 -1
  32. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts +0 -2
  33. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts.map +0 -1
  34. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +0 -40
  35. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +0 -1
  36. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts +0 -2
  37. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts.map +0 -1
  38. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js +0 -55
  39. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +0 -1
  40. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts +0 -2
  41. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts.map +0 -1
  42. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.js +0 -39
  43. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.js.map +0 -1
  44. package/lib/commands/use-cases/isBootloaderVersionSupported.test.d.ts +0 -2
  45. package/lib/commands/use-cases/isBootloaderVersionSupported.test.d.ts.map +0 -1
  46. package/lib/commands/use-cases/isBootloaderVersionSupported.test.js +0 -63
  47. package/lib/commands/use-cases/isBootloaderVersionSupported.test.js.map +0 -1
  48. package/lib/commands/use-cases/isCharonSupported.test.d.ts +0 -2
  49. package/lib/commands/use-cases/isCharonSupported.test.d.ts.map +0 -1
  50. package/lib/commands/use-cases/isCharonSupported.test.js +0 -46
  51. package/lib/commands/use-cases/isCharonSupported.test.js.map +0 -1
  52. package/lib/commands/use-cases/isDeviceLocalizationSupported.test.d.ts +0 -2
  53. package/lib/commands/use-cases/isDeviceLocalizationSupported.test.d.ts.map +0 -1
  54. package/lib/commands/use-cases/isDeviceLocalizationSupported.test.js +0 -55
  55. package/lib/commands/use-cases/isDeviceLocalizationSupported.test.js.map +0 -1
  56. package/lib/commands/use-cases/isHardwareVersionSupported.test.d.ts +0 -2
  57. package/lib/commands/use-cases/isHardwareVersionSupported.test.d.ts.map +0 -1
  58. package/lib/commands/use-cases/isHardwareVersionSupported.test.js +0 -36
  59. package/lib/commands/use-cases/isHardwareVersionSupported.test.js.map +0 -1
  60. package/lib/commands/use-cases/isRecoverSupported.test.d.ts +0 -2
  61. package/lib/commands/use-cases/isRecoverSupported.test.d.ts.map +0 -1
  62. package/lib/commands/use-cases/isRecoverSupported.test.js +0 -54
  63. package/lib/commands/use-cases/isRecoverSupported.test.js.map +0 -1
  64. package/lib/commands/use-cases/parseGetDeviceNameResponse.test.d.ts +0 -2
  65. package/lib/commands/use-cases/parseGetDeviceNameResponse.test.d.ts.map +0 -1
  66. package/lib/commands/use-cases/parseGetDeviceNameResponse.test.js +0 -27
  67. package/lib/commands/use-cases/parseGetDeviceNameResponse.test.js.map +0 -1
  68. package/lib/commands/use-cases/parseGetVersionResponse.test.d.ts +0 -2
  69. package/lib/commands/use-cases/parseGetVersionResponse.test.d.ts.map +0 -1
  70. package/lib/commands/use-cases/parseGetVersionResponse.test.js +0 -145
  71. package/lib/commands/use-cases/parseGetVersionResponse.test.js.map +0 -1
  72. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts +0 -2
  73. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts.map +0 -1
  74. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.js +0 -69
  75. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.js.map +0 -1
  76. package/lib/managerApi/repositories/HttpManagerApiRepository.test.d.ts +0 -2
  77. package/lib/managerApi/repositories/HttpManagerApiRepository.test.d.ts.map +0 -1
  78. package/lib/managerApi/repositories/HttpManagerApiRepository.test.js +0 -390
  79. package/lib/managerApi/repositories/HttpManagerApiRepository.test.js.map +0 -1
  80. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts +0 -2
  81. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts.map +0 -1
  82. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.js +0 -169
  83. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.js.map +0 -1
  84. package/lib-es/capabilities/isCustomLockScreenSupported.test.d.ts +0 -2
  85. package/lib-es/capabilities/isCustomLockScreenSupported.test.d.ts.map +0 -1
  86. package/lib-es/capabilities/isCustomLockScreenSupported.test.js +0 -24
  87. package/lib-es/capabilities/isCustomLockScreenSupported.test.js.map +0 -1
  88. package/lib-es/capabilities/isEditDeviceNameSupported.test.d.ts +0 -2
  89. package/lib-es/capabilities/isEditDeviceNameSupported.test.d.ts.map +0 -1
  90. package/lib-es/capabilities/isEditDeviceNameSupported.test.js +0 -23
  91. package/lib-es/capabilities/isEditDeviceNameSupported.test.js.map +0 -1
  92. package/lib-es/capabilities/isSyncOnboardingSupported.test.d.ts +0 -2
  93. package/lib-es/capabilities/isSyncOnboardingSupported.test.d.ts.map +0 -1
  94. package/lib-es/capabilities/isSyncOnboardingSupported.test.js +0 -16
  95. package/lib-es/capabilities/isSyncOnboardingSupported.test.js.map +0 -1
  96. package/lib-es/commands/entities/AppStorageInfo.test.d.ts +0 -2
  97. package/lib-es/commands/entities/AppStorageInfo.test.d.ts.map +0 -1
  98. package/lib-es/commands/entities/AppStorageInfo.test.js +0 -46
  99. package/lib-es/commands/entities/AppStorageInfo.test.js.map +0 -1
  100. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.d.ts +0 -2
  101. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.d.ts.map +0 -1
  102. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js +0 -45
  103. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js.map +0 -1
  104. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts +0 -2
  105. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts.map +0 -1
  106. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js +0 -56
  107. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +0 -1
  108. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.d.ts +0 -2
  109. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.d.ts.map +0 -1
  110. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js +0 -49
  111. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js.map +0 -1
  112. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts +0 -2
  113. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts.map +0 -1
  114. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +0 -38
  115. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +0 -1
  116. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts +0 -2
  117. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts.map +0 -1
  118. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js +0 -53
  119. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +0 -1
  120. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts +0 -2
  121. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts.map +0 -1
  122. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.js +0 -37
  123. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.js.map +0 -1
  124. package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.d.ts +0 -2
  125. package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.d.ts.map +0 -1
  126. package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.js +0 -61
  127. package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.js.map +0 -1
  128. package/lib-es/commands/use-cases/isCharonSupported.test.d.ts +0 -2
  129. package/lib-es/commands/use-cases/isCharonSupported.test.d.ts.map +0 -1
  130. package/lib-es/commands/use-cases/isCharonSupported.test.js +0 -44
  131. package/lib-es/commands/use-cases/isCharonSupported.test.js.map +0 -1
  132. package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.d.ts +0 -2
  133. package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.d.ts.map +0 -1
  134. package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.js +0 -53
  135. package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.js.map +0 -1
  136. package/lib-es/commands/use-cases/isHardwareVersionSupported.test.d.ts +0 -2
  137. package/lib-es/commands/use-cases/isHardwareVersionSupported.test.d.ts.map +0 -1
  138. package/lib-es/commands/use-cases/isHardwareVersionSupported.test.js +0 -34
  139. package/lib-es/commands/use-cases/isHardwareVersionSupported.test.js.map +0 -1
  140. package/lib-es/commands/use-cases/isRecoverSupported.test.d.ts +0 -2
  141. package/lib-es/commands/use-cases/isRecoverSupported.test.d.ts.map +0 -1
  142. package/lib-es/commands/use-cases/isRecoverSupported.test.js +0 -52
  143. package/lib-es/commands/use-cases/isRecoverSupported.test.js.map +0 -1
  144. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.d.ts +0 -2
  145. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.d.ts.map +0 -1
  146. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.js +0 -25
  147. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.js.map +0 -1
  148. package/lib-es/commands/use-cases/parseGetVersionResponse.test.d.ts +0 -2
  149. package/lib-es/commands/use-cases/parseGetVersionResponse.test.d.ts.map +0 -1
  150. package/lib-es/commands/use-cases/parseGetVersionResponse.test.js +0 -143
  151. package/lib-es/commands/use-cases/parseGetVersionResponse.test.js.map +0 -1
  152. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts +0 -2
  153. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts.map +0 -1
  154. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.js +0 -67
  155. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.js.map +0 -1
  156. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.d.ts +0 -2
  157. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.d.ts.map +0 -1
  158. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js +0 -388
  159. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js.map +0 -1
  160. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts +0 -2
  161. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts.map +0 -1
  162. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.js +0 -167
  163. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.js.map +0 -1
@@ -1,388 +0,0 @@
1
- import { FirmwareNotRecognized, NetworkDown } from "@ledgerhq/errors";
2
- import { HttpManagerApiRepository } from "./HttpManagerApiRepository";
3
- const getUserHashesModule = jest.requireActual("../use-cases/getUserHashes");
4
- const networkModule = jest.requireActual("@ledgerhq/live-network/network");
5
- describe("HttpManagerApiRepository", () => {
6
- let httpManagerApiRepository;
7
- let getUserHashesSpy;
8
- let networkSpy;
9
- beforeEach(() => {
10
- httpManagerApiRepository = new HttpManagerApiRepository("http://managerApiBase.com", "1.2.3");
11
- getUserHashesSpy = jest.spyOn(getUserHashesModule, "getUserHashes");
12
- networkSpy = jest.spyOn(networkModule, "default");
13
- networkSpy.mockImplementation(jest.fn());
14
- });
15
- afterEach(() => {
16
- jest.resetAllMocks();
17
- });
18
- test("fetchLatestFirmware should call network() with the correct parameters", async () => {
19
- getUserHashesSpy.mockReturnValue({
20
- firmwareSalt: "mockedFirmwareSalt",
21
- });
22
- const params = {
23
- current_se_firmware_final_version: 888,
24
- device_version: 123,
25
- providerId: 12,
26
- userId: "userId",
27
- };
28
- await httpManagerApiRepository.fetchLatestFirmware(params).catch(() => {
29
- // ignore the error in this test case
30
- });
31
- expect(networkSpy).toHaveBeenCalledWith({
32
- method: "GET",
33
- url: "http://managerApiBase.com/get_latest_firmware" +
34
- "?livecommonversion=1.2.3" +
35
- "&salt=mockedFirmwareSalt" +
36
- "&current_se_firmware_final_version=888" +
37
- "&device_version=123" +
38
- "&provider=12",
39
- });
40
- });
41
- test("fetchLatestFirmware should return null if data.result is null", async () => {
42
- getUserHashesSpy.mockReturnValue({
43
- firmwareSalt: "mockedFirmwareSalt",
44
- });
45
- const params = {
46
- current_se_firmware_final_version: 888,
47
- device_version: 123,
48
- providerId: 12,
49
- userId: "userId",
50
- };
51
- networkSpy.mockResolvedValue({
52
- data: {
53
- result: "null",
54
- },
55
- });
56
- const result = await httpManagerApiRepository.fetchLatestFirmware(params);
57
- expect(result).toBeNull();
58
- });
59
- test("fetchLatestFirmware should return data.se_firmware_osu_version", async () => {
60
- getUserHashesSpy.mockReturnValue({
61
- firmwareSalt: "mockedFirmwareSalt",
62
- });
63
- const params = {
64
- current_se_firmware_final_version: 888,
65
- device_version: 123,
66
- providerId: 12,
67
- userId: "userId",
68
- };
69
- networkSpy.mockResolvedValue({
70
- data: {
71
- result: "mockedResult",
72
- se_firmware_osu_version: "mockedOsuFirmware",
73
- },
74
- });
75
- const result = await httpManagerApiRepository.fetchLatestFirmware(params);
76
- expect(result).toBe("mockedOsuFirmware");
77
- });
78
- test("fetchMcus should call network() with the correct parameters", async () => {
79
- await httpManagerApiRepository.fetchMcus().catch(() => {
80
- // ignore the error in this test case
81
- });
82
- expect(networkSpy).toHaveBeenCalledWith({
83
- method: "GET",
84
- url: "http://managerApiBase.com/mcu_versions?livecommonversion=1.2.3",
85
- });
86
- });
87
- test("fetchMcus should return data", async () => {
88
- networkSpy.mockResolvedValue({
89
- data: "mockedData",
90
- });
91
- const result = await httpManagerApiRepository.fetchMcus();
92
- expect(result).toBe("mockedData");
93
- });
94
- test("getDeviceVersion should call network() with the correct parameters", async () => {
95
- const params = {
96
- targetId: 123,
97
- providerId: 12,
98
- };
99
- await httpManagerApiRepository.getDeviceVersion(params).catch(() => {
100
- // ignore the error in this test case
101
- });
102
- expect(networkSpy).toHaveBeenCalledWith({
103
- method: "GET",
104
- url: "http://managerApiBase.com/get_device_version" +
105
- "?livecommonversion=1.2.3" +
106
- "&provider=12" +
107
- "&target_id=123",
108
- });
109
- });
110
- test("getDeviceVersion should throw a FirmwareNotRecognized error if status is 404", async () => {
111
- networkSpy.mockRejectedValue({
112
- status: 404,
113
- });
114
- await expect(httpManagerApiRepository.getDeviceVersion({
115
- targetId: 123,
116
- providerId: 12,
117
- })).rejects.toThrow(FirmwareNotRecognized);
118
- });
119
- test("getDeviceVersion should throw a FirmwareNotRecognized error if response.status is 404", async () => {
120
- networkSpy.mockRejectedValue({
121
- response: {
122
- status: 404,
123
- },
124
- });
125
- await expect(httpManagerApiRepository.getDeviceVersion({
126
- targetId: 123,
127
- providerId: 12,
128
- })).rejects.toThrow(FirmwareNotRecognized);
129
- });
130
- test("getDeviceVersion should return data", async () => {
131
- networkSpy.mockResolvedValue({
132
- data: "mockedData",
133
- });
134
- const result = await httpManagerApiRepository.getDeviceVersion({
135
- targetId: 123,
136
- providerId: 12,
137
- });
138
- expect(result).toBe("mockedData");
139
- });
140
- test("getCurrentOSU should call network() with the correct parameters", async () => {
141
- const params = {
142
- deviceId: 123,
143
- providerId: 12,
144
- version: "mockedVersion",
145
- };
146
- await httpManagerApiRepository.getCurrentOSU(params).catch(() => {
147
- // ignore the error in this test case
148
- });
149
- expect(networkSpy).toHaveBeenCalledWith({
150
- method: "GET",
151
- url: "http://managerApiBase.com/get_osu_version" +
152
- "?livecommonversion=1.2.3" +
153
- "&device_version=123" +
154
- "&version_name=mockedVersion-osu" +
155
- "&provider=12",
156
- });
157
- });
158
- test("getCurrentOSU should return data", async () => {
159
- networkSpy.mockResolvedValue({
160
- data: "mockedData",
161
- });
162
- const result = await httpManagerApiRepository.getCurrentOSU({
163
- deviceId: 123,
164
- providerId: 12,
165
- version: "mockedVersion",
166
- });
167
- expect(result).toBe("mockedData");
168
- });
169
- test("getCurrentFirmware should call network() with the correct parameters", async () => {
170
- const params = {
171
- deviceId: 123,
172
- providerId: 12,
173
- version: "mockedVersion",
174
- };
175
- await httpManagerApiRepository.getCurrentFirmware(params).catch(() => {
176
- // ignore the error in this test case
177
- });
178
- expect(networkSpy).toHaveBeenCalledWith({
179
- method: "GET",
180
- url: "http://managerApiBase.com/get_firmware_version" +
181
- "?livecommonversion=1.2.3" +
182
- "&device_version=123" +
183
- "&version_name=mockedVersion" +
184
- "&provider=12",
185
- });
186
- });
187
- test("getCurrentFirmware should throw a FirmwareNotRecognized error if status is 404", async () => {
188
- networkSpy.mockRejectedValue({
189
- status: 404,
190
- });
191
- await expect(httpManagerApiRepository.getCurrentFirmware({
192
- deviceId: 123,
193
- providerId: 12,
194
- version: "mockedVersion",
195
- })).rejects.toThrow(FirmwareNotRecognized);
196
- });
197
- test("getCurrentFirmware should throw a FirmwareNotRecognized error if response.status is 404", async () => {
198
- networkSpy.mockRejectedValue({
199
- response: {
200
- status: 404,
201
- },
202
- });
203
- await expect(httpManagerApiRepository.getCurrentFirmware({
204
- deviceId: 123,
205
- providerId: 12,
206
- version: "mockedVersion",
207
- })).rejects.toThrow(FirmwareNotRecognized);
208
- });
209
- test("getCurrentFirmware should return data", async () => {
210
- networkSpy.mockResolvedValue({
211
- data: "mockedData",
212
- });
213
- const result = await httpManagerApiRepository.getCurrentFirmware({
214
- deviceId: 123,
215
- providerId: 12,
216
- version: "mockedVersion",
217
- });
218
- expect(result).toBe("mockedData");
219
- });
220
- test("getFinalFirmwareById should call network() with the correct parameters", async () => {
221
- await httpManagerApiRepository.getFinalFirmwareById(123).catch(() => {
222
- // ignore the error in this test case
223
- });
224
- expect(networkSpy).toHaveBeenCalledWith({
225
- method: "GET",
226
- url: "http://managerApiBase.com/firmware_final_versions/123?livecommonversion=1.2.3",
227
- });
228
- });
229
- test("getFinalFirmwareById should return data", async () => {
230
- networkSpy.mockResolvedValue({
231
- data: "mockedData",
232
- });
233
- const result = await httpManagerApiRepository.getFinalFirmwareById(123);
234
- expect(result).toBe("mockedData");
235
- });
236
- test("getAppsByHash should call network() with the correct parameters", async () => {
237
- const mockHashes = ["mockedHash1", "mockedHash2"];
238
- await httpManagerApiRepository.getAppsByHash(mockHashes).catch(() => {
239
- // ignore the error in this test case
240
- });
241
- expect(networkSpy).toHaveBeenCalledWith({
242
- method: "POST",
243
- url: "http://managerApiBase.com/v2/apps/hash?livecommonversion=1.2.3",
244
- data: mockHashes,
245
- });
246
- });
247
- test("getAppsByHash should throw a NetworkDown error if data is null", async () => {
248
- networkSpy.mockResolvedValue({
249
- data: null,
250
- });
251
- await expect(httpManagerApiRepository.getAppsByHash(["mockedHash"])).rejects.toThrow(NetworkDown);
252
- });
253
- test("getAppsByHash should throw a NetworkDown error if data is not an array", async () => {
254
- networkSpy.mockResolvedValue({
255
- data: "mockedData",
256
- });
257
- await expect(httpManagerApiRepository.getAppsByHash(["mockedHash"])).rejects.toThrow(NetworkDown);
258
- });
259
- test("getAppsByHash should return data if it's an array", async () => {
260
- networkSpy.mockResolvedValue({
261
- data: ["mockedData"],
262
- });
263
- const result = await httpManagerApiRepository.getAppsByHash(["mockedHash"]);
264
- expect(result).toEqual(["mockedData"]);
265
- });
266
- test("catalogForDevice should call network() with the correct parameters", async () => {
267
- await httpManagerApiRepository
268
- .catalogForDevice({
269
- targetId: 123,
270
- provider: 12,
271
- firmwareVersion: "mockedFirmwareVersion",
272
- })
273
- .catch(() => {
274
- // ignore the error in this test case
275
- });
276
- expect(networkSpy).toHaveBeenCalledWith({
277
- method: "GET",
278
- url: "http://managerApiBase.com/v2/apps/by-target?livecommonversion=1.2.3&provider=12&target_id=123&firmware_version_name=mockedFirmwareVersion",
279
- });
280
- });
281
- test("catalogForDevice should throw a NetworkDown error if data is null", async () => {
282
- networkSpy.mockResolvedValue({
283
- data: null,
284
- });
285
- await expect(httpManagerApiRepository.catalogForDevice({
286
- targetId: 123,
287
- provider: 12,
288
- firmwareVersion: "mockedFirmwareVersion",
289
- })).rejects.toThrow(NetworkDown);
290
- });
291
- test("catalogForDevice should throw a NetworkDown error if data is not an array", async () => {
292
- networkSpy.mockResolvedValue({
293
- data: "mockedData",
294
- });
295
- await expect(httpManagerApiRepository.catalogForDevice({
296
- targetId: 123,
297
- provider: 12,
298
- firmwareVersion: "mockedFirmwareVersion",
299
- })).rejects.toThrow(NetworkDown);
300
- });
301
- test("catalogForDevice should return data if it's an array", async () => {
302
- networkSpy.mockResolvedValue({
303
- data: ["mockedData"],
304
- });
305
- const result = await httpManagerApiRepository.catalogForDevice({
306
- targetId: 123,
307
- provider: 12,
308
- firmwareVersion: "mockedFirmwareVersion",
309
- });
310
- expect(result).toEqual(["mockedData"]);
311
- });
312
- test("getLanguagePackagesForDevice should call network() and other methods with the correct parameters", async () => {
313
- const getDeviceVersionSpy = jest
314
- .spyOn(httpManagerApiRepository, "getDeviceVersion")
315
- .mockReturnValue(Promise.resolve({ id: 4 }));
316
- const getCurrentFirmwareSpy = jest
317
- .spyOn(httpManagerApiRepository, "getCurrentFirmware")
318
- .mockImplementation(jest.fn());
319
- await httpManagerApiRepository
320
- .getLanguagePackagesForDevice({
321
- version: 1,
322
- targetId: 2,
323
- id: 3,
324
- }, 12)
325
- .catch(() => {
326
- // ignore the error in this test case
327
- });
328
- expect(getDeviceVersionSpy).toHaveBeenCalledWith({ targetId: 2, providerId: 12 });
329
- expect(getCurrentFirmwareSpy).toHaveBeenCalledWith({ deviceId: 4, providerId: 12, version: 1 });
330
- expect(networkSpy).toHaveBeenCalledWith({
331
- method: "GET",
332
- url: "http://managerApiBase.com/language-package?livecommonversion=1.2.3",
333
- });
334
- });
335
- test("getLanguagePackagesForDevice should return language packages", async () => {
336
- const mockedDeviceVersionId = 123;
337
- const mockedCurrentFirmwareId = 456;
338
- jest
339
- .spyOn(httpManagerApiRepository, "getDeviceVersion")
340
- .mockReturnValue(Promise.resolve({ id: mockedDeviceVersionId }));
341
- jest
342
- .spyOn(httpManagerApiRepository, "getCurrentFirmware")
343
- .mockReturnValue(Promise.resolve({ id: mockedCurrentFirmwareId }));
344
- networkSpy.mockResolvedValue({
345
- data: [
346
- {
347
- language: "french",
348
- language_package_version: [
349
- {
350
- device_versions: [mockedDeviceVersionId, 8888],
351
- language: "french",
352
- se_firmware_final_versions: [mockedCurrentFirmwareId, 9999],
353
- },
354
- ],
355
- },
356
- {
357
- language: "spanish",
358
- language_package_version: [
359
- {
360
- device_versions: [mockedDeviceVersionId],
361
- language: "spanish",
362
- se_firmware_final_versions: [9999], // this excludes the package from the result
363
- },
364
- ],
365
- },
366
- {
367
- language: "english",
368
- language_package_version: [
369
- {
370
- device_versions: [8888], // this excludes the package from the result
371
- language: "spanish",
372
- se_firmware_final_versions: [mockedCurrentFirmwareId],
373
- },
374
- ],
375
- },
376
- ],
377
- });
378
- const result = await httpManagerApiRepository.getLanguagePackagesForDevice({});
379
- expect(result).toEqual([
380
- {
381
- device_versions: [mockedDeviceVersionId, 8888],
382
- language: "french",
383
- se_firmware_final_versions: [mockedCurrentFirmwareId, 9999],
384
- },
385
- ]);
386
- });
387
- });
388
- //# sourceMappingURL=HttpManagerApiRepository.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpManagerApiRepository.test.js","sourceRoot":"","sources":["../../../src/managerApi/repositories/HttpManagerApiRepository.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getLatestFirmwareForDevice.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getLatestFirmwareForDevice.test.d.ts","sourceRoot":"","sources":["../../../src/managerApi/use-cases/getLatestFirmwareForDevice.test.ts"],"names":[],"mappings":""}
@@ -1,167 +0,0 @@
1
- import { getLatestFirmwareForDevice } from "./getLatestFirmwareForDevice";
2
- import { UnknownMCU } from "@ledgerhq/errors";
3
- import { StubManagerApiRepository } from "../repositories/StubManagerApiRepository";
4
- import { aDeviceInfoBuilder } from "../entities/mocks/aDeviceInfo";
5
- jest.mock("../repositories/ManagerApiRepository");
6
- describe("getLatestFirmwareForDevice", () => {
7
- let mockedManagerApiRepository;
8
- beforeEach(() => {
9
- // Clear the methods we are using in our test
10
- jest.resetAllMocks();
11
- mockedManagerApiRepository = new StubManagerApiRepository();
12
- });
13
- it("throws an Error for unknown mcu", async () => {
14
- // given
15
- // Using a fixture builder - we could create that for all our entities
16
- const deviceInfo = aDeviceInfoBuilder({ mcuVersion: "42", isOSU: true });
17
- jest.spyOn(mockedManagerApiRepository, "fetchMcus").mockResolvedValue([]);
18
- jest
19
- .spyOn(mockedManagerApiRepository, "getDeviceVersion")
20
- .mockResolvedValue({ id: 42 });
21
- jest.spyOn(mockedManagerApiRepository, "getCurrentOSU").mockResolvedValue({});
22
- const params = {
23
- deviceInfo,
24
- providerId: 42,
25
- userId: "",
26
- managerApiRepository: mockedManagerApiRepository,
27
- };
28
- // when
29
- const response = getLatestFirmwareForDevice(params);
30
- // then
31
- expect(response).rejects.toBeInstanceOf(UnknownMCU);
32
- });
33
- it("should return an update without flashing mcu", async () => {
34
- // Given
35
- const deviceInfo = aDeviceInfoBuilder({ isOSU: false, mcuVersion: "42" });
36
- jest
37
- .spyOn(mockedManagerApiRepository, "getDeviceVersion")
38
- .mockResolvedValue({ id: 42 });
39
- jest
40
- .spyOn(mockedManagerApiRepository, "fetchMcus")
41
- .mockResolvedValue(Promise.resolve([{ name: "42", id: 42 }]));
42
- jest
43
- .spyOn(mockedManagerApiRepository, "getCurrentFirmware")
44
- .mockResolvedValue({ se_firmware: 21 });
45
- jest
46
- .spyOn(mockedManagerApiRepository, "fetchLatestFirmware")
47
- .mockResolvedValue({});
48
- jest
49
- .spyOn(mockedManagerApiRepository, "getFinalFirmwareById")
50
- .mockResolvedValue({ mcu_versions: [42] });
51
- const params = {
52
- deviceInfo,
53
- providerId: 42,
54
- userId: "",
55
- managerApiRepository: mockedManagerApiRepository,
56
- };
57
- // When
58
- const result = await getLatestFirmwareForDevice(params);
59
- // Then
60
- expect(result).toMatchObject({ shouldFlashMCU: false });
61
- });
62
- it("shouldn't return an available update when no mcu found", async () => {
63
- // Given
64
- const deviceInfo = aDeviceInfoBuilder({ isOSU: false, mcuVersion: "42" });
65
- jest
66
- .spyOn(mockedManagerApiRepository, "getDeviceVersion")
67
- .mockResolvedValue({ id: 42 });
68
- jest
69
- .spyOn(mockedManagerApiRepository, "fetchMcus")
70
- .mockResolvedValue(Promise.resolve([{ name: "42", id: 42 }]));
71
- jest
72
- .spyOn(mockedManagerApiRepository, "getCurrentFirmware")
73
- .mockResolvedValue({ id: 21 });
74
- jest.spyOn(mockedManagerApiRepository, "fetchLatestFirmware").mockResolvedValue(null);
75
- const params = {
76
- deviceInfo,
77
- providerId: 42,
78
- userId: "",
79
- managerApiRepository: mockedManagerApiRepository,
80
- };
81
- // When
82
- const result = await getLatestFirmwareForDevice(params);
83
- // Then
84
- expect(result).toBeNull();
85
- });
86
- it("should return an available OS update", async () => {
87
- // Given
88
- const deviceInfo = aDeviceInfoBuilder({ isOSU: false, mcuVersion: "42" });
89
- jest
90
- .spyOn(mockedManagerApiRepository, "getDeviceVersion")
91
- .mockResolvedValue({ id: 42 });
92
- jest
93
- .spyOn(mockedManagerApiRepository, "fetchMcus")
94
- .mockResolvedValue(Promise.resolve([{ name: "42", id: 42 }]));
95
- jest
96
- .spyOn(mockedManagerApiRepository, "getCurrentFirmware")
97
- .mockResolvedValue({ se_firmware: 21 });
98
- jest
99
- .spyOn(mockedManagerApiRepository, "fetchLatestFirmware")
100
- .mockResolvedValue({});
101
- jest.spyOn(mockedManagerApiRepository, "getFinalFirmwareById").mockResolvedValue({
102
- name: "VERSION_UPDATE_TEST",
103
- mcu_versions: [42],
104
- });
105
- const params = {
106
- deviceInfo,
107
- providerId: 42,
108
- userId: "",
109
- managerApiRepository: mockedManagerApiRepository,
110
- };
111
- // When
112
- const result = await getLatestFirmwareForDevice(params);
113
- // Then
114
- expect(result).toHaveProperty(["final"]);
115
- expect(result).toHaveProperty(["osu"]);
116
- expect(result).toHaveProperty(["shouldFlashMCU"]);
117
- });
118
- test("should return an update with device isOSU true", async () => {
119
- const deviceInfo = aDeviceInfoBuilder({ mcuVersion: "42" });
120
- jest
121
- .spyOn(mockedManagerApiRepository, "fetchMcus")
122
- .mockResolvedValue(Promise.resolve([{ name: "42", id: 42 }]));
123
- jest
124
- .spyOn(mockedManagerApiRepository, "getDeviceVersion")
125
- .mockResolvedValue({ id: 42 });
126
- jest.spyOn(mockedManagerApiRepository, "getCurrentOSU").mockResolvedValue({});
127
- jest.spyOn(mockedManagerApiRepository, "getFinalFirmwareById").mockResolvedValue({
128
- name: "VERSION_UPDATE_TEST",
129
- mcu_versions: [42],
130
- });
131
- const params = {
132
- deviceInfo,
133
- providerId: 42,
134
- userId: "",
135
- managerApiRepository: mockedManagerApiRepository,
136
- };
137
- // When
138
- const result = await getLatestFirmwareForDevice(params);
139
- // Then
140
- expect(result).toHaveProperty(["final"]);
141
- expect(result).toHaveProperty(["osu"]);
142
- expect(result).toHaveProperty(["shouldFlashMCU"]);
143
- });
144
- test("shouldn't return an update with device isOSU true", async () => {
145
- const deviceInfo = aDeviceInfoBuilder({ mcuVersion: "42" });
146
- jest
147
- .spyOn(mockedManagerApiRepository, "fetchMcus")
148
- .mockResolvedValue(Promise.resolve([{ name: "42", id: 42 }]));
149
- jest
150
- .spyOn(mockedManagerApiRepository, "getDeviceVersion")
151
- .mockResolvedValue({ id: 42 });
152
- jest
153
- .spyOn(mockedManagerApiRepository, "getCurrentOSU")
154
- .mockResolvedValue(null);
155
- const params = {
156
- deviceInfo,
157
- providerId: 42,
158
- userId: "",
159
- managerApiRepository: mockedManagerApiRepository,
160
- };
161
- // When
162
- const result = await getLatestFirmwareForDevice(params);
163
- // Then
164
- expect(result).toBeNull();
165
- });
166
- });
167
- //# sourceMappingURL=getLatestFirmwareForDevice.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getLatestFirmwareForDevice.test.js","sourceRoot":"","sources":["../../../src/managerApi/use-cases/getLatestFirmwareForDevice.test.ts"],"names":[],"mappings":"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"}