@ledgerhq/device-management-kit 0.0.0-develop-20250106155719 → 0.0.0-webhid-20250124103640

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/lib/cjs/package.json +4 -1
  2. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  3. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
  4. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  5. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  6. package/lib/cjs/src/api/DmkConfig.js +1 -1
  7. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  8. package/lib/cjs/src/api/command/model/CommandResult.js.map +1 -1
  9. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  10. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  11. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  12. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +2 -2
  13. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  14. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  15. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  16. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  17. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  18. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  19. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  20. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  21. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  22. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  23. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  24. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  25. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  26. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  27. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  28. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
  29. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
  30. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  31. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  32. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
  33. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  34. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  35. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  36. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
  37. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +2 -2
  38. package/lib/cjs/src/api/types.js.map +1 -1
  39. package/lib/cjs/src/di.js +1 -1
  40. package/lib/cjs/src/di.js.map +2 -2
  41. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  42. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  43. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  44. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +2 -2
  45. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  46. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +2 -2
  47. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  48. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +2 -2
  49. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  50. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +2 -2
  51. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  52. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +2 -2
  53. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  54. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
  55. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  56. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +2 -2
  57. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  58. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +2 -2
  59. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  60. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +2 -2
  61. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  62. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  63. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  64. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  65. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  66. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  67. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  68. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  69. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  70. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  71. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  72. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  73. package/lib/cjs/src/internal/manager-api/model/Errors.js +1 -1
  74. package/lib/cjs/src/internal/manager-api/model/Errors.js.map +3 -3
  75. package/lib/cjs/src/internal/manager-api/model/Params.js +2 -0
  76. package/lib/cjs/src/internal/manager-api/model/Params.js.map +7 -0
  77. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  78. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  79. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  80. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +2 -2
  81. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  82. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  83. package/lib/esm/package.json +4 -1
  84. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  85. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  86. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  87. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  88. package/lib/esm/src/api/command/model/CommandResult.js.map +1 -1
  89. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  90. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  91. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  92. package/lib/esm/src/api/command/utils/CommandUtils.js.map +2 -2
  93. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  94. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  95. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  96. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  97. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  98. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  99. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  100. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  101. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  102. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  103. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  104. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  105. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  106. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  107. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  108. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  109. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  110. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
  111. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +2 -2
  112. package/lib/esm/src/di.js +1 -1
  113. package/lib/esm/src/di.js.map +3 -3
  114. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  115. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  116. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  117. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +2 -2
  118. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  119. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +2 -2
  120. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  121. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +2 -2
  122. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  123. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +2 -2
  124. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  125. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +2 -2
  126. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  127. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
  128. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  129. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +2 -2
  130. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  131. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +2 -2
  132. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  133. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +2 -2
  134. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  135. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  136. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  137. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  138. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  139. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  140. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  141. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  142. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  143. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  144. package/lib/esm/src/internal/manager-api/model/Errors.js +1 -1
  145. package/lib/esm/src/internal/manager-api/model/Errors.js.map +3 -3
  146. package/lib/esm/src/internal/manager-api/model/Params.js +1 -0
  147. package/lib/esm/src/internal/manager-api/model/Params.js.map +7 -0
  148. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  149. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  150. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  151. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +2 -2
  152. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  153. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  154. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  155. package/lib/types/src/api/DmkConfig.d.ts +1 -0
  156. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  157. package/lib/types/src/api/command/model/CommandResult.d.ts +1 -2
  158. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  159. package/lib/types/src/api/device-action/DeviceAction.d.ts +1 -1
  160. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  161. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  162. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  163. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +1 -0
  164. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
  165. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  166. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -0
  167. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  168. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +5 -0
  169. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  170. package/lib/types/src/api/transport/model/Errors.d.ts +26 -26
  171. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  172. package/lib/types/src/api/types.d.ts +1 -1
  173. package/lib/types/src/api/types.d.ts.map +1 -1
  174. package/lib/types/src/di.d.ts.map +1 -1
  175. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  176. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +15 -5
  177. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  178. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +70 -2
  179. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  180. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +6 -0
  181. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  182. package/lib/types/src/internal/manager-api/model/Const.d.ts +1 -0
  183. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  184. package/lib/types/src/internal/manager-api/model/Errors.d.ts +6 -0
  185. package/lib/types/src/internal/manager-api/model/Errors.d.ts.map +1 -1
  186. package/lib/types/src/internal/manager-api/model/Params.d.ts +86 -0
  187. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -0
  188. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  189. package/package.json +5 -2
@@ -1,2 +1,2 @@
1
- import{deviceSessionStubBuilder as p}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as m}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as u}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as v}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as d}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as f}from"../../manager-api/service/DefaultManagerApiService";import{GetDeviceSessionStateUseCase as a}from"./GetDeviceSessionStateUseCase";jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let i,r,c,n;const o="fakeSessionId";describe("GetDeviceSessionStateUseCase",()=>{beforeEach(()=>{i=new v([],"get-connected-device-use-case-test"),c=new d({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),n=new f(c),r=new u(()=>i)}),it("should retrieve deviceSession device state",()=>{const e=p({id:o},()=>i,n);r.addDeviceSession(e);const t=new a(r,()=>i).execute({sessionId:o}),S=e.state;e.close(),expect(t).toStrictEqual(S)}),it("should throw error when deviceSession is not found",e=>{const s=new a(r,()=>i);try{s.execute({sessionId:o}).subscribe()}catch(t){expect(t).toBeInstanceOf(m),e()}})});
1
+ import{deviceSessionStubBuilder as m}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as p}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as u}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as v}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as d}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as f}from"../../manager-api/service/DefaultManagerApiService";import{GetDeviceSessionStateUseCase as a}from"./GetDeviceSessionStateUseCase";jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let i,o,c,n;const s="fakeSessionId";describe("GetDeviceSessionStateUseCase",()=>{beforeEach(()=>{i=new v([],"get-connected-device-use-case-test"),c=new d({}),n=new f(c),o=new u(()=>i)}),it("should retrieve deviceSession device state",()=>{const e=m({id:s},()=>i,n);o.addDeviceSession(e);const r=new a(o,()=>i).execute({sessionId:s}),S=e.state;e.close(),expect(r).toStrictEqual(S)}),it("should throw error when deviceSession is not found",e=>{const t=new a(o,()=>i);try{t.execute({sessionId:s}).subscribe()}catch(r){expect(r).toBeInstanceOf(p),e()}})});
2
2
  //# sourceMappingURL=GetDeviceSessionStateUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n // TODO: This test does not close a subscription\n // \u00AF\\_(\u30C4)_/\u00AF I cannot find which one unfortunatly\n it(\"should retrieve deviceSession device state\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n const res = useCase.execute({ sessionId: fakeSessionId });\n const expected = deviceSession.state;\n\n deviceSession.close();\n\n // then\n expect(res).toStrictEqual(expected);\n });\n\n it(\"should throw error when deviceSession is not found\", (done) => {\n // given\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase\n .execute({\n sessionId: fakeSessionId,\n })\n .subscribe();\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n done();\n }\n });\n});\n"],
5
- "mappings": "AACA,OAAS,4BAAAA,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAGzC,OAAS,gCAAAC,MAAoC,iCAE7C,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,+BAAgC,IAAM,CAC7C,WAAW,IAAM,CACfJ,EAAS,IAAIJ,EACX,CAAC,EACD,oCACF,EACAM,EAAuB,IAAIL,EAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDM,EAAa,IAAIL,EAAyBI,CAAoB,EAC9DD,EAAiB,IAAIN,EAA4B,IAAMK,CAAM,CAC/D,CAAC,EAID,GAAG,6CAA8C,IAAM,CAErD,MAAMK,EAAgBZ,EACpB,CAAE,GAAIW,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAM7C,MAAMC,EALU,IAAIP,EAClBE,EACA,IAAMD,CACR,EAEoB,QAAQ,CAAE,UAAWI,CAAc,CAAC,EAClDG,EAAWF,EAAc,MAE/BA,EAAc,MAAM,EAGpB,OAAOC,CAAG,EAAE,cAAcC,CAAQ,CACpC,CAAC,EAED,GAAG,qDAAuDC,GAAS,CAEjE,MAAMC,EAAU,IAAIV,EAClBE,EACA,IAAMD,CACR,EAGA,GAAI,CACFS,EACG,QAAQ,CACP,UAAWL,CACb,CAAC,EACA,UAAU,CACf,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAehB,CAAqB,EAClDc,EAAK,CACP,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n // TODO: This test does not close a subscription\n // \u00AF\\_(\u30C4)_/\u00AF I cannot find which one unfortunatly\n it(\"should retrieve deviceSession device state\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n const res = useCase.execute({ sessionId: fakeSessionId });\n const expected = deviceSession.state;\n\n deviceSession.close();\n\n // then\n expect(res).toStrictEqual(expected);\n });\n\n it(\"should throw error when deviceSession is not found\", (done) => {\n // given\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase\n .execute({\n sessionId: fakeSessionId,\n })\n .subscribe();\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n done();\n }\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,4BAAAA,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAGzC,OAAS,gCAAAC,MAAoC,iCAE7C,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,+BAAgC,IAAM,CAC7C,WAAW,IAAM,CACfJ,EAAS,IAAIJ,EACX,CAAC,EACD,oCACF,EACAM,EAAuB,IAAIL,EAA0B,CAAC,CAAc,EACpEM,EAAa,IAAIL,EAAyBI,CAAoB,EAC9DD,EAAiB,IAAIN,EAA4B,IAAMK,CAAM,CAC/D,CAAC,EAID,GAAG,6CAA8C,IAAM,CAErD,MAAMK,EAAgBZ,EACpB,CAAE,GAAIW,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAM7C,MAAMC,EALU,IAAIP,EAClBE,EACA,IAAMD,CACR,EAEoB,QAAQ,CAAE,UAAWI,CAAc,CAAC,EAClDG,EAAWF,EAAc,MAE/BA,EAAc,MAAM,EAGpB,OAAOC,CAAG,EAAE,cAAcC,CAAQ,CACpC,CAAC,EAED,GAAG,qDAAuDC,GAAS,CAEjE,MAAMC,EAAU,IAAIV,EAClBE,EACA,IAAMD,CACR,EAGA,GAAI,CACFS,EACG,QAAQ,CACP,UAAWL,CACb,CAAC,EACA,UAAU,CACf,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAehB,CAAqB,EAClDc,EAAK,CACP,CACF,CAAC,CACH,CAAC",
6
6
  "names": ["deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "GetDeviceSessionStateUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "fakeSessionId", "deviceSession", "res", "expected", "done", "useCase", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as p}from"inversify";import{TransportMock as f}from"../../../api/transport/model/__mocks__/TransportMock";import{deviceModelModuleFactory as d}from"../../device-model/di/deviceModelModule";import{deviceSessionModuleFactory as l}from"../../device-session/di/deviceSessionModule";import{ConnectUseCase as C}from"../../discovery/use-case/ConnectUseCase";import{DisconnectUseCase as U}from"../../discovery/use-case/DisconnectUseCase";import{ListConnectedDevicesUseCase as u}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{ListenToKnownDevicesUseCase as v}from"../../discovery/use-case/ListenToKnownDevicesUseCase";import{StartDiscoveringUseCase as g}from"../../discovery/use-case/StartDiscoveringUseCase";import{StopDiscoveringUseCase as y}from"../../discovery/use-case/StopDiscoveringUseCase";import{loggerModuleFactory as D}from"../../logger-publisher/di/loggerModule";import{managerApiModuleFactory as M}from"../../manager-api/di/managerApiModule";import{transportModuleFactory as F}from"../../transport/di/transportModule";import{discoveryModuleFactory as T}from"./discoveryModule";import{discoveryTypes as o}from"./discoveryTypes";describe("discoveryModuleFactory",()=>{let e,t,s;beforeEach(()=>{t=T({stub:!1}),e=new p,s=new f,e.load(t,D(),d({stub:!1}),l(),F({transports:[jest.fn().mockImplementation(()=>s)]}),M({config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}}))}),it("should return the device module",()=>{expect(t).toBeDefined()}),it("should return none mocked use cases",()=>{const r=e.get(o.StartDiscoveringUseCase);expect(r).toBeInstanceOf(g);const n=e.get(o.StopDiscoveringUseCase);expect(n).toBeInstanceOf(y);const c=e.get(o.DisconnectUseCase);expect(c).toBeInstanceOf(U);const i=e.get(o.ConnectUseCase);expect(i).toBeInstanceOf(C);const a=e.get(o.ListenToKnownDevicesUseCase);expect(a).toBeInstanceOf(v);const m=e.get(o.ListConnectedDevicesUseCase);expect(m).toBeInstanceOf(u)})});
