@ledgerhq/device-management-kit 0.0.0-develop-20260427002229 → 0.0.0-develop-20260429002653
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.
- package/lib/cjs/package.json +1 -2
- package/lib/cjs/src/api/command/Errors.js +1 -1
- package/lib/cjs/src/api/command/Errors.js.map +3 -3
- package/lib/cjs/src/api/command/model/CommandResult.js +1 -1
- package/lib/cjs/src/api/command/model/CommandResult.js.map +3 -3
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js +1 -1
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js.map +3 -3
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +2 -2
- package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.js +1 -1
- package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.js.map +3 -3
- package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.test.js +1 -1
- package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.test.js.map +2 -2
- package/lib/cjs/src/api/device-action/task/Errors.js +2 -0
- package/lib/cjs/src/api/device-action/task/Errors.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js.map +3 -3
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +3 -3
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +3 -3
- package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
- package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +3 -3
- package/lib/cjs/src/api/index.js +1 -1
- package/lib/cjs/src/api/index.js.map +3 -3
- package/lib/cjs/src/api/model/DmkResult.js +2 -0
- package/lib/cjs/src/api/model/DmkResult.js.map +7 -0
- package/lib/cjs/src/api/model/DmkResult.test.js +2 -0
- package/lib/cjs/src/api/model/DmkResult.test.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClient.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClient.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClient.test.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClient.test.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClientError.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClientError.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js.map +7 -0
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js +2 -0
- package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js.map +7 -0
- package/lib/cjs/src/api/types.js +1 -1
- package/lib/cjs/src/api/types.js.map +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/esm/package.json +1 -2
- package/lib/esm/src/api/command/Errors.js +1 -1
- package/lib/esm/src/api/command/Errors.js.map +3 -3
- package/lib/esm/src/api/command/model/CommandResult.js +1 -1
- package/lib/esm/src/api/command/model/CommandResult.js.map +3 -3
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js +1 -1
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js.map +3 -3
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +2 -2
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js.map +2 -2
- package/lib/esm/src/api/device-action/task/BackupAppStorageTask.js +1 -1
- package/lib/esm/src/api/device-action/task/BackupAppStorageTask.js.map +3 -3
- package/lib/esm/src/api/device-action/task/BackupAppStorageTask.test.js +1 -1
- package/lib/esm/src/api/device-action/task/BackupAppStorageTask.test.js.map +3 -3
- package/lib/esm/src/api/device-action/task/Errors.js +2 -0
- package/lib/esm/src/api/device-action/task/Errors.js.map +7 -0
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js +1 -1
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js.map +3 -3
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js +1 -1
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +3 -3
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +3 -3
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +3 -3
- package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
- package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +3 -3
- package/lib/esm/src/api/index.js +1 -1
- package/lib/esm/src/api/index.js.map +3 -3
- package/lib/esm/src/api/model/DmkResult.js +2 -0
- package/lib/esm/src/api/model/DmkResult.js.map +7 -0
- package/lib/esm/src/api/model/DmkResult.test.js +2 -0
- package/lib/esm/src/api/model/DmkResult.test.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClient.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClient.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClient.test.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClient.test.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClientError.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClientError.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.js.map +7 -0
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js +2 -0
- package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js +2 -0
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +7 -0
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +2 -0
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +7 -0
- package/lib/esm/src/internal/manager-api/data/__mocks__/{AxiosManagerApiDataSource.js → HttpManagerApiDataSource.js} +2 -2
- package/lib/esm/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +7 -0
- package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
- package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +3 -3
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/types/src/api/command/Errors.d.ts +0 -20
- package/lib/types/src/api/command/Errors.d.ts.map +1 -1
- package/lib/types/src/api/command/model/CommandResult.d.ts +11 -17
- package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
- package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +9 -6
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +7 -6
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +3 -2
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/task/BackupAppStorageTask.d.ts +4 -2
- package/lib/types/src/api/device-action/task/BackupAppStorageTask.d.ts.map +1 -1
- package/lib/types/src/api/device-action/task/Errors.d.ts +12 -0
- package/lib/types/src/api/device-action/task/Errors.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts +5 -3
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts.map +1 -1
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts +7 -3
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts.map +1 -1
- package/lib/types/src/api/index.d.ts +5 -1
- package/lib/types/src/api/index.d.ts.map +1 -1
- package/lib/types/src/api/model/DmkResult.d.ts +24 -0
- package/lib/types/src/api/model/DmkResult.d.ts.map +1 -0
- package/lib/types/src/api/model/DmkResult.test.d.ts +2 -0
- package/lib/types/src/api/model/DmkResult.test.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClient.d.ts +97 -0
- package/lib/types/src/api/network/DmkNetworkClient.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClient.test.d.ts +2 -0
- package/lib/types/src/api/network/DmkNetworkClient.test.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClientError.d.ts +33 -0
- package/lib/types/src/api/network/DmkNetworkClientError.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts +73 -0
- package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts.map +1 -0
- package/lib/types/src/api/network/DmkNetworkClientHelpers.test.d.ts +2 -0
- package/lib/types/src/api/network/DmkNetworkClientHelpers.test.d.ts.map +1 -0
- package/lib/types/src/api/types.d.ts +1 -0
- package/lib/types/src/api/types.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/{AxiosManagerApiDataSource.d.ts → HttpManagerApiDataSource.d.ts} +3 -3
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.d.ts.map +1 -0
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.test.d.ts +2 -0
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.test.d.ts.map +1 -0
- package/lib/types/src/internal/manager-api/data/__mocks__/{AxiosManagerApiDataSource.d.ts → HttpManagerApiDataSource.d.ts} +2 -2
- package/lib/types/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.d.ts.map +1 -0
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +3 -4
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +0 -2
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +0 -2
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +0 -7
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +0 -2
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +0 -7
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +0 -2
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +0 -7
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +0 -2
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +0 -7
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +0 -7
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.test.d.ts +0 -2
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.test.d.ts.map +0 -1
- package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/internal/manager-api/data/HttpManagerApiDataSource.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { HttpManagerApiDataSource } from \"./HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\ndescribe(\"HttpManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, ETH_APP_METADATA];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Right(apps));\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n const { versionId, ...rest } = BTC_APP_METADATA;\n const apps = [{ versionId: \"invalidVersion\", ...rest }];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([BTC_APP_METADATA])),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([])),\n );\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n ),\n );\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should fail if payload don't match the dto\", async () => {\n const { versionId, ...rest } = BTC_APP_METADATA;\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([{ versionId: \"invalidVersion\", ...rest }]),\n ),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps.isRight()).toEqual(false);\n });\n\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = await api.getAppsByHash({ hashes });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 17,\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right({ id: 17 }));\n });\n\n it(\"should return an error if payload don't match dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"setProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 1,\n } as DmkConfig);\n });\n\n it(\"should not change the provider if the new value is the same\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(initialProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should not change the provider if the new value is less than 1\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(0); // invalid\n api.setProvider(-5); // invalid\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should update the provider if a valid and different value is provided\", () => {\n // given\n const newProvider = 2;\n\n // when\n api.setProvider(newProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n newProvider,\n );\n });\n });\n\n describe(\"getFirmwareVersionById\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersionById(42);\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n });\n\n describe(\"getLatestFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the latest firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: 361,\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n perso: \"perso_11\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n );\n });\n it(\"should return an error if result is not success\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"failed\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: \"InvalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getOsuFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete OSU firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n perso: \"perso_11\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getLanguagePackages\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the langage packages version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n language_package_id: 57,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 20800,\n date_creation: \"2025-03-04T10:48:27.910630Z\",\n date_last_modified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n language_package_id: 56,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 46592,\n date_creation: \"2025-03-04T10:48:26.218729Z\",\n date_last_modified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n languagePackageId: 57,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n bytes: 20800,\n dateCreation: \"2025-03-04T10:48:27.910630Z\",\n dateLastModified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n languagePackageId: 56,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n bytes: 46592,\n dateCreation: \"2025-03-04T10:48:26.218729Z\",\n dateLastModified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n version: \"0.0.4\",\n language_package_id: \"invalid\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getMcuList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a the list of MCUs\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: 1,\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [],\n device_versions: [1, 2],\n from_bootloader_version: \"\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n {\n id: 2,\n mcu: 1,\n name: \"1.1\",\n description: null,\n providers: [],\n device_versions: [1, 2],\n from_bootloader_version: \"\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.339966Z\",\n date_last_modified: \"2018-09-20T13:30:50.340031Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(\n Right([\n {\n id: 1,\n name: \"1.0\",\n },\n {\n id: 2,\n name: \"1.1\",\n },\n ]),\n );\n });\n\n it(\"should return an error when the payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: \"invalid id\",\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [],\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 123,\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n it(\"should return the initial provider\", () => {\n expect(api.getProvider()).toBe(123);\n });\n\n it(\"should return the updated provider after setProvider is called\", () => {\n api.setProvider(321);\n expect(api.getProvider()).toBe(321);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_purify_ts", "import_data", "import_Errors", "import_HttpManagerApiDataSource", "api", "apps", "response", "versionId", "rest", "error", "hashes", "err", "initialProvider"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var o=(i,e)=>{for(var t in e)a(i,t,{get:e[t],enumerable:!0})},f=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of s(e))!v.call(i,r)&&r!==t&&a(i,r,{get:()=>e[r],enumerable:!(n=g(e,r))||n.enumerable});return i};var p=i=>f(a({},"__esModule",{value:!0}),i);var c={};o(c,{HttpManagerApiDataSource:()=>m});module.exports=p(c);class m{getAppList=vi.fn();getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getFirmwareVersionById=vi.fn();getOsuFirmwareVersion=vi.fn();getLatestFirmwareVersion=vi.fn();getLanguagePackages=vi.fn();getAppsByHash=vi.fn();getMcuList=vi.fn();setProvider=vi.fn();getProvider=vi.fn()}0&&(module.exports={HttpManagerApiDataSource});
|
|
2
|
+
//# sourceMappingURL=HttpManagerApiDataSource.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.ts"],
|
|
4
|
+
"sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class HttpManagerApiDataSource implements ManagerApiDataSource {\n getAppList = vi.fn();\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getFirmwareVersionById = vi.fn();\n getOsuFirmwareVersion = vi.fn();\n getLatestFirmwareVersion = vi.fn();\n getLanguagePackages = vi.fn();\n getAppsByHash = vi.fn();\n getMcuList = vi.fn();\n setProvider = vi.fn();\n getProvider = vi.fn();\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAEO,MAAME,CAAyD,CACpE,WAAa,GAAG,GAAG,EACnB,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,uBAAyB,GAAG,GAAG,EAC/B,sBAAwB,GAAG,GAAG,EAC9B,yBAA2B,GAAG,GAAG,EACjC,oBAAsB,GAAG,GAAG,EAC5B,cAAgB,GAAG,GAAG,EACtB,WAAa,GAAG,GAAG,EACnB,YAAc,GAAG,GAAG,EACpB,YAAc,GAAG,GAAG,CACtB",
|
|
6
|
+
"names": ["HttpManagerApiDataSource_exports", "__export", "HttpManagerApiDataSource", "__toCommonJS"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var m=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var
|
|
1
|
+
"use strict";var m=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var C=(e,o)=>{for(var r in o)m(e,r,{get:o[r],enumerable:!0})},A=(e,o,r,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of c(o))!u.call(e,i)&&i!==r&&m(e,i,{get:()=>o[i],enumerable:!(a=S(o,i))||a.enumerable});return e};var M=e=>A(m({},"__esModule",{value:!0}),e);var D={};C(D,{managerApiModuleFactory:()=>l});module.exports=M(D);var n=require("inversify"),g=require("../../manager-api/data/HttpManagerApiDataSource"),s=require("../../manager-api/service/DefaultManagerApiService"),f=require("../../manager-api/use-case/SetProviderUseCase"),p=require("../../../../src/di.stub"),t=require("./managerApiTypes");const l=({stub:e,config:o})=>new n.ContainerModule(({bind:r,rebindSync:a})=>{r(t.managerApiTypes.DmkConfig).toConstantValue(o),r(t.managerApiTypes.ManagerApiDataSource).to(g.HttpManagerApiDataSource).inSingletonScope(),r(t.managerApiTypes.ManagerApiService).to(s.DefaultManagerApiService).inSingletonScope(),r(t.managerApiTypes.SetProviderUseCase).to(f.SetProviderUseCase),e&&(a(t.managerApiTypes.ManagerApiDataSource).to(p.StubUseCase),a(t.managerApiTypes.ManagerApiService).to(p.StubUseCase),a(t.managerApiTypes.SetProviderUseCase).to(p.StubUseCase))});0&&(module.exports={managerApiModuleFactory});
|
|
2
2
|
//# sourceMappingURL=managerApiModule.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/di/managerApiModule.ts"],
|
|
4
|
-
"sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport {
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAGhCC,
|
|
6
|
-
"names": ["managerApiModule_exports", "__export", "managerApiModuleFactory", "__toCommonJS", "import_inversify", "
|
|
4
|
+
"sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { SetProviderUseCase } from \"@internal/manager-api/use-case/SetProviderUseCase\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { managerApiTypes } from \"./managerApiTypes\";\n\ntype FactoryProps = {\n stub?: boolean;\n config: DmkConfig;\n};\n\nexport const managerApiModuleFactory = ({ stub, config }: FactoryProps) =>\n new ContainerModule(({ bind, rebindSync }) => {\n bind(managerApiTypes.DmkConfig).toConstantValue(config);\n\n bind(managerApiTypes.ManagerApiDataSource)\n .to(HttpManagerApiDataSource)\n .inSingletonScope();\n bind(managerApiTypes.ManagerApiService)\n .to(DefaultManagerApiService)\n .inSingletonScope();\n bind(managerApiTypes.SetProviderUseCase).to(SetProviderUseCase);\n\n if (stub) {\n rebindSync(managerApiTypes.ManagerApiDataSource).to(StubUseCase);\n rebindSync(managerApiTypes.ManagerApiService).to(StubUseCase);\n rebindSync(managerApiTypes.SetProviderUseCase).to(StubUseCase);\n }\n });\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAGhCC,EAAyC,+DACzCC,EAAyC,kEACzCC,EAAmC,6DACnCC,EAA4B,6BAE5BC,EAAgC,6BAOzB,MAAMP,EAA0B,CAAC,CAAE,KAAAQ,EAAM,OAAAC,CAAO,IACrD,IAAI,kBAAgB,CAAC,CAAE,KAAAC,EAAM,WAAAC,CAAW,IAAM,CAC5CD,EAAK,kBAAgB,SAAS,EAAE,gBAAgBD,CAAM,EAEtDC,EAAK,kBAAgB,oBAAoB,EACtC,GAAG,0BAAwB,EAC3B,iBAAiB,EACpBA,EAAK,kBAAgB,iBAAiB,EACnC,GAAG,0BAAwB,EAC3B,iBAAiB,EACpBA,EAAK,kBAAgB,kBAAkB,EAAE,GAAG,oBAAkB,EAE1DF,IACFG,EAAW,kBAAgB,oBAAoB,EAAE,GAAG,aAAW,EAC/DA,EAAW,kBAAgB,iBAAiB,EAAE,GAAG,aAAW,EAC5DA,EAAW,kBAAgB,kBAAkB,EAAE,GAAG,aAAW,EAEjE,CAAC",
|
|
6
|
+
"names": ["managerApiModule_exports", "__export", "managerApiModuleFactory", "__toCommonJS", "import_inversify", "import_HttpManagerApiDataSource", "import_DefaultManagerApiService", "import_SetProviderUseCase", "import_di", "import_managerApiTypes", "stub", "config", "bind", "rebindSync"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var c=require("inversify"),u=require("../../manager-api/data/
|
|
1
|
+
"use strict";var c=require("inversify"),u=require("../../manager-api/data/HttpManagerApiDataSource"),l=require("../../manager-api/service/DefaultManagerApiService"),i=require("../../../../src/di.stub"),p=require("./managerApiModule"),r=require("./managerApiTypes");describe("managerApiModuleFactory",()=>{describe("Default",()=>{let e,t;beforeEach(()=>{t=(0,p.managerApiModuleFactory)({stub:!1,config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}}),e=new c.Container,e.loadSync(t)}),it("should return the config module",()=>{expect(t).toBeDefined()}),it("should return none stubbed use cases",()=>{const o=e.get(r.managerApiTypes.ManagerApiDataSource);expect(o).toBeInstanceOf(u.HttpManagerApiDataSource);const a=e.get(r.managerApiTypes.ManagerApiService);expect(a).toBeInstanceOf(l.DefaultManagerApiService);const n=e.get(r.managerApiTypes.DmkConfig);expect(n).toEqual({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"})})}),describe("Stubbed",()=>{let e,t;beforeEach(()=>{t=(0,p.managerApiModuleFactory)({stub:!0,config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}}),e=new c.Container,e.loadSync(t)}),it("should return the config module",()=>{expect(t).toBeDefined()}),it("should return stubbed use cases",()=>{const o=e.get(r.managerApiTypes.ManagerApiDataSource);expect(o).toBeInstanceOf(i.StubUseCase);const a=e.get(r.managerApiTypes.ManagerApiService);expect(a).toBeInstanceOf(i.StubUseCase);const n=e.get(r.managerApiTypes.DmkConfig);expect(n).toEqual({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"})})})});
|
|
2
2
|
//# sourceMappingURL=managerApiModule.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/di/managerApiModule.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { Container } from \"inversify\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport {
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAA0B,qBAG1BC,
|
|
6
|
-
"names": ["import_inversify", "
|
|
4
|
+
"sourcesContent": ["import { Container } from \"inversify\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { managerApiModuleFactory } from \"./managerApiModule\";\nimport { managerApiTypes } from \"./managerApiTypes\";\n\ndescribe(\"managerApiModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof managerApiModuleFactory>;\n beforeEach(() => {\n mod = managerApiModuleFactory({\n stub: false,\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig,\n });\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the config module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return none stubbed use cases\", () => {\n const managerApiDataSource = container.get(\n managerApiTypes.ManagerApiDataSource,\n );\n expect(managerApiDataSource).toBeInstanceOf(HttpManagerApiDataSource);\n\n const managerApiService = container.get(\n managerApiTypes.ManagerApiService,\n );\n expect(managerApiService).toBeInstanceOf(DefaultManagerApiService);\n\n const config = container.get(managerApiTypes.DmkConfig);\n expect(config).toEqual({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n });\n });\n });\n\n describe(\"Stubbed\", () => {\n let container: Container;\n let mod: ReturnType<typeof managerApiModuleFactory>;\n beforeEach(() => {\n mod = managerApiModuleFactory({\n stub: true,\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig,\n });\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the config module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return stubbed use cases\", () => {\n const managerApiDataSource = container.get(\n managerApiTypes.ManagerApiDataSource,\n );\n expect(managerApiDataSource).toBeInstanceOf(StubUseCase);\n\n const managerApiService = container.get(\n managerApiTypes.ManagerApiService,\n );\n expect(managerApiService).toBeInstanceOf(StubUseCase);\n\n const config = container.get(managerApiTypes.DmkConfig);\n expect(config).toEqual({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n });\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAA0B,qBAG1BC,EAAyC,+DACzCC,EAAyC,kEACzCC,EAA4B,6BAE5BC,EAAwC,8BACxCC,EAAgC,6BAEhC,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,2BAAwB,CAC5B,KAAM,GACN,OAAQ,CACN,cAAe,kBACf,QAAS,uBACT,aAAc,2BAChB,CACF,CAAC,EACDD,EAAY,IAAI,YAChBA,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,uCAAwC,IAAM,CAC/C,MAAMC,EAAuBF,EAAU,IACrC,kBAAgB,oBAClB,EACA,OAAOE,CAAoB,EAAE,eAAe,0BAAwB,EAEpE,MAAMC,EAAoBH,EAAU,IAClC,kBAAgB,iBAClB,EACA,OAAOG,CAAiB,EAAE,eAAe,0BAAwB,EAEjE,MAAMC,EAASJ,EAAU,IAAI,kBAAgB,SAAS,EACtD,OAAOI,CAAM,EAAE,QAAQ,CACrB,cAAe,kBACf,QAAS,uBACT,aAAc,2BAChB,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,IAAIJ,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,2BAAwB,CAC5B,KAAM,GACN,OAAQ,CACN,cAAe,kBACf,QAAS,uBACT,aAAc,2BAChB,CACF,CAAC,EACDD,EAAY,IAAI,YAChBA,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,MAAMC,EAAuBF,EAAU,IACrC,kBAAgB,oBAClB,EACA,OAAOE,CAAoB,EAAE,eAAe,aAAW,EAEvD,MAAMC,EAAoBH,EAAU,IAClC,kBAAgB,iBAClB,EACA,OAAOG,CAAiB,EAAE,eAAe,aAAW,EAEpD,MAAMC,EAASJ,EAAU,IAAI,kBAAgB,SAAS,EACtD,OAAOI,CAAM,EAAE,QAAQ,CACrB,cAAe,kBACf,QAAS,uBACT,aAAc,2BAChB,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["import_inversify", "import_HttpManagerApiDataSource", "import_DefaultManagerApiService", "import_di", "import_managerApiModule", "import_managerApiTypes", "container", "mod", "managerApiDataSource", "managerApiService", "config"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var i=require("purify-ts"),s=require("../../../api/command/os/__mocks__/GetOsVersionCommand"),c=require("../../../api/device/DeviceModel"),t=require("../../../api/device-action/__test-utils__/data"),n=require("../../manager-api/data/
|
|
1
|
+
"use strict";var i=require("purify-ts"),s=require("../../../api/command/os/__mocks__/GetOsVersionCommand"),c=require("../../../api/device/DeviceModel"),t=require("../../../api/device-action/__test-utils__/data"),n=require("../../manager-api/data/HttpManagerApiDataSource"),p=require("../../manager-api/model/Errors"),l=require("./DefaultManagerApiService");vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let a,r;describe("ManagerApiService",()=>{beforeEach(()=>{a=new n.HttpManagerApiDataSource({}),r=new l.DefaultManagerApiService(a)}),describe("getAppList",()=>{it("should call api with the correct parameters",()=>{const e=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);r.getAppList(e),expect(a.getAppList).toHaveBeenCalledWith({targetId:"857735172",firmwareVersionName:"1.3.0"})})}),describe("getAppsByHash",()=>{describe("success cases",()=>{it("with no apps, should return an empty list",async()=>{a.getAppsByHash.mockResolvedValue((0,i.Right)([])),expect(await r.getAppsByHash([])).toEqual((0,i.Right)([]))}),it("with one app, should return the metadata",async()=>{a.getAppsByHash.mockResolvedValue((0,i.Right)([t.BTC_APP_METADATA])),expect(await r.getAppsByHash([t.BTC_APP.appFullHash])).toEqual((0,i.Right)([t.BTC_APP_METADATA]))}),it("with two app, should return the metadata of both apps",async()=>{a.getAppsByHash.mockResolvedValue((0,i.Right)([t.BTC_APP_METADATA,t.ETH_APP_METADATA])),expect(await r.getAppsByHash([t.BTC_APP,t.ETH_APP].map(e=>e.appFullHash))).toEqual((0,i.Right)([t.BTC_APP_METADATA,t.ETH_APP_METADATA]))}),it("with one app and one without `appFullHash`, should return the metadata of the correct app",async()=>{a.getAppsByHash.mockResolvedValue((0,i.Right)([t.BTC_APP_METADATA]));const e={...t.ETH_APP,appFullHash:""};expect(await r.getAppsByHash([t.BTC_APP,e].map(o=>o.appFullHash))).toEqual((0,i.Right)([t.BTC_APP_METADATA]))})}),describe("error cases",()=>{it("should return an error when the data source fails with a known error",async()=>{const e=new p.HttpFetchApiError(new Error("Failed to fetch data"));a.getAppsByHash.mockRejectedValue(e),expect(await r.getAppsByHash([t.BTC_APP.appFullHash])).toEqual((0,i.Left)(e))}),it("should return an error when the data source fails with an unknown error",async()=>{const e=new Error("unkown error");a.getAppsByHash.mockRejectedValue(e),expect(await r.getAppsByHash([t.BTC_APP.appFullHash])).toEqual((0,i.Left)(new p.HttpFetchApiError(e)))})})}),describe("getDeviceVersion",()=>{it("should call api with the correct parameters",()=>{const e=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);r.getDeviceVersion(e),expect(a.getDeviceVersion).toHaveBeenCalledWith({targetId:"857735172"})})}),describe("getFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);r.getFirmwareVersion(o,e),expect(a.getFirmwareVersion).toHaveBeenCalledWith({deviceId:17,version:"1.3.0"})})}),describe("getOsuFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);r.getOsuFirmwareVersion(o,e),expect(a.getOsuFirmwareVersion).toHaveBeenCalledWith({deviceId:17,version:"1.3.0"})})}),describe("getLatestFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o={id:159};r.getLatestFirmwareVersion(o,e),expect(a.getLatestFirmwareVersion).toHaveBeenCalledWith({currentFinalFirmwareId:159,deviceId:17})})}),describe("getNextFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={nextFinalFirmware:159};r.getNextFirmwareVersion(e),expect(a.getFirmwareVersionById).toHaveBeenCalledWith(159)})}),describe("getLanguagePackages",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o={id:159};r.getLanguagePackages(e,o),expect(a.getLanguagePackages).toHaveBeenCalledWith({deviceId:17,currentFinalFirmwareId:159})})}),describe("getMcuList",()=>{it("should call api with the correct parameters",()=>{r.getMcuList(),expect(a.getMcuList).toHaveBeenCalled()})})});
|
|
2
2
|
//# sourceMappingURL=DefaultManagerApiService.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/service/DefaultManagerApiService.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { type Mocked } from \"vitest\";\n\nimport { getOsVersionCommandResponseMockBuilder } from \"@api/command/os/__mocks__/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n ETH_APP,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport {
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAA4B,qBAG5BC,EAAuD,yDACvDC,EAA8B,mCAC9BC,EAKO,kDAEPC,
|
|
6
|
-
"names": ["import_purify_ts", "import_GetOsVersionCommand", "import_DeviceModel", "import_data", "
|
|
4
|
+
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { type Mocked } from \"vitest\";\n\nimport { getOsVersionCommandResponseMockBuilder } from \"@api/command/os/__mocks__/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n ETH_APP,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport {\n type FinalFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\n\nimport { DefaultManagerApiService } from \"./DefaultManagerApiService\";\nimport { type ManagerApiService } from \"./ManagerApiService\";\n\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\nlet dataSource: Mocked<HttpManagerApiDataSource>;\nlet service: ManagerApiService;\ndescribe(\"ManagerApiService\", () => {\n beforeEach(() => {\n dataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n ) as Mocked<HttpManagerApiDataSource>;\n service = new DefaultManagerApiService(dataSource);\n });\n\n describe(\"getAppList\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getAppList(deviceInfo);\n // then\n expect(dataSource.getAppList).toHaveBeenCalledWith({\n targetId: \"857735172\",\n firmwareVersionName: \"1.3.0\",\n });\n });\n });\n\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n it(\"with no apps, should return an empty list\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([]));\n expect(await service.getAppsByHash([])).toEqual(Right([]));\n });\n\n it(\"with one app, should return the metadata\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([BTC_APP_METADATA]));\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Right([BTC_APP_METADATA]),\n );\n });\n\n it(\"with two app, should return the metadata of both apps\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(\n Right([BTC_APP_METADATA, ETH_APP_METADATA]),\n );\n expect(\n await service.getAppsByHash(\n [BTC_APP, ETH_APP].map((app) => app.appFullHash),\n ),\n ).toEqual(Right([BTC_APP_METADATA, ETH_APP_METADATA]));\n });\n\n it(\"with one app and one without `appFullHash`, should return the metadata of the correct app\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([BTC_APP_METADATA]));\n const APP_WITH_NO_HASH = { ...ETH_APP, appFullHash: \"\" };\n expect(\n await service.getAppsByHash(\n [BTC_APP, APP_WITH_NO_HASH].map((app) => app.appFullHash),\n ),\n ).toEqual(Right([BTC_APP_METADATA]));\n });\n });\n\n describe(\"error cases\", () => {\n it(\"should return an error when the data source fails with a known error\", async () => {\n const error = new HttpFetchApiError(new Error(\"Failed to fetch data\"));\n dataSource.getAppsByHash.mockRejectedValue(error);\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Left(error),\n );\n });\n\n it(\"should return an error when the data source fails with an unknown error\", async () => {\n const error = new Error(\"unkown error\");\n dataSource.getAppsByHash.mockRejectedValue(error);\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Left(new HttpFetchApiError(error)),\n );\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getDeviceVersion(deviceInfo);\n // then\n expect(dataSource.getDeviceVersion).toHaveBeenCalledWith({\n targetId: \"857735172\",\n });\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getFirmwareVersion(deviceInfo, mockGetDeviceVersion);\n // then\n expect(dataSource.getFirmwareVersion).toHaveBeenCalledWith({\n deviceId: 17,\n version: \"1.3.0\",\n });\n });\n });\n\n describe(\"getOsuFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getOsuFirmwareVersion(deviceInfo, mockGetDeviceVersion);\n // then\n expect(dataSource.getOsuFirmwareVersion).toHaveBeenCalledWith({\n deviceId: 17,\n version: \"1.3.0\",\n });\n });\n });\n\n describe(\"getLatestFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const currentFirmware = {\n id: 159,\n } as FinalFirmware;\n // when\n service.getLatestFirmwareVersion(currentFirmware, deviceVersion);\n // then\n expect(dataSource.getLatestFirmwareVersion).toHaveBeenCalledWith({\n currentFinalFirmwareId: 159,\n deviceId: 17,\n });\n });\n });\n\n describe(\"getNextFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const osuFirmware = {\n nextFinalFirmware: 159,\n } as OsuFirmware;\n // when\n service.getNextFirmwareVersion(osuFirmware);\n // then\n expect(dataSource.getFirmwareVersionById).toHaveBeenCalledWith(159);\n });\n });\n\n describe(\"getLanguagePackages\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const currentFirmware = {\n id: 159,\n } as FinalFirmware;\n // when\n service.getLanguagePackages(deviceVersion, currentFirmware);\n // then\n expect(dataSource.getLanguagePackages).toHaveBeenCalledWith({\n deviceId: 17,\n currentFinalFirmwareId: 159,\n });\n });\n });\n\n describe(\"getMcuList\", () => {\n it(\"should call api with the correct parameters\", () => {\n // when\n service.getMcuList();\n // then\n expect(dataSource.getMcuList).toHaveBeenCalled();\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_purify_ts", "import_GetOsVersionCommand", "import_DeviceModel", "import_data", "import_HttpManagerApiDataSource", "import_Errors", "import_DefaultManagerApiService", "dataSource", "service", "deviceInfo", "app", "APP_WITH_NO_HASH", "error", "mockGetDeviceVersion", "deviceVersion", "currentFirmware", "osuFirmware"]
|
|
7
7
|
}
|
package/lib/esm/package.json
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
"dependencies": {
|
|
3
3
|
"@noble/hashes": "^1.8.0",
|
|
4
4
|
"@sentry/minimal": "catalog:",
|
|
5
|
-
"axios": "catalog:",
|
|
6
5
|
"inversify": "catalog:",
|
|
7
6
|
"isomorphic-ws": "catalog:",
|
|
8
7
|
"purify-ts": "catalog:",
|
|
@@ -64,5 +63,5 @@
|
|
|
64
63
|
"watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
65
64
|
"watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
|
|
66
65
|
},
|
|
67
|
-
"version": "0.0.0-develop-
|
|
66
|
+
"version": "0.0.0-develop-20260429002653"
|
|
68
67
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
class
|
|
1
|
+
class n{_tag="InvalidStatusWordError";originalError;constructor(r){this.originalError=new Error(r??"Invalid status word.")}}class t{_tag="InvalidResponseFormatError";originalError;constructor(r){this.originalError=new Error(r??"Invalid response format.")}}export{t as InvalidResponseFormatError,n as InvalidStatusWordError};
|
|
2
2
|
//# sourceMappingURL=Errors.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/api/command/Errors.ts"],
|
|
4
|
-
"sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class
|
|
5
|
-
"mappings": "AAEO,MAAMA,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYC,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,sBAAsB,CAClE,CACF,CAEO,MAAMC,
|
|
6
|
-
"names": ["InvalidStatusWordError", "message", "
|
|
4
|
+
"sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class InvalidResponseFormatError implements DmkError {\n readonly _tag = \"InvalidResponseFormatError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid response format.\");\n }\n}\n"],
|
|
5
|
+
"mappings": "AAEO,MAAMA,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYC,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,sBAAsB,CAClE,CACF,CAEO,MAAMC,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYD,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,0BAA0B,CACtE,CACF",
|
|
6
|
+
"names": ["InvalidStatusWordError", "message", "InvalidResponseFormatError"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import{DmkResultFactory as e,DmkResultStatus as m,isSuccessDmkResult as t}from"../../model/DmkResult";function s({data:r,error:o}){return o!==void 0?e({error:o}):e({data:r})}function d(r){return t(r)}export{s as CommandResultFactory,m as CommandResultStatus,d as isSuccessCommandResult};
|
|
2
2
|
//# sourceMappingURL=CommandResult.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/model/CommandResult.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import type {\n InvalidResponseFormatError,\n InvalidStatusWordError,\n} from \"@api/command/Errors\";\nimport type { GlobalCommandErrorStatusCode } from \"@api/command/utils/GlobalCommandError\";\nimport type {\n DeviceExchangeError,\n UnknownDeviceExchangeError,\n} from \"@api/Error\";\nimport type {\n DmkErrorResult,\n DmkResult,\n DmkSuccessResult,\n} from \"@api/model/DmkResult\";\nimport {\n DmkResultFactory,\n DmkResultStatus,\n isSuccessDmkResult,\n} from \"@api/model/DmkResult\";\n\nexport { DmkResultStatus as CommandResultStatus };\ntype CommandError<SpecificErrorCodes = void> =\n | DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode>\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | UnknownDeviceExchangeError;\n\nexport type CommandSuccessResult<Data> = DmkSuccessResult<Data>;\nexport type CommandErrorResult<SpecificErrorCodes = void> = DmkErrorResult<\n CommandError<SpecificErrorCodes>\n>;\nexport type CommandResult<Data, SpecificErrorCodes = void> = DmkResult<\n Data,\n CommandError<SpecificErrorCodes>\n>;\n\nexport function CommandResultFactory<Data, SpecificErrorCodes = void>({\n data,\n error,\n}:\n | { data: Data; error?: undefined }\n | {\n data?: undefined;\n error: CommandError<SpecificErrorCodes>;\n }): CommandResult<Data, SpecificErrorCodes> {\n if (error !== undefined) {\n return DmkResultFactory({\n error,\n });\n }\n\n return DmkResultFactory({\n data,\n });\n}\n\nexport function isSuccessCommandResult<Data, StatusCode>(\n result: CommandResult<Data, StatusCode>,\n): result is CommandSuccessResult<Data> {\n return isSuccessDmkResult(result);\n}\n"],
|
|
5
|
+
"mappings": "AAcA,OACE,oBAAAA,EACA,mBAAAC,EACA,sBAAAC,MACK,uBAkBA,SAASC,EAAsD,CACpE,KAAAC,EACA,MAAAC,CACF,EAKgD,CAC9C,OAAIA,IAAU,OACLC,EAAiB,CACtB,MAAAD,CACF,CAAC,EAGIC,EAAiB,CACtB,KAAAF,CACF,CAAC,CACH,CAEO,SAASG,EACdC,EACsC,CACtC,OAAOC,EAAmBD,CAAM,CAClC",
|
|
6
|
+
"names": ["DmkResultFactory", "DmkResultStatus", "isSuccessDmkResult", "CommandResultFactory", "data", "error", "DmkResultFactory", "isSuccessCommandResult", "result", "isSuccessDmkResult"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ApduBuilder as u}from"../../apdu/utils/ApduBuilder";import{ApduParser as
|
|
1
|
+
import{ApduBuilder as u}from"../../apdu/utils/ApduBuilder";import{ApduParser as i}from"../../apdu/utils/ApduParser";import{InvalidResponseFormatError as p}from"../../command/Errors";import{CommandResultFactory as n}from"../../command/model/CommandResult";import{CommandUtils as E}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as m}from"../../command/utils/GlobalCommandError";var R=(e=>(e[e.BATTERY_PERCENTAGE=0]="BATTERY_PERCENTAGE",e[e.BATTERY_VOLTAGE=1]="BATTERY_VOLTAGE",e[e.BATTERY_TEMPERATURE=2]="BATTERY_TEMPERATURE",e[e.BATTERY_CURRENT=3]="BATTERY_CURRENT",e[e.BATTERY_FLAGS=4]="BATTERY_FLAGS",e))(R||{}),B=(r=>(r[r.NONE=0]="NONE",r[r.USB=1]="USB",r[r.QI=2]="QI",r))(B||{});class x{name="getBatteryStatus";args;constructor(s){this.args=s}getApdu(){const s={cla:224,ins:16,p1:0,p2:this.args.statusType};return new u(s).build()}parseResponse(s){if(!E.isSuccessResponse(s))return n({error:m.handle(s)});const a=new i(s),r=t=>n({error:new p(t)});switch(this.args.statusType){case 0:{const t=a.extract8BitUInt();return t===void 0?r("getBatteryStatus: missing battery percentage in response"):n({data:t>100?-1:t})}case 1:{const t=a.extract16BitUInt();return t===void 0?r("getBatteryStatus: missing battery voltage in response"):n({data:t})}case 2:case 3:{const t=a.extract8BitUInt();return t===void 0?r(this.args.statusType===2?"getBatteryStatus: missing battery temperature in response":"getBatteryStatus: missing battery current in response"):n({data:t<<24>>24})}case 4:{const t=a.extract32BitUInt();if(t===void 0)return r("getBatteryStatus: missing battery flags in response");const e=!!(t&8),o=!e&&!!(t&1);return n({data:{charging:o?2:e?1:0,issueCharging:!!(t&16),issueTemperature:!!(t&32),issueBattery:!!(t&128)}})}default:return r("getBatteryStatus: unsupported battery status type")}}}export{R as BatteryStatusType,B as ChargingMode,x as GetBatteryStatusCommand};
|
|
2
2
|
//# sourceMappingURL=GetBatteryStatusCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/os/GetBatteryStatusCommand.ts"],
|
|
4
|
-
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {
|
|
5
|
-
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,
|
|
6
|
-
"names": ["ApduBuilder", "ApduParser", "
|
|
4
|
+
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport { InvalidResponseFormatError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\n/**\n * The type of battery information to retrieve.\n */\nexport enum BatteryStatusType {\n /**\n * The command response will be the battery percentage.\n */\n BATTERY_PERCENTAGE = 0x00,\n /**\n * The command response will be the battery voltage in mV.\n */\n BATTERY_VOLTAGE = 0x01,\n /**\n * The command response will be the battery temperature in degree celsius\n */\n BATTERY_TEMPERATURE = 0x02,\n /**\n * The command response will be the battery current in mA.\n */\n BATTERY_CURRENT = 0x03,\n /**\n * The command response will be the battery status (cf. `BatteryStatusFlags`)\n */\n BATTERY_FLAGS = 0x04,\n}\n\nexport enum ChargingMode {\n NONE = 0x00,\n USB = 0x01,\n QI = 0x02,\n}\n\nenum FlagMasks {\n CHARGING = 0x00000001,\n USB = 0x00000002,\n USB_POWERED = 0x00000008,\n BLE = 0x00000004,\n ISSUE_BATTERY = 0x00000080,\n ISSUE_CHARGING = 0x00000010,\n ISSUE_TEMPERATURE = 0x00000020,\n}\n\nexport type BatteryStatusFlags = {\n readonly charging: ChargingMode;\n readonly issueCharging: boolean;\n readonly issueTemperature: boolean;\n readonly issueBattery: boolean;\n};\n\n/**\n * The response type depends on the `statusType` parameter sent with the command,\n * cf. `BatteryStatusType`.\n */\nexport type GetBatteryStatusResponse = number | BatteryStatusFlags;\n\nexport type GetBatteryStatusArgs = {\n readonly statusType: BatteryStatusType;\n};\n\n/**\n * Command to get the battery status of the device.\n * The parameter statusType defines the type of information to retrieve, cf.\n * `BatteryStatusType`.\n *\n * WARNING: this command should not be sent within a logic of polling as it is\n * going to decrease the overall performance of the communication with the device.\n */\nexport class GetBatteryStatusCommand\n implements Command<GetBatteryStatusResponse, GetBatteryStatusArgs>\n{\n readonly name = \"getBatteryStatus\";\n readonly args: GetBatteryStatusArgs;\n\n constructor(args: GetBatteryStatusArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const getBatteryStatusArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x10,\n p1: 0x00,\n p2: this.args.statusType,\n };\n return new ApduBuilder(getBatteryStatusArgs).build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<GetBatteryStatusResponse> {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n const invalidResponseFormat = (message: string) =>\n CommandResultFactory<GetBatteryStatusResponse>({\n error: new InvalidResponseFormatError(message),\n });\n\n switch (this.args.statusType) {\n case BatteryStatusType.BATTERY_PERCENTAGE: {\n const percentage = parser.extract8BitUInt();\n if (percentage === undefined) {\n return invalidResponseFormat(\n \"getBatteryStatus: missing battery percentage in response\",\n );\n }\n return CommandResultFactory({\n data: percentage > 100 ? -1 : percentage,\n });\n }\n case BatteryStatusType.BATTERY_VOLTAGE: {\n const data = parser.extract16BitUInt();\n if (data === undefined) {\n return invalidResponseFormat(\n \"getBatteryStatus: missing battery voltage in response\",\n );\n }\n return CommandResultFactory({\n data,\n });\n }\n case BatteryStatusType.BATTERY_TEMPERATURE:\n case BatteryStatusType.BATTERY_CURRENT: {\n const data = parser.extract8BitUInt();\n if (data === undefined) {\n return invalidResponseFormat(\n this.args.statusType === BatteryStatusType.BATTERY_TEMPERATURE\n ? \"getBatteryStatus: missing battery temperature in response\"\n : \"getBatteryStatus: missing battery current in response\",\n );\n }\n return CommandResultFactory({\n data: (data << 24) >> 24,\n });\n }\n case BatteryStatusType.BATTERY_FLAGS: {\n const flags = parser.extract32BitUInt();\n if (flags === undefined) {\n return invalidResponseFormat(\n \"getBatteryStatus: missing battery flags in response\",\n );\n }\n const chargingUSB = !!(flags & FlagMasks.USB_POWERED);\n const chargingQi = !chargingUSB && !!(flags & FlagMasks.CHARGING);\n return CommandResultFactory({\n data: {\n charging: chargingQi\n ? ChargingMode.QI\n : chargingUSB\n ? ChargingMode.USB\n : ChargingMode.NONE,\n issueCharging: !!(flags & FlagMasks.ISSUE_CHARGING),\n issueTemperature: !!(flags & FlagMasks.ISSUE_TEMPERATURE),\n issueBattery: !!(flags & FlagMasks.ISSUE_BATTERY),\n },\n });\n }\n default:\n return invalidResponseFormat(\n \"getBatteryStatus: unsupported battery status type\",\n );\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAAS,8BAAAC,MAAkC,sBAC3C,OAEE,wBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAMnC,IAAKC,OAIVA,IAAA,mBAAqB,GAArB,qBAIAA,IAAA,gBAAkB,GAAlB,kBAIAA,IAAA,oBAAsB,GAAtB,sBAIAA,IAAA,gBAAkB,GAAlB,kBAIAA,IAAA,cAAgB,GAAhB,gBApBUA,OAAA,IAuBAC,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,IAAM,GAAN,MACAA,IAAA,GAAK,GAAL,KAHUA,OAAA,IAyCL,MAAMC,CAEb,CACW,KAAO,mBACP,KAET,YAAYC,EAA4B,CACtC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAwC,CAC5C,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,KAAK,KAAK,UAChB,EACA,OAAO,IAAIC,EAAYD,CAAoB,EAAE,MAAM,CACrD,CAEA,cACEE,EACyC,CACzC,GAAI,CAACC,EAAa,kBAAkBD,CAAY,EAC9C,OAAOE,EAAqB,CAC1B,MAAOC,EAA0B,OAAOH,CAAY,CACtD,CAAC,EAEH,MAAMI,EAAS,IAAIC,EAAWL,CAAY,EACpCM,EAAyBC,GAC7BL,EAA+C,CAC7C,MAAO,IAAIM,EAA2BD,CAAO,CAC/C,CAAC,EAEH,OAAQ,KAAK,KAAK,WAAY,CAC5B,IAAK,GAAsC,CACzC,MAAME,EAAaL,EAAO,gBAAgB,EAC1C,OAAIK,IAAe,OACVH,EACL,0DACF,EAEKJ,EAAqB,CAC1B,KAAMO,EAAa,IAAM,GAAKA,CAChC,CAAC,CACH,CACA,IAAK,GAAmC,CACtC,MAAMC,EAAON,EAAO,iBAAiB,EACrC,OAAIM,IAAS,OACJJ,EACL,uDACF,EAEKJ,EAAqB,CAC1B,KAAAQ,CACF,CAAC,CACH,CACA,IAAK,GACL,IAAK,GAAmC,CACtC,MAAMA,EAAON,EAAO,gBAAgB,EACpC,OAAIM,IAAS,OACJJ,EACL,KAAK,KAAK,aAAe,EACrB,4DACA,uDACN,EAEKJ,EAAqB,CAC1B,KAAOQ,GAAQ,IAAO,EACxB,CAAC,CACH,CACA,IAAK,GAAiC,CACpC,MAAMC,EAAQP,EAAO,iBAAiB,EACtC,GAAIO,IAAU,OACZ,OAAOL,EACL,qDACF,EAEF,MAAMM,EAAc,CAAC,EAAED,EAAQ,GACzBE,EAAa,CAACD,GAAe,CAAC,EAAED,EAAQ,GAC9C,OAAOT,EAAqB,CAC1B,KAAM,CACJ,SAAUW,EACN,EACAD,EACE,EACA,EACN,cAAe,CAAC,EAAED,EAAQ,IAC1B,iBAAkB,CAAC,EAAEA,EAAQ,IAC7B,aAAc,CAAC,EAAEA,EAAQ,IAC3B,CACF,CAAC,CACH,CACA,QACE,OAAOL,EACL,mDACF,CACJ,CACF,CACF",
|
|
6
|
+
"names": ["ApduBuilder", "ApduParser", "InvalidResponseFormatError", "CommandResultFactory", "CommandUtils", "GlobalCommandErrorHandler", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "args", "getBatteryStatusArgs", "ApduBuilder", "apduResponse", "CommandUtils", "CommandResultFactory", "GlobalCommandErrorHandler", "parser", "ApduParser", "invalidResponseFormat", "message", "InvalidResponseFormatError", "percentage", "data", "flags", "chargingUSB", "chargingQi"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CommandResultFactory as
|
|
1
|
+
import{InvalidResponseFormatError as c}from"../../command/Errors";import{CommandResultFactory as r,isSuccessCommandResult as x}from"../../command/model/CommandResult";import{GlobalCommandErrorHandler as _}from"../../command/utils/GlobalCommandError";import{ApduResponse as n}from"../../device-session/ApduResponse";import{BatteryStatusType as a,ChargingMode as u,GetBatteryStatusCommand as s}from"./GetBatteryStatusCommand";const y=Uint8Array.from([224,16,0,0,0]),g=Uint8Array.from([224,16,0,1,0]),w=Uint8Array.from([224,16,0,2,0]),P=Uint8Array.from([224,16,0,3,0]),h=Uint8Array.from([224,16,0,4,0]),i=Uint8Array.from([55,144,0]),p=Uint8Array.from([101,144,0]),d=Uint8Array.from([15,255,144,0]),T=Uint8Array.from([16,144,0]),S=Uint8Array.from([255,144,0]),m=Uint8Array.from([0,0,0,15,144,0]),R=Uint8Array.from([0,0,0,1,144,0]),l=Uint8Array.from([0,0,0,0,144,0]),E=Uint8Array.from([144,0]),A=Uint8Array.from([103,0]);describe("GetBatteryStatus",()=>{describe("name",()=>{it("should be 'getBatteryStatus'",()=>{const t=new s({statusType:a.BATTERY_PERCENTAGE});expect(t.name).toBe("getBatteryStatus")})}),describe("getApdu",()=>{it("should return the GetBatteryStatus APDU",()=>{expect(new s({statusType:a.BATTERY_PERCENTAGE}).getApdu().getRawApdu()).toStrictEqual(y),expect(new s({statusType:a.BATTERY_VOLTAGE}).getApdu().getRawApdu()).toStrictEqual(g),expect(new s({statusType:a.BATTERY_TEMPERATURE}).getApdu().getRawApdu()).toStrictEqual(w),expect(new s({statusType:a.BATTERY_CURRENT}).getApdu().getRawApdu()).toStrictEqual(P),expect(new s({statusType:a.BATTERY_FLAGS}).getApdu().getRawApdu()).toStrictEqual(h)})}),describe("parseResponse",()=>{it("should parse the response when querying percentage",()=>{const t=new n({statusCode:i.slice(-2),data:i.slice(0,-2)}),e=new s({statusType:a.BATTERY_PERCENTAGE}).parseResponse(t);expect(e).toStrictEqual(r({data:55}))}),it("should return -1 when battery percentage is above 100",()=>{const t=new n({statusCode:p.slice(-2),data:p.slice(0,-2)}),e=new s({statusType:a.BATTERY_PERCENTAGE}).parseResponse(t);expect(e).toStrictEqual(r({data:-1}))}),it("should parse the response when querying voltage",()=>{const t=new n({statusCode:d.slice(-2),data:d.slice(0,-2)}),e=new s({statusType:a.BATTERY_VOLTAGE}).parseResponse(t);expect(e).toStrictEqual(r({data:4095}))}),it("should parse the response when querying temperature",()=>{const t=new n({statusCode:T.slice(-2),data:T.slice(0,-2)}),e=new s({statusType:a.BATTERY_TEMPERATURE}).parseResponse(t);expect(e).toStrictEqual(r({data:16}))}),it("should parse the response when querying current",()=>{const t=new n({statusCode:S.slice(-2),data:S.slice(0,-2)}),e=new s({statusType:a.BATTERY_CURRENT}).parseResponse(t);expect(e).toStrictEqual(r({data:-1}))}),it("should parse the response when querying flags",()=>{const t=new n({statusCode:m.slice(-2),data:m.slice(0,-2)}),e=new s({statusType:a.BATTERY_FLAGS}).parseResponse(t);expect(e).toStrictEqual(r({data:{charging:u.USB,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should parse the response when querying flags with Qi charging",()=>{const t=new n({statusCode:R.slice(-2),data:R.slice(0,-2)}),e=new s({statusType:a.BATTERY_FLAGS}).parseResponse(t);expect(e).toStrictEqual(r({data:{charging:u.QI,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should parse the response when querying flags with no charging",()=>{const t=new n({statusCode:l.slice(-2),data:l.slice(0,-2)}),e=new s({statusType:a.BATTERY_FLAGS}).parseResponse(t);expect(e).toStrictEqual(r({data:{charging:u.NONE,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should return a handled command error when the status word is not successful",()=>{const t=new n({statusCode:A.slice(-2),data:A.slice(0,-2)}),e=new s({statusType:a.BATTERY_PERCENTAGE}).parseResponse(t);expect(e).toStrictEqual(r({error:_.handle(t)}))}),it("should return InvalidResponseFormatError when expected battery data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_PERCENTAGE}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery percentage in response")}))}),it("should return InvalidResponseFormatError when voltage data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_VOLTAGE}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery voltage in response")}))}),it("should return InvalidResponseFormatError when temperature data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_TEMPERATURE}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery temperature in response")}))}),it("should return InvalidResponseFormatError when current data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_CURRENT}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery current in response")}))}),it("should return InvalidResponseFormatError when flags data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_FLAGS}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery flags in response")}))}),it("should return InvalidResponseFormatError when status type is unsupported",()=>{const t=new n({statusCode:i.slice(-2),data:i.slice(0,-2)}),e=new s({statusType:255}).parseResponse(t);expect(x(e)).toBeFalsy(),expect(e).toStrictEqual(r({error:new c("getBatteryStatus: unsupported battery status type")}))})})});
|
|
2
2
|
//# sourceMappingURL=GetBatteryStatusCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/os/GetBatteryStatusCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport {\n BatteryStatusType,\n ChargingMode,\n GetBatteryStatusCommand,\n} from \"./GetBatteryStatusCommand\";\n\nconst GET_BATTERY_STATUS_APDU_PERCENTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x00, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_VOLTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x01, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_TEMPERATURE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x02, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_CURRENT = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x03, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_FLAGS = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x04, 0x00,\n]);\n\nconst PERCENTAGE_RESPONSE_HEX = Uint8Array.from([0x37, 0x90, 0x00]);\nconst VOLTAGE_RESPONSE_HEX = Uint8Array.from([0x0f, 0xff, 0x90, 0x00]);\nconst TEMPERATURE_RESPONSE_HEX = Uint8Array.from([0x10, 0x90, 0x00]);\nconst FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x0f, 0x90, 0x00,\n]);\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\ndescribe(\"GetBatteryStatus\", () => {\n describe(\"name\", () => {\n it(\"should be 'getBatteryStatus'\", () => {\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n expect(command.name).toBe(\"getBatteryStatus\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetBatteryStatus APDU\", () => {\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_PERCENTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_VOLTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_TEMPERATURE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_CURRENT);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_FLAGS);\n });\n });\n describe(\"parseResponse\", () => {\n it(\"should parse the response when querying percentage\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 55 }));\n });\n it(\"should parse the response when querying voltage\", () => {\n const VOLTAGE_RESPONSE = new ApduResponse({\n statusCode: VOLTAGE_RESPONSE_HEX.slice(-2),\n data: VOLTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const parsed = command.parseResponse(VOLTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 4095 }));\n });\n it(\"should parse the response when querying temperature\", () => {\n const TEMPERATURE_RESPONSE = new ApduResponse({\n statusCode: TEMPERATURE_RESPONSE_HEX.slice(-2),\n data: TEMPERATURE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const parsed = command.parseResponse(TEMPERATURE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 16 }));\n });\n it(\"should parse the response when querying flags\", () => {\n const FLAGS_RESPONSE = new ApduResponse({\n statusCode: FLAGS_RESPONSE_HEX.slice(-2),\n data: FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.USB,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should return an error if the response returned unsupported format\", () => {\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(FAILED_RESPONSE);\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OACE,
|
|
6
|
-
"names": ["CommandResultFactory", "isSuccessCommandResult", "ApduResponse", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "GET_BATTERY_STATUS_APDU_PERCENTAGE", "GET_BATTERY_STATUS_APDU_VOLTAGE", "GET_BATTERY_STATUS_APDU_TEMPERATURE", "GET_BATTERY_STATUS_APDU_CURRENT", "GET_BATTERY_STATUS_APDU_FLAGS", "PERCENTAGE_RESPONSE_HEX", "VOLTAGE_RESPONSE_HEX", "TEMPERATURE_RESPONSE_HEX", "FLAGS_RESPONSE_HEX", "FAILED_RESPONSE_HEX", "command", "PERCENTAGE_RESPONSE", "parsed", "VOLTAGE_RESPONSE", "TEMPERATURE_RESPONSE", "FLAGS_RESPONSE", "FAILED_RESPONSE", "result"]
|
|
4
|
+
"sourcesContent": ["import { InvalidResponseFormatError } from \"@api/command/Errors\";\nimport {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport {\n BatteryStatusType,\n ChargingMode,\n GetBatteryStatusCommand,\n} from \"./GetBatteryStatusCommand\";\n\nconst GET_BATTERY_STATUS_APDU_PERCENTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x00, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_VOLTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x01, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_TEMPERATURE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x02, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_CURRENT = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x03, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_FLAGS = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x04, 0x00,\n]);\n\nconst PERCENTAGE_RESPONSE_HEX = Uint8Array.from([0x37, 0x90, 0x00]);\nconst PERCENTAGE_OVERFLOW_RESPONSE_HEX = Uint8Array.from([0x65, 0x90, 0x00]);\nconst VOLTAGE_RESPONSE_HEX = Uint8Array.from([0x0f, 0xff, 0x90, 0x00]);\nconst TEMPERATURE_RESPONSE_HEX = Uint8Array.from([0x10, 0x90, 0x00]);\nconst CURRENT_RESPONSE_HEX = Uint8Array.from([0xff, 0x90, 0x00]);\nconst FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x0f, 0x90, 0x00,\n]);\nconst QI_FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x01, 0x90, 0x00,\n]);\nconst NONE_FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x00, 0x90, 0x00,\n]);\nconst EMPTY_SUCCESS_RESPONSE_HEX = Uint8Array.from([0x90, 0x00]);\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\ndescribe(\"GetBatteryStatus\", () => {\n describe(\"name\", () => {\n it(\"should be 'getBatteryStatus'\", () => {\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n expect(command.name).toBe(\"getBatteryStatus\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetBatteryStatus APDU\", () => {\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_PERCENTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_VOLTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_TEMPERATURE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_CURRENT);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_FLAGS);\n });\n });\n describe(\"parseResponse\", () => {\n it(\"should parse the response when querying percentage\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 55 }));\n });\n it(\"should return -1 when battery percentage is above 100\", () => {\n const PERCENTAGE_OVERFLOW_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_OVERFLOW_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_OVERFLOW_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_OVERFLOW_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: -1 }));\n });\n it(\"should parse the response when querying voltage\", () => {\n const VOLTAGE_RESPONSE = new ApduResponse({\n statusCode: VOLTAGE_RESPONSE_HEX.slice(-2),\n data: VOLTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const parsed = command.parseResponse(VOLTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 4095 }));\n });\n it(\"should parse the response when querying temperature\", () => {\n const TEMPERATURE_RESPONSE = new ApduResponse({\n statusCode: TEMPERATURE_RESPONSE_HEX.slice(-2),\n data: TEMPERATURE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const parsed = command.parseResponse(TEMPERATURE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 16 }));\n });\n it(\"should parse the response when querying current\", () => {\n const CURRENT_RESPONSE = new ApduResponse({\n statusCode: CURRENT_RESPONSE_HEX.slice(-2),\n data: CURRENT_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n });\n const parsed = command.parseResponse(CURRENT_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: -1 }));\n });\n it(\"should parse the response when querying flags\", () => {\n const FLAGS_RESPONSE = new ApduResponse({\n statusCode: FLAGS_RESPONSE_HEX.slice(-2),\n data: FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.USB,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should parse the response when querying flags with Qi charging\", () => {\n const QI_FLAGS_RESPONSE = new ApduResponse({\n statusCode: QI_FLAGS_RESPONSE_HEX.slice(-2),\n data: QI_FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(QI_FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.QI,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should parse the response when querying flags with no charging\", () => {\n const NONE_FLAGS_RESPONSE = new ApduResponse({\n statusCode: NONE_FLAGS_RESPONSE_HEX.slice(-2),\n data: NONE_FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(NONE_FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.NONE,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should return a handled command error when the status word is not successful\", () => {\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(FAILED_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(FAILED_RESPONSE),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when expected battery data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery percentage in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when voltage data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery voltage in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when temperature data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery temperature in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when current data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery current in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when flags data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery flags in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when status type is unsupported\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: 0xff as BatteryStatusType,\n });\n const result = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(isSuccessCommandResult(result)).toBeFalsy();\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: unsupported battery status type\",\n ),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["InvalidResponseFormatError", "CommandResultFactory", "isSuccessCommandResult", "GlobalCommandErrorHandler", "ApduResponse", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "GET_BATTERY_STATUS_APDU_PERCENTAGE", "GET_BATTERY_STATUS_APDU_VOLTAGE", "GET_BATTERY_STATUS_APDU_TEMPERATURE", "GET_BATTERY_STATUS_APDU_CURRENT", "GET_BATTERY_STATUS_APDU_FLAGS", "PERCENTAGE_RESPONSE_HEX", "PERCENTAGE_OVERFLOW_RESPONSE_HEX", "VOLTAGE_RESPONSE_HEX", "TEMPERATURE_RESPONSE_HEX", "CURRENT_RESPONSE_HEX", "FLAGS_RESPONSE_HEX", "QI_FLAGS_RESPONSE_HEX", "NONE_FLAGS_RESPONSE_HEX", "EMPTY_SUCCESS_RESPONSE_HEX", "FAILED_RESPONSE_HEX", "command", "PERCENTAGE_RESPONSE", "parsed", "PERCENTAGE_OVERFLOW_RESPONSE", "VOLTAGE_RESPONSE", "TEMPERATURE_RESPONSE", "CURRENT_RESPONSE", "FLAGS_RESPONSE", "QI_FLAGS_RESPONSE", "NONE_FLAGS_RESPONSE", "FAILED_RESPONSE", "result", "EMPTY_SUCCESS_RESPONSE"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Left as p}from"purify-ts";import{CommandResultStatus as n}from"../../command/model/CommandResult";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as f}from"../../../internal/device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as v}from"../../../internal/device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as l}from"../../../internal/device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as g}from"../../../internal/logger-publisher/service/DefaultLoggerPublisherService";import{
|
|
1
|
+
import{Left as p}from"purify-ts";import{CommandResultStatus as n}from"../../command/model/CommandResult";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as f}from"../../../internal/device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as v}from"../../../internal/device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as l}from"../../../internal/device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as g}from"../../../internal/logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as D}from"../../../internal/manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as C}from"../../../internal/manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as h}from"../../../internal/secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as y}from"../../../internal/secure-channel/service/DefaultSecureChannelService";import{SendCommandUseCase as a}from"./SendCommandUseCase";let o,t,i,c,m,u;const S="fakeSessionId";let r={name:"testCommand",getApdu:vi.fn(),parseResponse:vi.fn()};describe("SendCommandUseCase",()=>{beforeEach(()=>{o=new g([],"send-command-use-case"),t=new l(()=>o),c=new D({}),i=new C(c),u=new h({}),m=new y(u),r={name:"testCommand",getApdu:vi.fn(),parseResponse:vi.fn()}}),afterEach(()=>{vi.restoreAllMocks()}),it("should send a command to a connected device",async()=>{const e=v({},()=>o,i,m,f);t.addDeviceSession(e);const s=new a(t,()=>o);vi.spyOn(e,"sendCommand").mockResolvedValue({status:n.Success,data:void 0});const d=await s.execute({sessionId:S,command:r});e.close(),expect(d).toStrictEqual({status:n.Success,data:void 0})}),it("should throw an error if the session is not found",async()=>{const e=new a(t,()=>o);vi.spyOn(t,"getDeviceSessionById").mockReturnValue(p({_tag:"DeviceSessionNotFound"}));const s=e.execute({sessionId:S,command:r});await expect(s).rejects.toMatchObject({_tag:"DeviceSessionNotFound"})})});
|
|
2
2
|
//# sourceMappingURL=SendCommandUseCase.test.js.map
|