1
+ import{Container as p}from"inversify";import{TransportMock as f}from"../../../api/transport/model/__mocks__/TransportMock";import{deviceModelModuleFactory as d}from"../../device-model/di/deviceModelModule";import{deviceSessionModuleFactory as l}from"../../device-session/di/deviceSessionModule";import{ConnectUseCase as C}from"../../discovery/use-case/ConnectUseCase";import{DisconnectUseCase as U}from"../../discovery/use-case/DisconnectUseCase";import{ListConnectedDevicesUseCase as u}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{ListenToKnownDevicesUseCase as v}from"../../discovery/use-case/ListenToKnownDevicesUseCase";import{StartDiscoveringUseCase as g}from"../../discovery/use-case/StartDiscoveringUseCase";import{StopDiscoveringUseCase as y}from"../../discovery/use-case/StopDiscoveringUseCase";import{loggerModuleFactory as D}from"../../logger-publisher/di/loggerModule";import{managerApiModuleFactory as k}from"../../manager-api/di/managerApiModule";import{transportModuleFactory as M}from"../../transport/di/transportModule";import{discoveryModuleFactory as F}from"./discoveryModule";import{discoveryTypes as o}from"./discoveryTypes";describe("discoveryModuleFactory",()=>{let e,t,s;beforeEach(()=>{t=F({stub:!1}),e=new p,s=new f,e.load(t,D(),d({stub:!1}),l(),M({transports:[jest.fn().mockImplementation(()=>s)]}),k({config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}}))}),it("should return the device module",()=>{expect(t).toBeDefined()}),it("should return none mocked use cases",()=>{const r=e.get(o.StartDiscoveringUseCase);expect(r).toBeInstanceOf(g);const n=e.get(o.StopDiscoveringUseCase);expect(n).toBeInstanceOf(y);const c=e.get(o.DisconnectUseCase);expect(c).toBeInstanceOf(U);const i=e.get(o.ConnectUseCase);expect(i).toBeInstanceOf(C);const a=e.get(o.ListenToKnownDevicesUseCase);expect(a).toBeInstanceOf(v);const m=e.get(o.ListConnectedDevicesUseCase);expect(m).toBeInstanceOf(u)})});
2
2
  //# sourceMappingURL=discoveryModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/di/discoveryModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type Transport } from \"@api/types\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport { transportModuleFactory } from \"@internal/transport/di/transportModule\";\n\nimport { discoveryModuleFactory } from \"./discoveryModule\";\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ndescribe(\"discoveryModuleFactory\", () => {\n let container: Container;\n let mod: ReturnType<typeof discoveryModuleFactory>;\n let transport: Transport;\n beforeEach(() => {\n mod = discoveryModuleFactory({ stub: false });\n container = new Container();\n transport = new TransportMock();\n\n container.load(\n mod,\n // The following modules are injected into discovery module\n loggerModuleFactory(),\n deviceModelModuleFactory({ stub: false }),\n deviceSessionModuleFactory(),\n transportModuleFactory({\n transports: [jest.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n },\n }),\n );\n });\n\n it(\"should return the device module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return none mocked use cases\", () => {\n const startDiscoveringUseCase = container.get(\n discoveryTypes.StartDiscoveringUseCase,\n );\n expect(startDiscoveringUseCase).toBeInstanceOf(StartDiscoveringUseCase);\n\n const stopDiscoveringUseCase = container.get(\n discoveryTypes.StopDiscoveringUseCase,\n );\n expect(stopDiscoveringUseCase).toBeInstanceOf(StopDiscoveringUseCase);\n\n const disconnectUseCase = container.get(discoveryTypes.DisconnectUseCase);\n expect(disconnectUseCase).toBeInstanceOf(DisconnectUseCase);\n\n const connectUseCase = container.get(discoveryTypes.ConnectUseCase);\n expect(connectUseCase).toBeInstanceOf(ConnectUseCase);\n\n const listenToKnownDevicesUseCase = container.get(\n discoveryTypes.ListenToKnownDevicesUseCase,\n );\n expect(listenToKnownDevicesUseCase).toBeInstanceOf(\n ListenToKnownDevicesUseCase,\n );\n const listConnectedDevicesUseCase = container.get(\n discoveryTypes.ListConnectedDevicesUseCase,\n );\n expect(listConnectedDevicesUseCase).toBeInstanceOf(\n ListConnectedDevicesUseCase,\n );\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,4BAAAC,MAAgC,8CACzC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,kBAAAC,MAAsB,8CAC/B,OAAS,qBAAAC,MAAyB,iDAClC,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,2BAAAC,MAA+B,uDACxC,OAAS,0BAAAC,MAA8B,sDACvC,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,0BAAAC,MAA8B,yCAEvC,OAAS,0BAAAC,MAA8B,oBACvC,OAAS,kBAAAC,MAAsB,mBAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,EAAMH,EAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CE,EAAY,IAAIf,EAChBiB,EAAY,IAAIhB,EAEhBc,EAAU,KACRC,EAEAN,EAAoB,EACpBR,EAAyB,CAAE,KAAM,EAAM,CAAC,EACxCC,EAA2B,EAC3BS,EAAuB,CACrB,WAAY,CAAC,KAAK,GAAG,EAAE,mBAAmB,IAAMK,CAAS,CAAC,CAC5D,CAAC,EACDN,EAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,sBACX,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOK,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,MAAME,EAA0BH,EAAU,IACxCD,EAAe,uBACjB,EACA,OAAOI,CAAuB,EAAE,eAAeV,CAAuB,EAEtE,MAAMW,EAAyBJ,EAAU,IACvCD,EAAe,sBACjB,EACA,OAAOK,CAAsB,EAAE,eAAeV,CAAsB,EAEpE,MAAMW,EAAoBL,EAAU,IAAID,EAAe,iBAAiB,EACxE,OAAOM,CAAiB,EAAE,eAAef,CAAiB,EAE1D,MAAMgB,EAAiBN,EAAU,IAAID,EAAe,cAAc,EAClE,OAAOO,CAAc,EAAE,eAAejB,CAAc,EAEpD,MAAMkB,EAA8BP,EAAU,IAC5CD,EAAe,2BACjB,EACA,OAAOQ,CAA2B,EAAE,eAClCf,CACF,EACA,MAAMgB,EAA8BR,EAAU,IAC5CD,EAAe,2BACjB,EACA,OAAOS,CAA2B,EAAE,eAClCjB,CACF,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type Transport } from \"@api/types\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport { transportModuleFactory } from \"@internal/transport/di/transportModule\";\n\nimport { discoveryModuleFactory } from \"./discoveryModule\";\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ndescribe(\"discoveryModuleFactory\", () => {\n let container: Container;\n let mod: ReturnType<typeof discoveryModuleFactory>;\n let transport: Transport;\n beforeEach(() => {\n mod = discoveryModuleFactory({ stub: false });\n container = new Container();\n transport = new TransportMock();\n\n container.load(\n mod,\n // The following modules are injected into discovery module\n loggerModuleFactory(),\n deviceModelModuleFactory({ stub: false }),\n deviceSessionModuleFactory(),\n transportModuleFactory({\n transports: [jest.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n },\n }),\n );\n });\n\n it(\"should return the device module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return none mocked use cases\", () => {\n const startDiscoveringUseCase = container.get(\n discoveryTypes.StartDiscoveringUseCase,\n );\n expect(startDiscoveringUseCase).toBeInstanceOf(StartDiscoveringUseCase);\n\n const stopDiscoveringUseCase = container.get(\n discoveryTypes.StopDiscoveringUseCase,\n );\n expect(stopDiscoveringUseCase).toBeInstanceOf(StopDiscoveringUseCase);\n\n const disconnectUseCase = container.get(discoveryTypes.DisconnectUseCase);\n expect(disconnectUseCase).toBeInstanceOf(DisconnectUseCase);\n\n const connectUseCase = container.get(discoveryTypes.ConnectUseCase);\n expect(connectUseCase).toBeInstanceOf(ConnectUseCase);\n\n const listenToKnownDevicesUseCase = container.get(\n discoveryTypes.ListenToKnownDevicesUseCase,\n );\n expect(listenToKnownDevicesUseCase).toBeInstanceOf(\n ListenToKnownDevicesUseCase,\n );\n const listConnectedDevicesUseCase = container.get(\n discoveryTypes.ListConnectedDevicesUseCase,\n );\n expect(listConnectedDevicesUseCase).toBeInstanceOf(\n ListConnectedDevicesUseCase,\n );\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,4BAAAC,MAAgC,8CACzC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,kBAAAC,MAAsB,8CAC/B,OAAS,qBAAAC,MAAyB,iDAClC,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,2BAAAC,MAA+B,uDACxC,OAAS,0BAAAC,MAA8B,sDACvC,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,0BAAAC,MAA8B,yCAEvC,OAAS,0BAAAC,MAA8B,oBACvC,OAAS,kBAAAC,MAAsB,mBAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,EAAMH,EAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CE,EAAY,IAAIf,EAChBiB,EAAY,IAAIhB,EAEhBc,EAAU,KACRC,EAEAN,EAAoB,EACpBR,EAAyB,CAAE,KAAM,EAAM,CAAC,EACxCC,EAA2B,EAC3BS,EAAuB,CACrB,WAAY,CAAC,KAAK,GAAG,EAAE,mBAAmB,IAAMK,CAAS,CAAC,CAC5D,CAAC,EACDN,EAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,uBACT,aAAc,2BAChB,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOK,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,MAAME,EAA0BH,EAAU,IACxCD,EAAe,uBACjB,EACA,OAAOI,CAAuB,EAAE,eAAeV,CAAuB,EAEtE,MAAMW,EAAyBJ,EAAU,IACvCD,EAAe,sBACjB,EACA,OAAOK,CAAsB,EAAE,eAAeV,CAAsB,EAEpE,MAAMW,EAAoBL,EAAU,IAAID,EAAe,iBAAiB,EACxE,OAAOM,CAAiB,EAAE,eAAef,CAAiB,EAE1D,MAAMgB,EAAiBN,EAAU,IAAID,EAAe,cAAc,EAClE,OAAOO,CAAc,EAAE,eAAejB,CAAc,EAEpD,MAAMkB,EAA8BP,EAAU,IAC5CD,EAAe,2BACjB,EACA,OAAOQ,CAA2B,EAAE,eAClCf,CACF,EACA,MAAMgB,EAA8BR,EAAU,IAC5CD,EAAe,2BACjB,EACA,OAAOS,CAA2B,EAAE,eAClCjB,CACF,CACF,CAAC,CACH,CAAC",
6
6
  "names": ["Container", "TransportMock", "deviceModelModuleFactory", "deviceSessionModuleFactory", "ConnectUseCase", "DisconnectUseCase", "ListConnectedDevicesUseCase", "ListenToKnownDevicesUseCase", "StartDiscoveringUseCase", "StopDiscoveringUseCase", "loggerModuleFactory", "managerApiModuleFactory", "transportModuleFactory", "discoveryModuleFactory", "discoveryTypes", "container", "mod", "transport", "startDiscoveringUseCase", "stopDiscoveringUseCase", "disconnectUseCase", "connectUseCase", "listenToKnownDevicesUseCase", "listConnectedDevicesUseCase"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as u,Maybe as a,Right as S}from"purify-ts";import{TransportMock as g}from"../../../api/transport/model/__mocks__/TransportMock";import{UnknownDeviceError as p}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as D}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DefaultDeviceSessionService as d}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as k}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as y}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as A}from"../../manager-api/service/DefaultManagerApiService";import{DefaultTransportService as M}from"../../transport/service/DefaultTransportService";import{ConnectUseCase as m}from"./ConnectUseCase";jest.mock("uuid",()=>({v4:jest.fn().mockReturnValue("fakeSessionId")}));jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");jest.mock("@internal/transport/service/DefaultTransportService");let r,o,s,e,i,v;const w="fakeSessionId";describe("ConnectUseCase",()=>{const n={id:"",deviceModel:{},transport:"USB"},f=D({id:"1"}),l="logger-tag";beforeAll(()=>{s=new k([],l),r=new g,e=new d(()=>s),v=new y({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),i=new A(v),o=new M}),afterEach(()=>{for(const t of e.getDeviceSessions())e.removeDeviceSession(t.id)}),afterAll(()=>{jest.restoreAllMocks()}),test("If connect use case encounter an error, return it",async()=>{jest.spyOn(r,"connect").mockResolvedValue(u(new p)),jest.spyOn(o,"getTransport").mockReturnValue(a.of(r));const t=new m(o,e,()=>s,i);await expect(t.execute({device:n})).rejects.toBeInstanceOf(p)}),test("If connect is in success, return a deviceSession id",async()=>{jest.spyOn(r,"connect").mockResolvedValue(Promise.resolve(S(f))),jest.spyOn(o,"getTransport").mockReturnValue(a.of(r));const c=await new m(o,e,()=>s,i).execute({device:n});expect(c).toBe(w),e.removeDeviceSession(c)})});
1
+ import{Left as l,Maybe as a,Right as S}from"purify-ts";import{TransportMock as D}from"../../../api/transport/model/__mocks__/TransportMock";import{UnknownDeviceError as p}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as g}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DefaultDeviceSessionService as d}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as k}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as y}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as A}from"../../manager-api/service/DefaultManagerApiService";import{DefaultTransportService as M}from"../../transport/service/DefaultTransportService";import{ConnectUseCase as m}from"./ConnectUseCase";jest.mock("uuid",()=>({v4:jest.fn().mockReturnValue("fakeSessionId")}));jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");jest.mock("@internal/transport/service/DefaultTransportService");let r,o,s,e,i,v;const w="fakeSessionId";describe("ConnectUseCase",()=>{const n={id:"",deviceModel:{},transport:"USB"},f=g({id:"1"}),u="logger-tag";beforeAll(()=>{s=new k([],u),r=new D,e=new d(()=>s),v=new y({}),i=new A(v),o=new M}),afterEach(()=>{for(const t of e.getDeviceSessions())e.removeDeviceSession(t.id)}),afterAll(()=>{jest.restoreAllMocks()}),test("If connect use case encounter an error, return it",async()=>{jest.spyOn(r,"connect").mockResolvedValue(l(new p)),jest.spyOn(o,"getTransport").mockReturnValue(a.of(r));const t=new m(o,e,()=>s,i);await expect(t.execute({device:n})).rejects.toBeInstanceOf(p)}),test("If connect is in success, return a deviceSession id",async()=>{jest.spyOn(r,"connect").mockResolvedValue(Promise.resolve(S(f))),jest.spyOn(o,"getTransport").mockReturnValue(a.of(r));const c=await new m(o,e,()=>s,i).execute({device:n});expect(c).toBe(w),e.removeDeviceSession(c)})});
2
2
  //# sourceMappingURL=ConnectUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ConnectUseCase.test.ts"],
4
- "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModel } from \"@api/device/DeviceModel\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { UnknownDeviceError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ConnectUseCase } from \"./ConnectUseCase\";\n\njest.mock(\"uuid\", () => ({\n v4: jest.fn().mockReturnValue(\"fakeSessionId\"),\n}));\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\n// TODO test several transports\n// let transports: WebUsbHidTransport[];\nlet transport: Transport;\nlet transportService: TransportService;\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nconst fakeSessionId = \"fakeSessionId\";\ndescribe(\"ConnectUseCase\", () => {\n const stubDiscoveredDevice: DiscoveredDevice = {\n id: \"\",\n deviceModel: {} as DeviceModel,\n transport: \"USB\",\n };\n const stubConnectedDevice = connectedDeviceStubBuilder({ id: \"1\" });\n const tag = \"logger-tag\";\n\n beforeAll(() => {\n logger = new DefaultLoggerPublisherService([], tag);\n transport = new TransportMock();\n sessionService = new DefaultDeviceSessionService(() => logger);\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n afterEach(() => {\n for (const session of sessionService.getDeviceSessions()) {\n sessionService.removeDeviceSession(session.id);\n }\n });\n\n afterAll(() => {\n jest.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", async () => {\n jest\n .spyOn(transport, \"connect\")\n .mockResolvedValue(Left(new UnknownDeviceError()));\n\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n );\n\n await expect(\n usecase.execute({ device: stubDiscoveredDevice }),\n ).rejects.toBeInstanceOf(UnknownDeviceError);\n });\n\n test(\"If connect is in success, return a deviceSession id\", async () => {\n jest\n .spyOn(transport, \"connect\")\n .mockResolvedValue(Promise.resolve(Right(stubConnectedDevice)));\n\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n );\n\n const sessionId = await usecase.execute({\n device: stubDiscoveredDevice,\n });\n expect(sessionId).toBe(fakeSessionId);\n sessionService.removeDeviceSession(sessionId);\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,EAAO,SAAAC,MAAa,YAInC,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,sBAAAC,MAA0B,8BACnC,OAAS,8BAAAC,MAAkC,qDAE3C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,kBAAAC,MAAsB,mBAE/B,KAAK,KAAK,OAAQ,KAAO,CACvB,GAAI,KAAK,GAAG,EAAE,gBAAgB,eAAe,CAC/C,EAAE,EAEF,KAAK,KAAK,sDAAsD,EAChE,KAAK,KAAK,qDAAqD,EAI/D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBACtB,SAAS,iBAAkB,IAAM,CAC/B,MAAMC,EAAyC,CAC7C,GAAI,GACJ,YAAa,CAAC,EACd,UAAW,KACb,EACMC,EAAsBf,EAA2B,CAAE,GAAI,GAAI,CAAC,EAC5DgB,EAAM,aAEZ,UAAU,IAAM,CACdP,EAAS,IAAIP,EAA8B,CAAC,EAAGc,CAAG,EAClDT,EAAY,IAAIT,EAChBY,EAAiB,IAAIT,EAA4B,IAAMQ,CAAM,EAC7DG,EAAuB,IAAIT,EAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDQ,EAAa,IAAIP,EAAyBQ,CAAoB,EAE9DJ,EAAmB,IAAIH,CACzB,CAAC,EAED,UAAU,IAAM,CACd,UAAWY,KAAWP,EAAe,kBAAkB,EACrDA,EAAe,oBAAoBO,EAAQ,EAAE,CAEjD,CAAC,EAED,SAAS,IAAM,CACb,KAAK,gBAAgB,CACvB,CAAC,EAED,KAAK,oDAAqD,SAAY,CACpE,KACG,MAAMV,EAAW,SAAS,EAC1B,kBAAkBZ,EAAK,IAAII,CAAoB,CAAC,EAEnD,KACG,MAAMS,EAAkB,cAAc,EACtC,gBAAgBZ,EAAM,GAAGW,CAAS,CAAC,EAEtC,MAAMW,EAAU,IAAIZ,EAClBE,EACAE,EACA,IAAMD,EACNE,CACF,EAEA,MAAM,OACJO,EAAQ,QAAQ,CAAE,OAAQJ,CAAqB,CAAC,CAClD,EAAE,QAAQ,eAAef,CAAkB,CAC7C,CAAC,EAED,KAAK,sDAAuD,SAAY,CACtE,KACG,MAAMQ,EAAW,SAAS,EAC1B,kBAAkB,QAAQ,QAAQV,EAAMkB,CAAmB,CAAC,CAAC,EAEhE,KACG,MAAMP,EAAkB,cAAc,EACtC,gBAAgBZ,EAAM,GAAGW,CAAS,CAAC,EAStC,MAAMY,EAAY,MAPF,IAAIb,EAClBE,EACAE,EACA,IAAMD,EACNE,CACF,EAEgC,QAAQ,CACtC,OAAQG,CACV,CAAC,EACD,OAAOK,CAAS,EAAE,KAAKN,CAAa,EACpCH,EAAe,oBAAoBS,CAAS,CAC9C,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModel } from \"@api/device/DeviceModel\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { UnknownDeviceError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ConnectUseCase } from \"./ConnectUseCase\";\n\njest.mock(\"uuid\", () => ({\n v4: jest.fn().mockReturnValue(\"fakeSessionId\"),\n}));\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\n// TODO test several transports\n// let transports: WebUsbHidTransport[];\nlet transport: Transport;\nlet transportService: TransportService;\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nconst fakeSessionId = \"fakeSessionId\";\ndescribe(\"ConnectUseCase\", () => {\n const stubDiscoveredDevice: DiscoveredDevice = {\n id: \"\",\n deviceModel: {} as DeviceModel,\n transport: \"USB\",\n };\n const stubConnectedDevice = connectedDeviceStubBuilder({ id: \"1\" });\n const tag = \"logger-tag\";\n\n beforeAll(() => {\n logger = new DefaultLoggerPublisherService([], tag);\n transport = new TransportMock();\n sessionService = new DefaultDeviceSessionService(() => logger);\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n afterEach(() => {\n for (const session of sessionService.getDeviceSessions()) {\n sessionService.removeDeviceSession(session.id);\n }\n });\n\n afterAll(() => {\n jest.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", async () => {\n jest\n .spyOn(transport, \"connect\")\n .mockResolvedValue(Left(new UnknownDeviceError()));\n\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n );\n\n await expect(\n usecase.execute({ device: stubDiscoveredDevice }),\n ).rejects.toBeInstanceOf(UnknownDeviceError);\n });\n\n test(\"If connect is in success, return a deviceSession id\", async () => {\n jest\n .spyOn(transport, \"connect\")\n .mockResolvedValue(Promise.resolve(Right(stubConnectedDevice)));\n\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n );\n\n const sessionId = await usecase.execute({\n device: stubDiscoveredDevice,\n });\n expect(sessionId).toBe(fakeSessionId);\n sessionService.removeDeviceSession(sessionId);\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,EAAO,SAAAC,MAAa,YAInC,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,sBAAAC,MAA0B,8BACnC,OAAS,8BAAAC,MAAkC,qDAE3C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,kBAAAC,MAAsB,mBAE/B,KAAK,KAAK,OAAQ,KAAO,CACvB,GAAI,KAAK,GAAG,EAAE,gBAAgB,eAAe,CAC/C,EAAE,EAEF,KAAK,KAAK,sDAAsD,EAChE,KAAK,KAAK,qDAAqD,EAI/D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBACtB,SAAS,iBAAkB,IAAM,CAC/B,MAAMC,EAAyC,CAC7C,GAAI,GACJ,YAAa,CAAC,EACd,UAAW,KACb,EACMC,EAAsBf,EAA2B,CAAE,GAAI,GAAI,CAAC,EAC5DgB,EAAM,aAEZ,UAAU,IAAM,CACdP,EAAS,IAAIP,EAA8B,CAAC,EAAGc,CAAG,EAClDT,EAAY,IAAIT,EAChBY,EAAiB,IAAIT,EAA4B,IAAMQ,CAAM,EAC7DG,EAAuB,IAAIT,EAA0B,CAAC,CAAc,EACpEQ,EAAa,IAAIP,EAAyBQ,CAAoB,EAE9DJ,EAAmB,IAAIH,CACzB,CAAC,EAED,UAAU,IAAM,CACd,UAAWY,KAAWP,EAAe,kBAAkB,EACrDA,EAAe,oBAAoBO,EAAQ,EAAE,CAEjD,CAAC,EAED,SAAS,IAAM,CACb,KAAK,gBAAgB,CACvB,CAAC,EAED,KAAK,oDAAqD,SAAY,CACpE,KACG,MAAMV,EAAW,SAAS,EAC1B,kBAAkBZ,EAAK,IAAII,CAAoB,CAAC,EAEnD,KACG,MAAMS,EAAkB,cAAc,EACtC,gBAAgBZ,EAAM,GAAGW,CAAS,CAAC,EAEtC,MAAMW,EAAU,IAAIZ,EAClBE,EACAE,EACA,IAAMD,EACNE,CACF,EAEA,MAAM,OACJO,EAAQ,QAAQ,CAAE,OAAQJ,CAAqB,CAAC,CAClD,EAAE,QAAQ,eAAef,CAAkB,CAC7C,CAAC,EAED,KAAK,sDAAuD,SAAY,CACtE,KACG,MAAMQ,EAAW,SAAS,EAC1B,kBAAkB,QAAQ,QAAQV,EAAMkB,CAAmB,CAAC,CAAC,EAEhE,KACG,MAAMP,EAAkB,cAAc,EACtC,gBAAgBZ,EAAM,GAAGW,CAAS,CAAC,EAStC,MAAMY,EAAY,MAPF,IAAIb,EAClBE,EACAE,EACA,IAAMD,EACNE,CACF,EAEgC,QAAQ,CACtC,OAAQG,CACV,CAAC,EACD,OAAOK,CAAS,EAAE,KAAKN,CAAa,EACpCH,EAAe,oBAAoBS,CAAS,CAC9C,CAAC,CACH,CAAC",
6
6
  "names": ["Left", "Maybe", "Right", "TransportMock", "UnknownDeviceError", "connectedDeviceStubBuilder", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultTransportService", "ConnectUseCase", "transport", "transportService", "logger", "sessionService", "managerApi", "managerApiDataSource", "fakeSessionId", "stubDiscoveredDevice", "stubConnectedDevice", "tag", "session", "usecase", "sessionId"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as u,Maybe as f,Right as c}from"purify-ts";import{TransportMock as S}from"../../../api/transport/model/__mocks__/TransportMock";import{DisconnectError as l}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as D}from"../../../api/transport/model/TransportConnectedDevice.stub";import{deviceSessionStubBuilder as d}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as y}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as w}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as g}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as h}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as k}from"../../manager-api/service/DefaultManagerApiService";import{DefaultTransportService as A}from"../../transport/service/DefaultTransportService";import{DisconnectUseCase as a}from"./DisconnectUseCase";jest.mock("@internal/transport/service/DefaultTransportService");let e,p,i=[];const r=jest.fn().mockReturnValue(new g([],"DisconnectUseCaseTest"));let s,m,v;const n="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new S,i=[p],e=new w(r),s=new A,jest.spyOn(s,"getTransport").mockReturnValue(f.of(p))}),it("should disconnect from a device",async()=>{const o=D();v=new h({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),m=new k(v);const t=d({id:n,connectedDevice:o},r,m);jest.spyOn(e,"getDeviceSessionById").mockImplementation(()=>c(t)),jest.spyOn(t,"close"),jest.spyOn(e,"removeDeviceSession"),jest.spyOn(i[0],"disconnect").mockImplementation(()=>Promise.resolve(c(void 0))),await new a(s,e,r).execute({sessionId:n}),expect(t.close).toHaveBeenCalled(),expect(e.removeDeviceSession).toHaveBeenCalledWith(n),expect(i[0].disconnect).toHaveBeenCalledWith({connectedDevice:o})}),it("should throw an error when deviceSession not found",async()=>{const o=new a(s,e,r);try{await o.execute({sessionId:n})}catch(t){expect(t).toStrictEqual(new y)}}),it("should throw an error if usb hid disconnection fails",async()=>{jest.spyOn(e,"getDeviceSessionById").mockImplementation(()=>c(d({id:n},r,m))),jest.spyOn(i[0],"disconnect").mockResolvedValue(Promise.resolve(u(new l)));const o=new a(s,e,r);try{await o.execute({sessionId:n})}catch(t){expect(t).toStrictEqual(new l)}})});
1
+ import{Left as f,Maybe as u,Right as c}from"purify-ts";import{TransportMock as S}from"../../../api/transport/model/__mocks__/TransportMock";import{DisconnectError as l}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as D}from"../../../api/transport/model/TransportConnectedDevice.stub";import{deviceSessionStubBuilder as d}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as y}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as g}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as w}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as h}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as C}from"../../manager-api/service/DefaultManagerApiService";import{DefaultTransportService as k}from"../../transport/service/DefaultTransportService";import{DisconnectUseCase as a}from"./DisconnectUseCase";jest.mock("@internal/transport/service/DefaultTransportService");let e,p,i=[];const n=jest.fn().mockReturnValue(new w([],"DisconnectUseCaseTest"));let s,m,v;const r="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new S,i=[p],e=new g(n),s=new k,jest.spyOn(s,"getTransport").mockReturnValue(u.of(p))}),it("should disconnect from a device",async()=>{const o=D();v=new h({}),m=new C(v);const t=d({id:r,connectedDevice:o},n,m);jest.spyOn(e,"getDeviceSessionById").mockImplementation(()=>c(t)),jest.spyOn(t,"close"),jest.spyOn(e,"removeDeviceSession"),jest.spyOn(i[0],"disconnect").mockImplementation(()=>Promise.resolve(c(void 0))),await new a(s,e,n).execute({sessionId:r}),expect(t.close).toHaveBeenCalled(),expect(e.removeDeviceSession).toHaveBeenCalledWith(r),expect(i[0].disconnect).toHaveBeenCalledWith({connectedDevice:o})}),it("should throw an error when deviceSession not found",async()=>{const o=new a(s,e,n);try{await o.execute({sessionId:r})}catch(t){expect(t).toStrictEqual(new y)}}),it("should throw an error if usb hid disconnection fails",async()=>{jest.spyOn(e,"getDeviceSessionById").mockImplementation(()=>c(d({id:r},n,m))),jest.spyOn(i[0],"disconnect").mockResolvedValue(Promise.resolve(f(new l)));const o=new a(s,e,n);try{await o.execute({sessionId:r})}catch(t){expect(t).toStrictEqual(new l)}})});
2
2
  //# sourceMappingURL=DisconnectUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/DisconnectUseCase.test.ts"],
4
- "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { type Transport } from \"@api/types\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { DisconnectUseCase } from \"./DisconnectUseCase\";\n\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet sessionService: DefaultDeviceSessionService;\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[] = [];\nconst loggerFactory = jest\n .fn()\n .mockReturnValue(\n new DefaultLoggerPublisherService([], \"DisconnectUseCaseTest\"),\n );\nlet transportService: TransportService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\n\nconst sessionId = \"sessionId\";\n\ndescribe(\"DisconnectUseCase\", () => {\n beforeAll(() => {\n transport = new TransportMock();\n transports = [transport];\n sessionService = new DefaultDeviceSessionService(loggerFactory);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n });\n\n it(\"should disconnect from a device\", async () => {\n // Given\n const connectedDevice = connectedDeviceStubBuilder();\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n const deviceSession = deviceSessionStubBuilder(\n {\n id: sessionId,\n connectedDevice,\n },\n loggerFactory,\n managerApi,\n );\n jest\n .spyOn(sessionService, \"getDeviceSessionById\")\n .mockImplementation(() => Right(deviceSession));\n jest.spyOn(deviceSession, \"close\");\n jest.spyOn(sessionService, \"removeDeviceSession\");\n jest\n .spyOn(transports[0]!, \"disconnect\")\n .mockImplementation(() => Promise.resolve(Right(void 0)));\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n await disconnectUseCase.execute({ sessionId });\n\n // Then\n expect(deviceSession.close).toHaveBeenCalled();\n expect(sessionService.removeDeviceSession).toHaveBeenCalledWith(sessionId);\n expect(transports[0]!.disconnect).toHaveBeenCalledWith({\n connectedDevice,\n });\n });\n\n it(\"should throw an error when deviceSession not found\", async () => {\n // Given\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DeviceSessionNotFound());\n }\n });\n\n it(\"should throw an error if usb hid disconnection fails\", async () => {\n // Given\n jest\n .spyOn(sessionService, \"getDeviceSessionById\")\n .mockImplementation(() =>\n Right(\n deviceSessionStubBuilder(\n { id: sessionId },\n loggerFactory,\n managerApi,\n ),\n ),\n );\n jest\n .spyOn(transports[0]!, \"disconnect\")\n .mockResolvedValue(Promise.resolve(Left(new DisconnectError())));\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DisconnectError());\n }\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,EAAO,SAAAC,MAAa,YAEnC,OAAS,iBAAAC,MAAqB,+CAC9B,OAAS,mBAAAC,MAAuB,8BAChC,OAAS,8BAAAC,MAAkC,qDAE3C,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAC5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,qBAAAC,MAAyB,sBAElC,KAAK,KAAK,qDAAqD,EAE/D,IAAIC,EAEAC,EACAC,EAA0B,CAAC,EAC/B,MAAMC,EAAgB,KACnB,GAAG,EACH,gBACC,IAAIR,EAA8B,CAAC,EAAG,uBAAuB,CAC/D,EACF,IAAIS,EACAC,EACAC,EAEJ,MAAMC,EAAY,YAElB,SAAS,oBAAqB,IAAM,CAClC,UAAU,IAAM,CACdN,EAAY,IAAIZ,EAChBa,EAAa,CAACD,CAAS,EACvBD,EAAiB,IAAIN,EAA4BS,CAAa,EAE9DC,EAAmB,IAAIN,EACvB,KACG,MAAMM,EAAkB,cAAc,EACtC,gBAAgBjB,EAAM,GAAGc,CAAS,CAAC,CACxC,CAAC,EAED,GAAG,kCAAmC,SAAY,CAEhD,MAAMO,EAAkBjB,EAA2B,EACnDe,EAAuB,IAAIV,EAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDS,EAAa,IAAIR,EAAyBS,CAAoB,EAC9D,MAAMG,EAAgBjB,EACpB,CACE,GAAIe,EACJ,gBAAAC,CACF,EACAL,EACAE,CACF,EACA,KACG,MAAML,EAAgB,sBAAsB,EAC5C,mBAAmB,IAAMZ,EAAMqB,CAAa,CAAC,EAChD,KAAK,MAAMA,EAAe,OAAO,EACjC,KAAK,MAAMT,EAAgB,qBAAqB,EAChD,KACG,MAAME,EAAW,CAAC,EAAI,YAAY,EAClC,mBAAmB,IAAM,QAAQ,QAAQd,EAAM,MAAM,CAAC,CAAC,EAO1D,MAN0B,IAAIW,EAC5BK,EACAJ,EACAG,CACF,EAEwB,QAAQ,CAAE,UAAAI,CAAU,CAAC,EAG7C,OAAOE,EAAc,KAAK,EAAE,iBAAiB,EAC7C,OAAOT,EAAe,mBAAmB,EAAE,qBAAqBO,CAAS,EACzE,OAAOL,EAAW,CAAC,EAAG,UAAU,EAAE,qBAAqB,CACrD,gBAAAM,CACF,CAAC,CACH,CAAC,EAED,GAAG,qDAAsD,SAAY,CAEnE,MAAME,EAAoB,IAAIX,EAC5BK,EACAJ,EACAG,CACF,EAEA,GAAI,CACF,MAAMO,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAIlB,CAAuB,CACrD,CACF,CAAC,EAED,GAAG,uDAAwD,SAAY,CAErE,KACG,MAAMO,EAAgB,sBAAsB,EAC5C,mBAAmB,IAClBZ,EACEI,EACE,CAAE,GAAIe,CAAU,EAChBJ,EACAE,CACF,CACF,CACF,EACF,KACG,MAAMH,EAAW,CAAC,EAAI,YAAY,EAClC,kBAAkB,QAAQ,QAAQhB,EAAK,IAAII,CAAiB,CAAC,CAAC,EACjE,MAAMoB,EAAoB,IAAIX,EAC5BK,EACAJ,EACAG,CACF,EAGA,GAAI,CACF,MAAMO,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAIrB,CAAiB,CAC/C,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { DisconnectUseCase } from \"./DisconnectUseCase\";\n\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet sessionService: DefaultDeviceSessionService;\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[] = [];\nconst loggerFactory = jest\n .fn()\n .mockReturnValue(\n new DefaultLoggerPublisherService([], \"DisconnectUseCaseTest\"),\n );\nlet transportService: TransportService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\n\nconst sessionId = \"sessionId\";\n\ndescribe(\"DisconnectUseCase\", () => {\n beforeAll(() => {\n transport = new TransportMock();\n transports = [transport];\n sessionService = new DefaultDeviceSessionService(loggerFactory);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n });\n\n it(\"should disconnect from a device\", async () => {\n // Given\n const connectedDevice = connectedDeviceStubBuilder();\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n const deviceSession = deviceSessionStubBuilder(\n {\n id: sessionId,\n connectedDevice,\n },\n loggerFactory,\n managerApi,\n );\n jest\n .spyOn(sessionService, \"getDeviceSessionById\")\n .mockImplementation(() => Right(deviceSession));\n jest.spyOn(deviceSession, \"close\");\n jest.spyOn(sessionService, \"removeDeviceSession\");\n jest\n .spyOn(transports[0]!, \"disconnect\")\n .mockImplementation(() => Promise.resolve(Right(void 0)));\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n await disconnectUseCase.execute({ sessionId });\n\n // Then\n expect(deviceSession.close).toHaveBeenCalled();\n expect(sessionService.removeDeviceSession).toHaveBeenCalledWith(sessionId);\n expect(transports[0]!.disconnect).toHaveBeenCalledWith({\n connectedDevice,\n });\n });\n\n it(\"should throw an error when deviceSession not found\", async () => {\n // Given\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DeviceSessionNotFound());\n }\n });\n\n it(\"should throw an error if usb hid disconnection fails\", async () => {\n // Given\n jest\n .spyOn(sessionService, \"getDeviceSessionById\")\n .mockImplementation(() =>\n Right(\n deviceSessionStubBuilder(\n { id: sessionId },\n loggerFactory,\n managerApi,\n ),\n ),\n );\n jest\n .spyOn(transports[0]!, \"disconnect\")\n .mockResolvedValue(Promise.resolve(Left(new DisconnectError())));\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DisconnectError());\n }\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,EAAO,SAAAC,MAAa,YAEnC,OAAS,iBAAAC,MAAqB,+CAC9B,OAAS,mBAAAC,MAAuB,8BAChC,OAAS,8BAAAC,MAAkC,qDAE3C,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAC5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,qBAAAC,MAAyB,sBAElC,KAAK,KAAK,qDAAqD,EAE/D,IAAIC,EAEAC,EACAC,EAA0B,CAAC,EAC/B,MAAMC,EAAgB,KACnB,GAAG,EACH,gBACC,IAAIR,EAA8B,CAAC,EAAG,uBAAuB,CAC/D,EACF,IAAIS,EACAC,EACAC,EAEJ,MAAMC,EAAY,YAElB,SAAS,oBAAqB,IAAM,CAClC,UAAU,IAAM,CACdN,EAAY,IAAIZ,EAChBa,EAAa,CAACD,CAAS,EACvBD,EAAiB,IAAIN,EAA4BS,CAAa,EAE9DC,EAAmB,IAAIN,EACvB,KACG,MAAMM,EAAkB,cAAc,EACtC,gBAAgBjB,EAAM,GAAGc,CAAS,CAAC,CACxC,CAAC,EAED,GAAG,kCAAmC,SAAY,CAEhD,MAAMO,EAAkBjB,EAA2B,EACnDe,EAAuB,IAAIV,EAA0B,CAAC,CAAc,EACpES,EAAa,IAAIR,EAAyBS,CAAoB,EAC9D,MAAMG,EAAgBjB,EACpB,CACE,GAAIe,EACJ,gBAAAC,CACF,EACAL,EACAE,CACF,EACA,KACG,MAAML,EAAgB,sBAAsB,EAC5C,mBAAmB,IAAMZ,EAAMqB,CAAa,CAAC,EAChD,KAAK,MAAMA,EAAe,OAAO,EACjC,KAAK,MAAMT,EAAgB,qBAAqB,EAChD,KACG,MAAME,EAAW,CAAC,EAAI,YAAY,EAClC,mBAAmB,IAAM,QAAQ,QAAQd,EAAM,MAAM,CAAC,CAAC,EAO1D,MAN0B,IAAIW,EAC5BK,EACAJ,EACAG,CACF,EAEwB,QAAQ,CAAE,UAAAI,CAAU,CAAC,EAG7C,OAAOE,EAAc,KAAK,EAAE,iBAAiB,EAC7C,OAAOT,EAAe,mBAAmB,EAAE,qBAAqBO,CAAS,EACzE,OAAOL,EAAW,CAAC,EAAG,UAAU,EAAE,qBAAqB,CACrD,gBAAAM,CACF,CAAC,CACH,CAAC,EAED,GAAG,qDAAsD,SAAY,CAEnE,MAAME,EAAoB,IAAIX,EAC5BK,EACAJ,EACAG,CACF,EAEA,GAAI,CACF,MAAMO,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAIlB,CAAuB,CACrD,CACF,CAAC,EAED,GAAG,uDAAwD,SAAY,CAErE,KACG,MAAMO,EAAgB,sBAAsB,EAC5C,mBAAmB,IAClBZ,EACEI,EACE,CAAE,GAAIe,CAAU,EAChBJ,EACAE,CACF,CACF,CACF,EACF,KACG,MAAMH,EAAW,CAAC,EAAI,YAAY,EAClC,kBAAkB,QAAQ,QAAQhB,EAAK,IAAII,CAAiB,CAAC,CAAC,EACjE,MAAMoB,EAAoB,IAAIX,EAC5BK,EACAJ,EACAG,CACF,EAGA,GAAI,CACF,MAAMO,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAIrB,CAAiB,CAC/C,CACF,CAAC,CACH,CAAC",
6
6
  "names": ["Left", "Maybe", "Right", "TransportMock", "DisconnectError", "connectedDeviceStubBuilder", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultTransportService", "DisconnectUseCase", "sessionService", "transport", "transports", "loggerFactory", "transportService", "managerApi", "managerApiDataSource", "sessionId", "connectedDevice", "deviceSession", "disconnectUseCase", "e"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ConnectedDevice as c}from"../../../api/transport/model/ConnectedDevice";import{deviceSessionStubBuilder as n}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as d}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as v}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as S}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as u}from"../../manager-api/service/DefaultManagerApiService";import{GetConnectedDeviceUseCase as a}from"./GetConnectedDeviceUseCase";jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let i,o,p,t;const r="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{i=new v([],"get-connected-device-use-case"),p=new S({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),t=new u(p),o=new d(()=>i)}),it("should retrieve an instance of ConnectedDevice",()=>{const e=n({id:r},()=>i,t);o.addDeviceSession(e);const s=new a(o,()=>i).execute({sessionId:r});e.close(),expect(s).toBeInstanceOf(c)}),it("should retrieve correct device from session",()=>{const e=n({id:r},()=>i,t);o.addDeviceSession(e);const s=new a(o,()=>i).execute({sessionId:r});e.close(),expect(s).toStrictEqual(new c({sessionId:r,transportConnectedDevice:e.connectedDevice}))})});
1
+ import{ConnectedDevice as n}from"../../../api/transport/model/ConnectedDevice";import{deviceSessionStubBuilder as c}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as d}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as v}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as S}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as f}from"../../manager-api/service/DefaultManagerApiService";import{GetConnectedDeviceUseCase as a}from"./GetConnectedDeviceUseCase";jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let i,o,p,t;const s="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{i=new v([],"get-connected-device-use-case"),p=new S({}),t=new f(p),o=new d(()=>i)}),it("should retrieve an instance of ConnectedDevice",()=>{const e=c({id:s},()=>i,t);o.addDeviceSession(e);const r=new a(o,()=>i).execute({sessionId:s});e.close(),expect(r).toBeInstanceOf(n)}),it("should retrieve correct device from session",()=>{const e=c({id:s},()=>i,t);o.addDeviceSession(e);const r=new a(o,()=>i).execute({sessionId:s});e.close(),expect(r).toStrictEqual(new n({sessionId:s,transportConnectedDevice:e.connectedDevice}))})});
2
2
  //# sourceMappingURL=GetConnectedDeviceUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetConnectedDeviceUseCase } from \"./GetConnectedDeviceUseCase\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should retrieve an instance of ConnectedDevice\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toBeInstanceOf(ConnectedDevice);\n });\n\n it(\"should retrieve correct device from session\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toStrictEqual(\n new ConnectedDevice({\n sessionId: fakeSessionId,\n transportConnectedDevice: deviceSession.connectedDevice,\n }),\n );\n });\n});\n"],
5
- "mappings": "AACA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAGzC,OAAS,6BAAAC,MAAiC,8BAE1C,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfJ,EAAS,IAAIJ,EACX,CAAC,EACD,+BACF,EACAM,EAAuB,IAAIL,EAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDM,EAAa,IAAIL,EAAyBI,CAAoB,EAC9DD,EAAiB,IAAIN,EAA4B,IAAMK,CAAM,CAC/D,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMK,EAAgBX,EACpB,CAAE,GAAIU,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAI7C,MAAMC,EAHU,IAAIP,EAA0BE,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWI,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,eAAeb,CAAe,CACjD,CAAC,EAED,GAAG,8CAA+C,IAAM,CAEtD,MAAMY,EAAgBX,EACpB,CAAE,GAAIU,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAI7C,MAAMC,EAHU,IAAIP,EAA0BE,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWI,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,cACf,IAAIb,EAAgB,CAClB,UAAWW,EACX,yBAA0BC,EAAc,eAC1C,CAAC,CACH,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetConnectedDeviceUseCase } from \"./GetConnectedDeviceUseCase\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should retrieve an instance of ConnectedDevice\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toBeInstanceOf(ConnectedDevice);\n });\n\n it(\"should retrieve correct device from session\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toStrictEqual(\n new ConnectedDevice({\n sessionId: fakeSessionId,\n transportConnectedDevice: deviceSession.connectedDevice,\n }),\n );\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAGzC,OAAS,6BAAAC,MAAiC,8BAE1C,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfJ,EAAS,IAAIJ,EACX,CAAC,EACD,+BACF,EACAM,EAAuB,IAAIL,EAA0B,CAAC,CAAc,EACpEM,EAAa,IAAIL,EAAyBI,CAAoB,EAC9DD,EAAiB,IAAIN,EAA4B,IAAMK,CAAM,CAC/D,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMK,EAAgBX,EACpB,CAAE,GAAIU,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAI7C,MAAMC,EAHU,IAAIP,EAA0BE,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWI,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,eAAeb,CAAe,CACjD,CAAC,EAED,GAAG,8CAA+C,IAAM,CAEtD,MAAMY,EAAgBX,EACpB,CAAE,GAAIU,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAI7C,MAAMC,EAHU,IAAIP,EAA0BE,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWI,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,cACf,IAAIb,EAAgB,CAClB,UAAWW,EACX,yBAA0BC,EAAc,eAC1C,CAAC,CACH,CACF,CAAC,CACH,CAAC",
6
6
  "names": ["ConnectedDevice", "deviceSessionStubBuilder", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "GetConnectedDeviceUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "fakeSessionId", "deviceSession", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{deviceSessionStubBuilder as t}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as m}from"../../device-session/service/DefaultDeviceSessionService";import{ListConnectedDevicesUseCase as c}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{DefaultLoggerPublisherService as v}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as d}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as l}from"../../manager-api/service/DefaultManagerApiService";import{ConnectedDevice as n}from"../../../../src";let i,o,a,r;describe("ListDeviceSessionsUseCase",()=>{beforeEach(()=>{i=new v([],"list-device-sessions-use-case-test"),a=new d({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),r=new l(a),o=new m(()=>i)}),it("should list all device sessions",()=>{const s=t({id:"1"},()=>i,r),e=t({id:"2"},()=>i,r);o.addDeviceSession(s),o.addDeviceSession(e);const p=new c(o,()=>i).execute();s.close(),e.close(),expect(p).toStrictEqual([new n({transportConnectedDevice:s.connectedDevice,sessionId:s.id}),new n({transportConnectedDevice:e.connectedDevice,sessionId:e.id})])}),it("should return empty array if no device sessions",()=>{const e=new c(o,()=>i).execute();expect(e).toStrictEqual([])})});
1
+ import{deviceSessionStubBuilder as t}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as v}from"../../device-session/service/DefaultDeviceSessionService";import{ListConnectedDevicesUseCase as c}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{DefaultLoggerPublisherService as m}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as d}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as S}from"../../manager-api/service/DefaultManagerApiService";import{ConnectedDevice as n}from"../../../../src";let i,o,a,r;describe("ListDeviceSessionsUseCase",()=>{beforeEach(()=>{i=new m([],"list-device-sessions-use-case-test"),a=new d({}),r=new S(a),o=new v(()=>i)}),it("should list all device sessions",()=>{const s=t({id:"1"},()=>i,r),e=t({id:"2"},()=>i,r);o.addDeviceSession(s),o.addDeviceSession(e);const p=new c(o,()=>i).execute();s.close(),e.close(),expect(p).toStrictEqual([new n({transportConnectedDevice:s.connectedDevice,sessionId:s.id}),new n({transportConnectedDevice:e.connectedDevice,sessionId:e.id})])}),it("should return empty array if no device sessions",()=>{const e=new c(o,()=>i).execute();expect(e).toStrictEqual([])})});
2
2
  //# sourceMappingURL=ListConnectedDevicesUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { ConnectedDevice } from \"@root/src\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\ndescribe(\"ListDeviceSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"list-device-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should list all device sessions\", () => {\n // given\n const deviceSession1 = deviceSessionStubBuilder(\n { id: \"1\" },\n () => logger,\n managerApi,\n );\n const deviceSession2 = deviceSessionStubBuilder(\n { id: \"2\" },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession1);\n sessionService.addDeviceSession(deviceSession2);\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n deviceSession1.close();\n deviceSession2.close();\n\n // then\n expect(response).toStrictEqual([\n new ConnectedDevice({\n transportConnectedDevice: deviceSession1.connectedDevice,\n sessionId: deviceSession1.id,\n }),\n new ConnectedDevice({\n transportConnectedDevice: deviceSession2.connectedDevice,\n sessionId: deviceSession2.id,\n }),\n ]);\n });\n\n it(\"should return empty array if no device sessions\", () => {\n // given\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n // then\n expect(response).toStrictEqual([]);\n });\n});\n"],
5
- "mappings": "AACA,OAAS,4BAAAA,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,mBAAAC,MAAuB,YAEhC,IAAIC,EACAC,EACAC,EACAC,EAEJ,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACfH,EAAS,IAAIJ,EACX,CAAC,EACD,oCACF,EACAM,EAAuB,IAAIL,EAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDM,EAAa,IAAIL,EAAyBI,CAAoB,EAC9DD,EAAiB,IAAIP,EAA4B,IAAMM,CAAM,CAC/D,CAAC,EAED,GAAG,kCAAmC,IAAM,CAE1C,MAAMI,EAAiBX,EACrB,CAAE,GAAI,GAAI,EACV,IAAMO,EACNG,CACF,EACME,EAAiBZ,EACrB,CAAE,GAAI,GAAI,EACV,IAAMO,EACNG,CACF,EACAF,EAAe,iBAAiBG,CAAc,EAC9CH,EAAe,iBAAiBI,CAAc,EAO9C,MAAMC,EANU,IAAIX,EAClBM,EACA,IAAMD,CACR,EAGyB,QAAQ,EAEjCI,EAAe,MAAM,EACrBC,EAAe,MAAM,EAGrB,OAAOC,CAAQ,EAAE,cAAc,CAC7B,IAAIP,EAAgB,CAClB,yBAA0BK,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,EACD,IAAIL,EAAgB,CAClB,yBAA0BM,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,CACH,CAAC,CACH,CAAC,EAED,GAAG,kDAAmD,IAAM,CAQ1D,MAAMC,EANU,IAAIX,EAClBM,EACA,IAAMD,CACR,EAGyB,QAAQ,EAGjC,OAAOM,CAAQ,EAAE,cAAc,CAAC,CAAC,CACnC,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { ConnectedDevice, type DmkConfig } from \"@root/src\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\ndescribe(\"ListDeviceSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"list-device-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should list all device sessions\", () => {\n // given\n const deviceSession1 = deviceSessionStubBuilder(\n { id: \"1\" },\n () => logger,\n managerApi,\n );\n const deviceSession2 = deviceSessionStubBuilder(\n { id: \"2\" },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession1);\n sessionService.addDeviceSession(deviceSession2);\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n deviceSession1.close();\n deviceSession2.close();\n\n // then\n expect(response).toStrictEqual([\n new ConnectedDevice({\n transportConnectedDevice: deviceSession1.connectedDevice,\n sessionId: deviceSession1.id,\n }),\n new ConnectedDevice({\n transportConnectedDevice: deviceSession2.connectedDevice,\n sessionId: deviceSession2.id,\n }),\n ]);\n });\n\n it(\"should return empty array if no device sessions\", () => {\n // given\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n // then\n expect(response).toStrictEqual([]);\n });\n});\n"],
5
+ "mappings": "AACA,OAAS,4BAAAA,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,mBAAAC,MAAuC,YAEhD,IAAIC,EACAC,EACAC,EACAC,EAEJ,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACfH,EAAS,IAAIJ,EACX,CAAC,EACD,oCACF,EACAM,EAAuB,IAAIL,EAA0B,CAAC,CAAc,EACpEM,EAAa,IAAIL,EAAyBI,CAAoB,EAC9DD,EAAiB,IAAIP,EAA4B,IAAMM,CAAM,CAC/D,CAAC,EAED,GAAG,kCAAmC,IAAM,CAE1C,MAAMI,EAAiBX,EACrB,CAAE,GAAI,GAAI,EACV,IAAMO,EACNG,CACF,EACME,EAAiBZ,EACrB,CAAE,GAAI,GAAI,EACV,IAAMO,EACNG,CACF,EACAF,EAAe,iBAAiBG,CAAc,EAC9CH,EAAe,iBAAiBI,CAAc,EAO9C,MAAMC,EANU,IAAIX,EAClBM,EACA,IAAMD,CACR,EAGyB,QAAQ,EAEjCI,EAAe,MAAM,EACrBC,EAAe,MAAM,EAGrB,OAAOC,CAAQ,EAAE,cAAc,CAC7B,IAAIP,EAAgB,CAClB,yBAA0BK,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,EACD,IAAIL,EAAgB,CAClB,yBAA0BM,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,CACH,CAAC,CACH,CAAC,EAED,GAAG,kDAAmD,IAAM,CAQ1D,MAAMC,EANU,IAAIX,EAClBM,EACA,IAAMD,CACR,EAGyB,QAAQ,EAGjC,OAAOM,CAAQ,EAAE,cAAc,CAAC,CAAC,CACnC,CAAC,CACH,CAAC",
6
6
  "names": ["deviceSessionStubBuilder", "DefaultDeviceSessionService", "ListConnectedDevicesUseCase", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "ConnectedDevice", "logger", "sessionService", "managerApiDataSource", "managerApi", "deviceSession1", "deviceSession2", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ConnectedDevice as d}from"../../../api/transport/model/ConnectedDevice";import{connectedDeviceStubBuilder as v}from"../../../api/transport/model/TransportConnectedDevice.stub";import{deviceSessionStubBuilder as l}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as u}from"../../device-session/service/DefaultDeviceSessionService";import{ListenToConnectedDeviceUseCase as S}from"../../discovery/use-case/ListenToConnectedDeviceUseCase";import{DefaultLoggerPublisherService as f}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as g}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as D}from"../../manager-api/service/DefaultManagerApiService";jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let e,i,r,n;const c="test-list-connected-device-session-id";describe("ListenToConnectedDevice",()=>{beforeEach(()=>{e=new f([],"listen-to-connected-device-use-case"),r=new g({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),n=new D(r),i=new u(()=>e)}),it("should emit an instance of ConnectedDevice",s=>{const o=v({id:"test-list-connected-device-id"}),t=l({id:c,connectedDevice:o},()=>e,n),a=new S(i,()=>e).execute().subscribe({next(p){expect(p).toEqual(new d({transportConnectedDevice:o,sessionId:c})),m()}});function m(){a.unsubscribe(),t.close(),s()}i.addDeviceSession(t)})});
1
+ import{ConnectedDevice as d}from"../../../api/transport/model/ConnectedDevice";import{connectedDeviceStubBuilder as v}from"../../../api/transport/model/TransportConnectedDevice.stub";import{deviceSessionStubBuilder as u}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as S}from"../../device-session/service/DefaultDeviceSessionService";import{ListenToConnectedDeviceUseCase as f}from"../../discovery/use-case/ListenToConnectedDeviceUseCase";import{DefaultLoggerPublisherService as l}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as D}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as g}from"../../manager-api/service/DefaultManagerApiService";jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let e,i,r,n;const c="test-list-connected-device-session-id";describe("ListenToConnectedDevice",()=>{beforeEach(()=>{e=new l([],"listen-to-connected-device-use-case"),r=new D({}),n=new g(r),i=new S(()=>e)}),it("should emit an instance of ConnectedDevice",s=>{const o=v({id:"test-list-connected-device-id"}),t=u({id:c,connectedDevice:o},()=>e,n),a=new f(i,()=>e).execute().subscribe({next(p){expect(p).toEqual(new d({transportConnectedDevice:o,sessionId:c})),m()}});function m(){a.unsubscribe(),t.close(),s()}i.addDeviceSession(t)})});
2
2
  //# sourceMappingURL=ListenToConnectedDeviceUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"test-list-connected-device-session-id\";\n\ndescribe(\"ListenToConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"listen-to-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should emit an instance of ConnectedDevice\", (done) => {\n // given\n const connectedDevice = connectedDeviceStubBuilder({\n id: \"test-list-connected-device-id\",\n });\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId, connectedDevice },\n () => logger,\n managerApi,\n );\n const observable = new ListenToConnectedDeviceUseCase(\n sessionService,\n () => logger,\n ).execute();\n\n const subscription = observable.subscribe({\n next(emittedConnectedDevice) {\n // then\n expect(emittedConnectedDevice).toEqual(\n new ConnectedDevice({\n transportConnectedDevice: connectedDevice,\n sessionId: fakeSessionId,\n }),\n );\n terminate();\n },\n });\n\n function terminate() {\n subscription.unsubscribe();\n deviceSession.close();\n done();\n }\n\n // when\n sessionService.addDeviceSession(deviceSession);\n });\n});\n"],
5
- "mappings": "AACA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,8BAAAC,MAAkC,qDAC3C,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,kCAAAC,MAAsC,8DAC/C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAGzC,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,wCAEtB,SAAS,0BAA2B,IAAM,CACxC,WAAW,IAAM,CACfJ,EAAS,IAAIH,EACX,CAAC,EACD,qCACF,EACAK,EAAuB,IAAIJ,EAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDK,EAAa,IAAIJ,EAAyBG,CAAoB,EAC9DD,EAAiB,IAAIN,EAA4B,IAAMK,CAAM,CAC/D,CAAC,EAED,GAAG,6CAA+CK,GAAS,CAEzD,MAAMC,EAAkBb,EAA2B,CACjD,GAAI,+BACN,CAAC,EACKc,EAAgBb,EACpB,CAAE,GAAIU,EAAe,gBAAAE,CAAgB,EACrC,IAAMN,EACNG,CACF,EAMMK,EALa,IAAIZ,EACrBK,EACA,IAAMD,CACR,EAAE,QAAQ,EAEsB,UAAU,CACxC,KAAKS,EAAwB,CAE3B,OAAOA,CAAsB,EAAE,QAC7B,IAAIjB,EAAgB,CAClB,yBAA0Bc,EAC1B,UAAWF,CACb,CAAC,CACH,EACAM,EAAU,CACZ,CACF,CAAC,EAED,SAASA,GAAY,CACnBF,EAAa,YAAY,EACzBD,EAAc,MAAM,EACpBF,EAAK,CACP,CAGAJ,EAAe,iBAAiBM,CAAa,CAC/C,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"test-list-connected-device-session-id\";\n\ndescribe(\"ListenToConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"listen-to-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should emit an instance of ConnectedDevice\", (done) => {\n // given\n const connectedDevice = connectedDeviceStubBuilder({\n id: \"test-list-connected-device-id\",\n });\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId, connectedDevice },\n () => logger,\n managerApi,\n );\n const observable = new ListenToConnectedDeviceUseCase(\n sessionService,\n () => logger,\n ).execute();\n\n const subscription = observable.subscribe({\n next(emittedConnectedDevice) {\n // then\n expect(emittedConnectedDevice).toEqual(\n new ConnectedDevice({\n transportConnectedDevice: connectedDevice,\n sessionId: fakeSessionId,\n }),\n );\n terminate();\n },\n });\n\n function terminate() {\n subscription.unsubscribe();\n deviceSession.close();\n done();\n }\n\n // when\n sessionService.addDeviceSession(deviceSession);\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,8BAAAC,MAAkC,qDAC3C,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,kCAAAC,MAAsC,8DAC/C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAGzC,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,wCAEtB,SAAS,0BAA2B,IAAM,CACxC,WAAW,IAAM,CACfJ,EAAS,IAAIH,EACX,CAAC,EACD,qCACF,EACAK,EAAuB,IAAIJ,EAA0B,CAAC,CAAc,EACpEK,EAAa,IAAIJ,EAAyBG,CAAoB,EAC9DD,EAAiB,IAAIN,EAA4B,IAAMK,CAAM,CAC/D,CAAC,EAED,GAAG,6CAA+CK,GAAS,CAEzD,MAAMC,EAAkBb,EAA2B,CACjD,GAAI,+BACN,CAAC,EACKc,EAAgBb,EACpB,CAAE,GAAIU,EAAe,gBAAAE,CAAgB,EACrC,IAAMN,EACNG,CACF,EAMMK,EALa,IAAIZ,EACrBK,EACA,IAAMD,CACR,EAAE,QAAQ,EAEsB,UAAU,CACxC,KAAKS,EAAwB,CAE3B,OAAOA,CAAsB,EAAE,QAC7B,IAAIjB,EAAgB,CAClB,yBAA0Bc,EAC1B,UAAWF,CACb,CAAC,CACH,EACAM,EAAU,CACZ,CACF,CAAC,EAED,SAASA,GAAY,CACnBF,EAAa,YAAY,EACzBD,EAAc,MAAM,EACpBF,EAAK,CACP,CAGAJ,EAAe,iBAAiBM,CAAa,CAC/C,CAAC,CACH,CAAC",
6
6
  "names": ["ConnectedDevice", "connectedDeviceStubBuilder", "deviceSessionStubBuilder", "DefaultDeviceSessionService", "ListenToConnectedDeviceUseCase", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "logger", "sessionService", "managerApiDataSource", "managerApi", "fakeSessionId", "done", "connectedDevice", "deviceSession", "subscription", "emittedConnectedDevice", "terminate"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var f=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var y=(i,r,p,t)=>{for(var e=t>1?void 0:t?g(r,p):r,m=i.length-1,s;m>=0;m--)(s=i[m])&&(e=(t?s(r,p,e):s(e))||e);return t&&e&&f(r,p,e),e},u=(i,r)=>(p,t)=>r(p,t,i);import l from"axios";import{inject as h,injectable as D}from"inversify";import{EitherAsync as c}from"purify-ts";import{managerApiTypes as T}from"../../manager-api/di/managerApiTypes";import{AppType as a}from"../../manager-api/model/Application";import{HttpFetchApiError as A}from"../../manager-api/model/Errors";import{AppTypeDto as o}from"./ManagerApiDto";let n=class{baseUrl;constructor(r){this.baseUrl=r.managerApiUrl}getDeviceVersion(r,p){return c(()=>l.get(`${this.baseUrl}/get_device_version`,{params:{target_id:r,provider:p}})).map(t=>t.data).mapLeft(t=>new A(t))}getFirmwareVersion(r,p,t){return c(()=>l.get(`${this.baseUrl}/get_firmware_version`,{params:{device_version:p,version_name:r,provider:t}})).map(e=>e.data).mapLeft(e=>new A(e))}mapAppTypeDtoToAppType(r){switch(r){case o.currency:return a.currency;case o.plugin:return a.plugin;case o.tool:return a.tool;case o.swap:return a.swap}}mapApplicationDtoToApplication(r){return r.map(p=>{if(p===null)return null;const{applicationType:t,...e}=p;return{...e,applicationType:this.mapAppTypeDtoToAppType(t)}})}getAppsByHash(r){return c(()=>l.post(`${this.baseUrl}/v2/apps/hash`,r)).map(p=>p.data).map(p=>this.mapApplicationDtoToApplication(p)).mapLeft(p=>new A(p))}};n=y([D(),u(0,h(T.DmkConfig))],n);export{n as AxiosManagerApiDataSource};
1
+ var b=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var A=(o,t,e,r)=>{for(var a=r>1?void 0:r?y(t,e):t,c=o.length-1,m;c>=0;c--)(m=o[c])&&(a=(r?m(t,e,a):m(a))||a);return r&&a&&b(t,e,a),a},k=(o,t)=>(e,r)=>t(e,r,o);import l from"axios";import{inject as S,injectable as d}from"inversify";import f from"isomorphic-ws";import{EitherAsync as h,Left as g,Right as w}from"purify-ts";import n from"url";import{managerApiTypes as E}from"../../manager-api/di/managerApiTypes";import{AppType as i}from"../../manager-api/model/Application";import{HttpFetchApiError as u,WebSocketConnectionError as W}from"../../manager-api/model/Errors";import{AppTypeDto as p}from"./ManagerApiDto";let s=class{managerApiBaseUrl;webSocketBaseUrl;constructor({managerApiUrl:t,webSocketUrl:e}){this.managerApiBaseUrl=t,this.webSocketBaseUrl=e,console.log(this.webSocketBaseUrl)}getDeviceVersion(t,e){return h(()=>l.get(`${this.managerApiBaseUrl}/get_device_version`,{params:{target_id:t,provider:e}})).map(r=>r.data).mapLeft(r=>new u(r))}getFirmwareVersion(t,e,r){return h(()=>l.get(`${this.managerApiBaseUrl}/get_firmware_version`,{params:{device_version:e,version_name:t,provider:r}})).map(a=>a.data).mapLeft(a=>new u(a))}getAppsByHash(t){return h(()=>l.post(`${this.managerApiBaseUrl}/v2/apps/hash`,t)).map(e=>e.data).map(e=>this.mapApplicationDtoToApplication(e)).mapLeft(e=>new u(e))}genuineCheck(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/genuine`,query:t});return this._connectWebSocket(e)}listInstalledApps(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/apps/list`,query:t});return this._connectWebSocket(e)}updateMcu(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/mcu`,query:t});return this._connectWebSocket(e)}updateFirmware(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/install`,query:t});return this._connectWebSocket(e)}installApp(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/install`,query:t});return this._connectWebSocket(e)}uninstallApp(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/install`,query:t});return this._connectWebSocket(e)}_connectWebSocket(t){try{return w(new f(t))}catch(e){return g(new W(e))}}mapAppTypeDtoToAppType(t){switch(t){case p.currency:return i.currency;case p.plugin:return i.plugin;case p.tool:return i.tool;case p.swap:return i.swap}}mapApplicationDtoToApplication(t){return t.map(e=>{if(e===null)return null;const{applicationType:r,...a}=e;return{...a,applicationType:this.mapAppTypeDtoToAppType(r)}})}};s=A([d(),k(0,S(E.DmkConfig))],s);export{s as AxiosManagerApiDataSource};
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly baseUrl: string;\n\n constructor(@inject(managerApiTypes.DmkConfig) config: DmkConfig) {\n this.baseUrl = config.managerApiUrl;\n }\n\n getDeviceVersion(\n targetId: string,\n provider: number,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n return EitherAsync(() =>\n axios.get<DeviceVersion>(`${this.baseUrl}/get_device_version`, {\n params: {\n target_id: targetId,\n provider,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n getFirmwareVersion(\n version: string,\n deviceId: number,\n provider: number,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n return EitherAsync(() =>\n axios.get<FinalFirmware>(`${this.baseUrl}/get_firmware_version`, {\n params: {\n device_version: deviceId,\n version_name: version,\n provider,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n\n const { applicationType, ...rest } = app;\n\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n\n getAppsByHash(\n hashes: string[],\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this.baseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n}\n"],
5
- "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,YAG5B,OAAS,mBAAAC,MAAuB,2CAChC,OAEE,WAAAC,MACK,0CAEP,OAAS,qBAAAC,MAAyB,qCAIlC,OAAyB,cAAAC,MAAkB,kBAGpC,IAAMC,EAAN,KAAgE,CACpD,QAEjB,YAA+CC,EAAmB,CAChE,KAAK,QAAUA,EAAO,aACxB,CAEA,iBACEC,EACAC,EAC+C,CAC/C,OAAOC,EAAY,IACjBC,EAAM,IAAmB,GAAG,KAAK,OAAO,sBAAuB,CAC7D,OAAQ,CACN,UAAWH,EACX,SAAAC,CACF,CACF,CAAC,CACH,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CACA,mBACEE,EACAC,EACAP,EAC+C,CAC/C,OAAOC,EAAY,IACjBC,EAAM,IAAmB,GAAG,KAAK,OAAO,wBAAyB,CAC/D,OAAQ,CACN,eAAgBK,EAChB,aAAcD,EACd,SAAAN,CACF,CACF,CAAC,CACH,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEQ,uBAAuBI,EAA8B,CAC3D,OAAQA,EAAS,CACf,KAAKC,EAAW,SACd,OAAOC,EAAQ,SACjB,KAAKD,EAAW,OACd,OAAOC,EAAQ,OACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,KACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,IACnB,CACF,CAEQ,+BACNC,EAC2B,CAC3B,OAAOA,EAAK,IAAKC,GAAQ,CACvB,GAAIA,IAAQ,KACV,OAAO,KAGT,KAAM,CAAE,gBAAAC,EAAiB,GAAGC,CAAK,EAAIF,EAErC,MAAO,CACL,GAAGE,EACH,gBAAiB,KAAK,uBAAuBD,CAAe,CAC9D,CACF,CAAC,CACH,CAEA,cACEE,EAC2D,CAC3D,OAAOd,EAAY,IACjBC,EAAM,KACJ,GAAG,KAAK,OAAO,gBACfa,CACF,CACF,EACG,IAAKZ,GAAQA,EAAI,IAAI,EACrB,IAAKQ,GAAS,KAAK,+BAA+BA,CAAI,CAAC,EACvD,QAASP,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CACF,EAnFaP,EAANmB,EAAA,CADNC,EAAW,EAIGC,EAAA,EAAAC,EAAOC,EAAgB,SAAS,IAHlCvB",
6
- "names": ["axios", "inject", "injectable", "EitherAsync", "managerApiTypes", "AppType", "HttpFetchApiError", "AppTypeDto", "AxiosManagerApiDataSource", "config", "targetId", "provider", "EitherAsync", "axios", "res", "error", "HttpFetchApiError", "version", "deviceId", "appType", "AppTypeDto", "AppType", "apps", "app", "applicationType", "rest", "hashes", "__decorateClass", "injectable", "__decorateParam", "inject", "managerApiTypes"]
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport WebSocket from \"isomorphic-ws\";\nimport { Either, EitherAsync, Left, Right } from \"purify-ts\";\nimport URL from \"url\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport {\n HttpFetchApiError,\n WebSocketConnectionError,\n} from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n GenuineCheckParams,\n InstallAppsParams,\n ListInstalledAppsParams,\n UninstallAppsParams,\n UpdateFirmwareParams,\n UpdateMcuParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly managerApiBaseUrl: string;\n private readonly webSocketBaseUrl: string;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl, webSocketUrl }: DmkConfig,\n ) {\n this.managerApiBaseUrl = managerApiUrl;\n this.webSocketBaseUrl = webSocketUrl;\n console.log(this.webSocketBaseUrl);\n }\n\n getDeviceVersion(\n targetId: string,\n provider: number,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n return EitherAsync(() =>\n axios.get<DeviceVersion>(`${this.managerApiBaseUrl}/get_device_version`, {\n params: {\n target_id: targetId,\n provider,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n version: string,\n deviceId: number,\n provider: number,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this.managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n hashes: string[],\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this.managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n genuineCheck(\n params: GenuineCheckParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/genuine`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n listInstalledApps(\n params: ListInstalledAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/apps/list`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n updateMcu(\n params: UpdateMcuParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/mcu`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n updateFirmware(\n params: UpdateFirmwareParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/install`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n installApp(\n params: InstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/install`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n uninstallApp(\n params: UninstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/install`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n _connectWebSocket(\n address: string,\n ): Either<WebSocketConnectionError, WebSocket> {\n try {\n return Right(new WebSocket(address));\n } catch (error) {\n return Left(new WebSocketConnectionError(error));\n }\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n\n const { applicationType, ...rest } = app;\n\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["axios", "inject", "injectable", "WebSocket", "EitherAsync", "Left", "Right", "URL", "managerApiTypes", "AppType", "HttpFetchApiError", "WebSocketConnectionError", "AppTypeDto", "AxiosManagerApiDataSource", "managerApiUrl", "webSocketUrl", "targetId", "provider", "EitherAsync", "axios", "res", "error", "HttpFetchApiError", "version", "deviceId", "hashes", "apps", "params", "address", "URL", "Right", "WebSocket", "Left", "WebSocketConnectionError", "appType", "AppTypeDto", "AppType", "app", "applicationType", "rest", "__decorateClass", "injectable", "__decorateParam", "inject", "managerApiTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import t from"axios";import{Left as i,Right as n}from"purify-ts";import{BTC_APP as l,BTC_APP_METADATA as p,CUSTOM_LOCK_SCREEN_APP as g,CUSTOM_LOCK_SCREEN_APP_METADATA as h}from"../../../api/device-action/__test-utils__/data";import{DEFAULT_MANAGER_API_BASE_URL as o,DEFAULT_MOCK_SERVER_BASE_URL as a}from"../../manager-api/model/Const";import{HttpFetchApiError as m}from"../../manager-api/model/Errors";import{AxiosManagerApiDataSource as c}from"./AxiosManagerApiDataSource";jest.mock("axios");const u={id:17,target_id:"857735172"},A={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppsByHash",()=>{describe("success cases",()=>{afterEach(()=>{jest.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{const s=new c({managerApiUrl:o,mockUrl:a});jest.spyOn(t,"post").mockResolvedValue({data:[p]});const e=[l.appFullHash],r=await s.getAppsByHash(e);expect(r).toEqual(n([p]))}),it("with no apps, should return an empty list",async()=>{const s=new c({managerApiUrl:o,mockUrl:a});jest.spyOn(t,"post").mockResolvedValue({data:[]});const e=[],r=await s.getAppsByHash(e);expect(r).toEqual(n([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{const s=new c({managerApiUrl:o,mockUrl:a});jest.spyOn(t,"post").mockResolvedValue({data:[p,h]});const e=[l.appFullHash,g.appFullHash],r=await s.getAppsByHash(e);expect(r).toEqual(n([p,h]))})}),describe("error cases",()=>{afterEach(()=>{jest.clearAllMocks()}),it("should throw an error if the request fails",()=>{const s=new c({managerApiUrl:o,mockUrl:a}),e=new Error("fetch error");jest.spyOn(t,"post").mockRejectedValue(e);const r=[l.appFullHash],d=s.getAppsByHash(r);expect(d).resolves.toEqual(i(new m(e)))})})}),describe("getDeviceVersion",()=>{afterEach(()=>{jest.clearAllMocks()}),it("should return a complete device version",()=>{const s=new c({managerApiUrl:o,mockUrl:a});jest.spyOn(t,"get").mockResolvedValue({data:u});const e=s.getDeviceVersion("targetId",42);expect(e).resolves.toEqual(n(u))}),it("should return an error if the request fails",()=>{const s=new c({managerApiUrl:o,mockUrl:a}),e=new Error("fetch error");jest.spyOn(t,"get").mockRejectedValue(e);const r=s.getDeviceVersion("targetId",42);expect(r).resolves.toEqual(i(new m(e)))})}),describe("getFirmwareVersion",()=>{afterEach(()=>{jest.clearAllMocks()}),it("should return a complete firmware version",()=>{const s=new c({managerApiUrl:o,mockUrl:a});jest.spyOn(t,"get").mockResolvedValue({data:A});const e=s.getFirmwareVersion("versionName",42,21);expect(e).resolves.toEqual(n(A))}),it("should return an error if the request fails",()=>{const s=new c({managerApiUrl:o,mockUrl:a}),e=new Error("fetch error");jest.spyOn(t,"get").mockRejectedValue(e);const r=s.getFirmwareVersion("versionName",42,21);expect(r).resolves.toEqual(i(new m(e)))})})});
1
+ import s from"axios";import l from"isomorphic-ws";import{Left as n,Right as r}from"purify-ts";import{BTC_APP as i,BTC_APP_METADATA as c,CUSTOM_LOCK_SCREEN_APP as w,CUSTOM_LOCK_SCREEN_APP_METADATA as u}from"../../../api/device-action/__test-utils__/data";import{HttpFetchApiError as p,WebSocketConnectionError as k}from"../../manager-api/model/Errors";import{AxiosManagerApiDataSource as o}from"./AxiosManagerApiDataSource";jest.mock("axios");jest.mock("isomorphic-ws",()=>jest.fn().mockImplementationOnce(()=>{}).mockImplementationOnce(()=>{throw new Error("WebSocket connection failed")}));const m={id:17,target_id:"857735172"},h={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppsByHash",()=>{describe("success cases",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{jest.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{jest.spyOn(s,"post").mockResolvedValue({data:[c]});const t=[i.appFullHash],a=await e.getAppsByHash(t);expect(a).toEqual(r([c]))}),it("with no apps, should return an empty list",async()=>{jest.spyOn(s,"post").mockResolvedValue({data:[]});const t=[],a=await e.getAppsByHash(t);expect(a).toEqual(r([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{jest.spyOn(s,"post").mockResolvedValue({data:[c,u]});const t=[i.appFullHash,w.appFullHash],a=await e.getAppsByHash(t);expect(a).toEqual(r([c,u]))})}),describe("error cases",()=>{afterEach(()=>{jest.clearAllMocks()}),it("should throw an error if the request fails",()=>{const e=new o({}),t=new Error("fetch error");jest.spyOn(s,"post").mockRejectedValue(t);const a=[i.appFullHash],d=e.getAppsByHash(a);expect(d).resolves.toEqual(n(new p(t)))})})}),describe("getDeviceVersion",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{jest.clearAllMocks()}),it("should return a complete device version",()=>{jest.spyOn(s,"get").mockResolvedValue({data:m});const t=e.getDeviceVersion("targetId",42);expect(t).resolves.toEqual(r(m))}),it("should return an error if the request fails",()=>{const t=new Error("fetch error");jest.spyOn(s,"get").mockRejectedValue(t);const a=e.getDeviceVersion("targetId",42);expect(a).resolves.toEqual(n(new p(t)))})}),describe("getFirmwareVersion",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{jest.clearAllMocks()}),it("should return a complete firmware version",()=>{jest.spyOn(s,"get").mockResolvedValue({data:h});const t=e.getFirmwareVersion("versionName",42,21);expect(t).resolves.toEqual(r(h))}),it("should return an error if the request fails",()=>{const t=new Error("fetch error");jest.spyOn(s,"get").mockRejectedValue(t);const a=e.getFirmwareVersion("versionName",42,21);expect(a).resolves.toEqual(n(new p(t)))})}),describe("Secure Channel via WebSocket",()=>{describe("Connection establishment",()=>{afterEach(()=>{jest.clearAllMocks()}),it("should return an error if the WebSocket connection fails",()=>{const t=new o({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(l).toHaveBeenCalledWith("wss://test-websocket-url/test"),expect(t.extract()).toBeInstanceOf(l)}),it("should return an error if the WebSocket connection fails",()=>{const t=new o({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(t.extract()).toBeInstanceOf(k)})}),describe("Connections with different pathname",()=>{let e;beforeEach(()=>{e=new o({webSocketUrl:"wss://test-websocket-url"})}),afterEach(()=>{jest.clearAllMocks()}),it("should call _connectWebSocket with parameters for genuineCheck",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.genuineCheck({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/genuine?targetId=targetId&perso=perso")}),it("should call _connectWebSocket with parameters for listInstalledApps",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.listInstalledApps({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/apps/list?targetId=targetId&perso=perso")}),it("should call _connectWebSocket with parameters for updateMcu",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.updateMcu({targetId:"targetId",version:"version"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/mcu?targetId=targetId&version=version")}),it("should call _connectWebSocket with parameters for updateFirmware",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.updateFirmware({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey")}),it("should call _connectWebSocket with parameters for installApp",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.installApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",deleteKey:"deleteKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&deleteKey=deleteKey&hash=hash")}),it("should call _connectWebSocket with parameters for uninstallApp",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.uninstallApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",deleteKey:"deleteKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&deleteKey=deleteKey&hash=hash")})})})});
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.test.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { 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} from \"@api/device-action/__test-utils__/data\";\nimport {\n DEFAULT_MANAGER_API_BASE_URL,\n DEFAULT_MOCK_SERVER_BASE_URL,\n} from \"@internal/manager-api/model/Const\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\n\njest.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n const api = new AxiosManagerApiDataSource({\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n });\n\n jest.spyOn(axios, \"post\").mockResolvedValue({\n data: [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 const api = new AxiosManagerApiDataSource({\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n });\n\n jest.spyOn(axios, \"post\").mockResolvedValue({\n data: [],\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 const api = new AxiosManagerApiDataSource({\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n });\n\n jest.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\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 afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n });\n const err = new Error(\"fetch error\");\n jest.spyOn(axios, \"post\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = api.getAppsByHash(hashes);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should return a complete device version\", () => {\n // given\n const api = new AxiosManagerApiDataSource({\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n });\n jest\n .spyOn(axios, \"get\")\n .mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = api.getDeviceVersion(\"targetId\", 42);\n\n // then\n expect(response).resolves.toEqual(Right(mockGetDeviceVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n });\n const error = new Error(\"fetch error\");\n jest.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getDeviceVersion(\"targetId\", 42);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should return a complete firmware version\", () => {\n // given\n const api = new AxiosManagerApiDataSource({\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n });\n jest\n .spyOn(axios, \"get\")\n .mockResolvedValue({ data: mockGetFirmwareVersion });\n\n // when\n const response = api.getFirmwareVersion(\"versionName\", 42, 21);\n\n // then\n expect(response).resolves.toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n });\n const error = new Error(\"fetch error\");\n jest.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getFirmwareVersion(\"versionName\", 42, 21);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["axios", "Left", "Right", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "DEFAULT_MANAGER_API_BASE_URL", "DEFAULT_MOCK_SERVER_BASE_URL", "HttpFetchApiError", "AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "hashes", "apps", "err", "response", "error"]
4
+ "sourcesContent": ["import axios from \"axios\";\nimport WebSocket from \"isomorphic-ws\";\nimport { 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} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport {\n HttpFetchApiError,\n WebSocketConnectionError,\n} from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\njest.mock(\"axios\");\njest.mock(\"isomorphic-ws\", () => {\n // The chained mockImplementationOnce is used to simulate the WebSocket connection success and failure respectively, the order is important\n return jest\n .fn()\n .mockImplementationOnce(() => {})\n .mockImplementationOnce(() => {\n throw new Error(\"WebSocket connection failed\");\n });\n});\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n jest.spyOn(axios, \"post\").mockResolvedValue({\n data: [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 jest.spyOn(axios, \"post\").mockResolvedValue({\n data: [],\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 jest.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\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 afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n jest.spyOn(axios, \"post\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = api.getAppsByHash(hashes);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should return a complete device version\", () => {\n // given\n jest\n .spyOn(axios, \"get\")\n .mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = api.getDeviceVersion(\"targetId\", 42);\n\n // then\n expect(response).resolves.toEqual(Right(mockGetDeviceVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n\n const error = new Error(\"fetch error\");\n jest.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getDeviceVersion(\"targetId\", 42);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should return a complete firmware version\", () => {\n // given\n jest\n .spyOn(axios, \"get\")\n .mockResolvedValue({ data: mockGetFirmwareVersion });\n\n // when\n const response = api.getFirmwareVersion(\"versionName\", 42, 21);\n\n // then\n expect(response).resolves.toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n const error = new Error(\"fetch error\");\n jest.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getFirmwareVersion(\"versionName\", 42, 21);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"Secure Channel via WebSocket\", () => {\n describe(\"Connection establishment\", () => {\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should return an error if the WebSocket connection fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n // then\n expect(WebSocket).toHaveBeenCalledWith(\"wss://test-websocket-url/test\");\n expect(res.extract()).toBeInstanceOf(WebSocket);\n });\n it(\"should return an error if the WebSocket connection fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n // then\n expect(res.extract()).toBeInstanceOf(WebSocketConnectionError);\n });\n });\n describe(\"Connections with different pathname\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n });\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should call _connectWebSocket with parameters for genuineCheck\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n // when\n api.genuineCheck({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/genuine?targetId=targetId&perso=perso\",\n );\n });\n it(\"should call _connectWebSocket with parameters for listInstalledApps\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n // when\n api.listInstalledApps({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/apps/list?targetId=targetId&perso=perso\",\n );\n });\n it(\"should call _connectWebSocket with parameters for updateMcu\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateMcu({\n targetId: \"targetId\",\n version: \"version\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/mcu?targetId=targetId&version=version\",\n );\n });\n it(\"should call _connectWebSocket with parameters for updateFirmware\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateFirmware({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey\",\n );\n });\n it(\"should call _connectWebSocket with parameters for installApp\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n\n // when\n api.installApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n deleteKey: \"deleteKey\",\n hash: \"hash\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&deleteKey=deleteKey&hash=hash\",\n );\n });\n it(\"should call _connectWebSocket with parameters for uninstallApp\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n // when\n api.uninstallApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n deleteKey: \"deleteKey\",\n hash: \"hash\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&deleteKey=deleteKey&hash=hash\",\n );\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["axios", "WebSocket", "Left", "Right", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "HttpFetchApiError", "WebSocketConnectionError", "AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "hashes", "apps", "err", "response", "error", "res"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class a{getDeviceVersion=jest.fn();getFirmwareVersion=jest.fn();getAppsByHash=jest.fn()}export{a as AxiosManagerApiDataSource};
1
+ class t{getDeviceVersion=jest.fn();getFirmwareVersion=jest.fn();getAppsByHash=jest.fn();genuineCheck=jest.fn();listInstalledApps=jest.fn();updateMcu=jest.fn();updateFirmware=jest.fn();installApp=jest.fn();uninstallApp=jest.fn()}export{t as AxiosManagerApiDataSource};
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getDeviceVersion = jest.fn();\n getFirmwareVersion = jest.fn();\n getAppsByHash = jest.fn();\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAA0D,CACrE,iBAAmB,KAAK,GAAG,EAC3B,mBAAqB,KAAK,GAAG,EAC7B,cAAgB,KAAK,GAAG,CAC1B",
4
+ "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getDeviceVersion = jest.fn();\n getFirmwareVersion = jest.fn();\n getAppsByHash = jest.fn();\n genuineCheck = jest.fn();\n listInstalledApps = jest.fn();\n updateMcu = jest.fn();\n updateFirmware = jest.fn();\n installApp = jest.fn();\n uninstallApp = jest.fn();\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAA0D,CACrE,iBAAmB,KAAK,GAAG,EAC3B,mBAAqB,KAAK,GAAG,EAC7B,cAAgB,KAAK,GAAG,EACxB,aAAe,KAAK,GAAG,EACvB,kBAAoB,KAAK,GAAG,EAC5B,UAAY,KAAK,GAAG,EACpB,eAAiB,KAAK,GAAG,EACzB,WAAa,KAAK,GAAG,EACrB,aAAe,KAAK,GAAG,CACzB",
6
6
  "names": ["AxiosManagerApiDataSource"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as c}from"inversify";import{AxiosManagerApiDataSource as u}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as m}from"../../manager-api/service/DefaultManagerApiService";import{StubUseCase as i}from"../../../../src/di.stub";import{managerApiModuleFactory as p}from"./managerApiModule";import{managerApiTypes as r}from"./managerApiTypes";describe("managerApiModuleFactory",()=>{describe("Default",()=>{let e,t;beforeEach(()=>{t=p({stub:!1,config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}}),e=new c,e.load(t)}),it("should return the config module",()=>{expect(t).toBeDefined()}),it("should return none stubbed use cases",()=>{const a=e.get(r.ManagerApiDataSource);expect(a).toBeInstanceOf(u);const o=e.get(r.ManagerApiService);expect(o).toBeInstanceOf(m);const n=e.get(r.DmkConfig);expect(n).toEqual({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"})})}),describe("Stubbed",()=>{let e,t;beforeEach(()=>{t=p({stub:!0,config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}}),e=new c,e.load(t)}),it("should return the config module",()=>{expect(t).toBeDefined()}),it("should return stubbed use cases",()=>{const a=e.get(r.ManagerApiDataSource);expect(a).toBeInstanceOf(i);const o=e.get(r.ManagerApiService);expect(o).toBeInstanceOf(i);const n=e.get(r.DmkConfig);expect(n).toEqual({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"})})})});
1
+ import{Container as n}from"inversify";import{AxiosManagerApiDataSource as u}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as l}from"../../manager-api/service/DefaultManagerApiService";import{StubUseCase as i}from"../../../../src/di.stub";import{managerApiModuleFactory as p}from"./managerApiModule";import{managerApiTypes as r}from"./managerApiTypes";describe("managerApiModuleFactory",()=>{describe("Default",()=>{let e,t;beforeEach(()=>{t=p({stub:!1,config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}}),e=new n,e.load(t)}),it("should return the config module",()=>{expect(t).toBeDefined()}),it("should return none stubbed use cases",()=>{const a=e.get(r.ManagerApiDataSource);expect(a).toBeInstanceOf(u);const o=e.get(r.ManagerApiService);expect(o).toBeInstanceOf(l);const c=e.get(r.DmkConfig);expect(c).toEqual({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"})})}),describe("Stubbed",()=>{let e,t;beforeEach(()=>{t=p({stub:!0,config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}}),e=new n,e.load(t)}),it("should return the config module",()=>{expect(t).toBeDefined()}),it("should return stubbed use cases",()=>{const a=e.get(r.ManagerApiDataSource);expect(a).toBeInstanceOf(i);const o=e.get(r.ManagerApiService);expect(o).toBeInstanceOf(i);const c=e.get(r.DmkConfig);expect(c).toEqual({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"})})})});
2
2
  //# sourceMappingURL=managerApiModule.test.js.map