@ikonintegration/ikapi 4.0.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.cjs +81 -0
  3. package/.github/workflows/npmpublish.yml +8 -19
  4. package/.github/workflows/prs.yml +12 -0
  5. package/README.md +89 -99
  6. package/dist/index.d.ts +16 -0
  7. package/dist/index.js +27 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/package-lock.json +11881 -0
  10. package/dist/package.json +81 -0
  11. package/dist/src/API/Request.d.ts +125 -0
  12. package/dist/src/API/Request.js +185 -0
  13. package/dist/src/API/Request.js.map +1 -0
  14. package/dist/src/API/Response.d.ts +188 -0
  15. package/dist/src/API/Response.js +270 -0
  16. package/dist/src/API/Response.js.map +1 -0
  17. package/dist/src/BaseEvent/DynamoTransaction.d.ts +70 -0
  18. package/dist/src/BaseEvent/DynamoTransaction.js +104 -0
  19. package/dist/src/BaseEvent/DynamoTransaction.js.map +1 -0
  20. package/dist/src/BaseEvent/EventProcessor.d.ts +58 -0
  21. package/dist/src/BaseEvent/EventProcessor.js +101 -0
  22. package/dist/src/BaseEvent/EventProcessor.js.map +1 -0
  23. package/dist/src/BaseEvent/Process.d.ts +50 -0
  24. package/dist/src/BaseEvent/Process.js +64 -0
  25. package/dist/src/BaseEvent/Process.js.map +1 -0
  26. package/dist/src/BaseEvent/StepTransaction.d.ts +23 -0
  27. package/dist/src/BaseEvent/StepTransaction.js +27 -0
  28. package/dist/src/BaseEvent/StepTransaction.js.map +1 -0
  29. package/dist/src/BaseEvent/Transaction.d.ts +149 -0
  30. package/dist/src/BaseEvent/Transaction.js +224 -0
  31. package/dist/src/BaseEvent/Transaction.js.map +1 -0
  32. package/dist/src/Cache/Redis.d.ts +29 -0
  33. package/dist/src/Cache/Redis.js +80 -0
  34. package/dist/src/Cache/Redis.js.map +1 -0
  35. package/dist/src/Cache/types.d.ts +31 -0
  36. package/dist/src/Cache/types.js +2 -0
  37. package/dist/src/Cache/types.js.map +1 -0
  38. package/dist/src/Config/Configuration.d.ts +123 -0
  39. package/dist/src/Config/Configuration.js +109 -0
  40. package/dist/src/Config/Configuration.js.map +1 -0
  41. package/dist/src/Config/EnvironmentVar.d.ts +74 -0
  42. package/dist/src/Config/EnvironmentVar.js +138 -0
  43. package/dist/src/Config/EnvironmentVar.js.map +1 -0
  44. package/dist/src/Crypto/Crypto.d.ts +45 -0
  45. package/dist/src/Crypto/Crypto.js +72 -0
  46. package/dist/src/Crypto/Crypto.js.map +1 -0
  47. package/dist/src/Database/Database.d.ts +21 -0
  48. package/dist/src/Database/Database.js +15 -0
  49. package/dist/src/Database/Database.js.map +1 -0
  50. package/dist/src/Database/DatabaseManager.d.ts +47 -0
  51. package/dist/src/Database/DatabaseManager.js +60 -0
  52. package/dist/src/Database/DatabaseManager.js.map +1 -0
  53. package/dist/src/Database/DatabaseTransaction.d.ts +101 -0
  54. package/dist/src/Database/DatabaseTransaction.js +126 -0
  55. package/dist/src/Database/DatabaseTransaction.js.map +1 -0
  56. package/dist/src/Database/index.d.ts +10 -0
  57. package/dist/src/Database/index.js +15 -0
  58. package/dist/src/Database/index.js.map +1 -0
  59. package/dist/src/Database/integrations/dynamo/DynamoDatabase.d.ts +35 -0
  60. package/dist/src/Database/integrations/dynamo/DynamoDatabase.js +59 -0
  61. package/dist/src/Database/integrations/dynamo/DynamoDatabase.js.map +1 -0
  62. package/dist/src/Database/integrations/kysely/KyselyDatabase.d.ts +66 -0
  63. package/dist/src/Database/integrations/kysely/KyselyDatabase.js +86 -0
  64. package/dist/src/Database/integrations/kysely/KyselyDatabase.js.map +1 -0
  65. package/dist/src/Database/integrations/kysely/KyselyTransaction.d.ts +70 -0
  66. package/dist/src/Database/integrations/kysely/KyselyTransaction.js +118 -0
  67. package/dist/src/Database/integrations/kysely/KyselyTransaction.js.map +1 -0
  68. package/dist/src/Database/integrations/pgsql/PostgresDatabase.d.ts +36 -0
  69. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js +54 -0
  70. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js.map +1 -0
  71. package/dist/src/Database/integrations/pgsql/PostgresTransaction.d.ts +63 -0
  72. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js +61 -0
  73. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js.map +1 -0
  74. package/dist/src/Database/types.d.ts +76 -0
  75. package/dist/src/Database/types.js +2 -0
  76. package/dist/src/Database/types.js.map +1 -0
  77. package/dist/src/Globals.d.ts +93 -0
  78. package/dist/src/Globals.js +99 -0
  79. package/dist/src/Globals.js.map +1 -0
  80. package/dist/src/Logger/Logger.d.ts +161 -0
  81. package/dist/src/Logger/Logger.js +299 -0
  82. package/dist/src/Logger/Logger.js.map +1 -0
  83. package/dist/src/Mailer/Mailer.d.ts +78 -0
  84. package/dist/src/Mailer/Mailer.js +182 -0
  85. package/dist/src/Mailer/Mailer.js.map +1 -0
  86. package/dist/src/Publisher/Publisher.d.ts +39 -0
  87. package/dist/src/Publisher/Publisher.js +77 -0
  88. package/dist/src/Publisher/Publisher.js.map +1 -0
  89. package/dist/src/Server/RouteResolver.d.ts +33 -0
  90. package/dist/src/Server/RouteResolver.js +100 -0
  91. package/dist/src/Server/RouteResolver.js.map +1 -0
  92. package/dist/src/Server/Router.d.ts +157 -0
  93. package/dist/src/Server/Router.js +32 -0
  94. package/dist/src/Server/Router.js.map +1 -0
  95. package/dist/src/Server/lib/ContainerServer.d.ts +42 -0
  96. package/dist/src/Server/lib/ContainerServer.js +66 -0
  97. package/dist/src/Server/lib/ContainerServer.js.map +1 -0
  98. package/dist/src/Server/lib/Server.d.ts +45 -0
  99. package/dist/src/Server/lib/Server.js +93 -0
  100. package/dist/src/Server/lib/Server.js.map +1 -0
  101. package/dist/src/Server/lib/container/GenericHandler.d.ts +9 -0
  102. package/dist/src/Server/lib/container/GenericHandler.js +82 -0
  103. package/dist/src/Server/lib/container/GenericHandler.js.map +1 -0
  104. package/dist/src/Server/lib/container/GenericHandlerEvent.d.ts +52 -0
  105. package/dist/src/Server/lib/container/GenericHandlerEvent.js +132 -0
  106. package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +1 -0
  107. package/dist/src/Server/lib/container/HealthHandler.d.ts +9 -0
  108. package/dist/src/Server/lib/container/HealthHandler.js +19 -0
  109. package/dist/src/Server/lib/container/HealthHandler.js.map +1 -0
  110. package/dist/src/Server/lib/container/Proxy.d.ts +67 -0
  111. package/dist/src/Server/lib/container/Proxy.js +143 -0
  112. package/dist/src/Server/lib/container/Proxy.js.map +1 -0
  113. package/dist/src/Server/lib/container/Utils.d.ts +14 -0
  114. package/dist/src/Server/lib/container/Utils.js +37 -0
  115. package/dist/src/Server/lib/container/Utils.js.map +1 -0
  116. package/dist/src/Util/AsyncSingleton.d.ts +31 -0
  117. package/dist/src/Util/AsyncSingleton.js +83 -0
  118. package/dist/src/Util/AsyncSingleton.js.map +1 -0
  119. package/dist/src/Util/Utils.d.ts +61 -0
  120. package/dist/src/Util/Utils.js +147 -0
  121. package/dist/src/Util/Utils.js.map +1 -0
  122. package/dist/src/Validation/Validator.d.ts +17 -0
  123. package/dist/src/Validation/Validator.js +39 -0
  124. package/dist/src/Validation/Validator.js.map +1 -0
  125. package/dist/tsconfig.tsbuildinfo +1 -0
  126. package/index.ts +41 -0
  127. package/jest.config.ts +37 -0
  128. package/jest.smoke.config.ts +34 -0
  129. package/package.json +66 -22
  130. package/src/API/Request.ts +214 -0
  131. package/src/API/Response.ts +370 -0
  132. package/src/BaseEvent/DynamoTransaction.ts +175 -0
  133. package/src/BaseEvent/EventProcessor.ts +140 -0
  134. package/src/BaseEvent/Process.ts +78 -0
  135. package/src/BaseEvent/StepTransaction.ts +35 -0
  136. package/src/BaseEvent/Transaction.ts +323 -0
  137. package/src/Cache/Redis.ts +89 -0
  138. package/src/Cache/types.ts +33 -0
  139. package/src/Config/Configuration.ts +199 -0
  140. package/src/Config/EnvironmentVar.ts +142 -0
  141. package/src/Crypto/Crypto.ts +89 -0
  142. package/src/Database/Database.ts +22 -0
  143. package/src/Database/DatabaseManager.ts +67 -0
  144. package/src/Database/DatabaseTransaction.ts +170 -0
  145. package/src/Database/index.ts +27 -0
  146. package/src/Database/integrations/dynamo/DynamoDatabase.ts +58 -0
  147. package/src/Database/integrations/kysely/KyselyDatabase.ts +99 -0
  148. package/src/Database/integrations/kysely/KyselyTransaction.ts +172 -0
  149. package/src/Database/integrations/pgsql/PostgresDatabase.ts +56 -0
  150. package/src/Database/integrations/pgsql/PostgresTransaction.ts +87 -0
  151. package/src/Database/types.ts +85 -0
  152. package/src/Globals.ts +103 -0
  153. package/src/Logger/Logger.ts +363 -0
  154. package/src/Mailer/Mailer.ts +217 -0
  155. package/src/Publisher/Publisher.ts +96 -0
  156. package/src/Server/RouteResolver.ts +124 -0
  157. package/src/Server/Router.ts +200 -0
  158. package/src/Server/lib/ContainerServer.ts +65 -0
  159. package/src/Server/lib/Server.ts +109 -0
  160. package/src/Server/lib/container/GenericHandler.ts +76 -0
  161. package/src/Server/lib/container/GenericHandlerEvent.ts +154 -0
  162. package/src/Server/lib/container/HealthHandler.ts +11 -0
  163. package/src/Server/lib/container/Proxy.ts +172 -0
  164. package/src/Server/lib/container/Utils.ts +33 -0
  165. package/src/Util/AsyncSingleton.ts +86 -0
  166. package/src/Util/Utils.ts +131 -0
  167. package/src/Validation/Validator.ts +45 -0
  168. package/tests/API/Request.test.ts +273 -0
  169. package/tests/API/Response.test.ts +367 -0
  170. package/tests/BaseEvent/DynamoTransaction.test.ts +272 -0
  171. package/tests/BaseEvent/EventProcessor.test.ts +263 -0
  172. package/tests/BaseEvent/Process.test.ts +47 -0
  173. package/tests/BaseEvent/StepTransaction.test.ts +44 -0
  174. package/tests/BaseEvent/Transaction.test.ts +402 -0
  175. package/tests/Cache/Redis-client.test.ts +90 -0
  176. package/tests/Cache/Redis-cluster.test.ts +100 -0
  177. package/tests/Config/Config.test.ts +205 -0
  178. package/tests/Config/EnvironmentVar.test.ts +251 -0
  179. package/tests/Crypto/Crypto.test.ts +88 -0
  180. package/tests/Database/DatabaseManager.test.ts +79 -0
  181. package/tests/Database/integrations/dynamo/DynamoDatabase.test.ts +44 -0
  182. package/tests/Database/integrations/kysely/KyselyDatabase.test.ts +113 -0
  183. package/tests/Database/integrations/kysely/KyselyTransaction.test.ts +119 -0
  184. package/tests/Database/integrations/pg/PostgresDatabase.test.ts +76 -0
  185. package/tests/Database/integrations/pg/PostgresTransaction.test.ts +118 -0
  186. package/tests/Logger/Logger.test.ts +215 -0
  187. package/tests/Mailer/Mailer.test.ts +59 -0
  188. package/tests/Publisher/Publisher.test.ts +60 -0
  189. package/tests/Server/RouteResolver.test.ts +116 -0
  190. package/tests/Server/Router.test.ts +39 -0
  191. package/tests/Server/lib/ContainerServer.test.ts +531 -0
  192. package/tests/Server/lib/Server.test.ts +12 -0
  193. package/tests/Server/lib/container/GenericHandler.test.ts +131 -0
  194. package/tests/Server/lib/container/GenericHandlerEvent.test.ts +103 -0
  195. package/tests/Server/lib/container/HealthHandler.test.ts +30 -0
  196. package/tests/Server/lib/container/Proxy.test.ts +268 -0
  197. package/tests/Server/lib/container/Utils.test.ts +47 -0
  198. package/tests/Test.utils.ts +78 -0
  199. package/tests/Utils/Utils.test.ts +229 -0
  200. package/tests/Validation/Validator.test.ts +82 -0
  201. package/tsconfig.json +26 -0
  202. package/tsconfig.smoke.json +26 -0
  203. package/index.js +0 -88
  204. package/src/API/IKRequest.js +0 -52
  205. package/src/API/IKResponse.js +0 -119
  206. package/src/API/IKUtils.js +0 -51
  207. package/src/BaseEvent/IKProcess.js +0 -77
  208. package/src/BaseEvent/IKTransaction.js +0 -139
  209. package/src/Cache/Prototype/IKCache.js +0 -17
  210. package/src/Cache/Redis/IKRedis.js +0 -148
  211. package/src/Database/DDB/IKDB.js +0 -56
  212. package/src/Database/DDB/IKDBBaseExpression.js +0 -130
  213. package/src/Database/DDB/IKDBBaseQuery.js +0 -151
  214. package/src/Database/DDB/IKDBQueryBatchGet.js +0 -37
  215. package/src/Database/DDB/IKDBQueryBatchWrite.js +0 -64
  216. package/src/Database/DDB/IKDBQueryDelete.js +0 -34
  217. package/src/Database/DDB/IKDBQueryGet.js +0 -48
  218. package/src/Database/DDB/IKDBQueryPut.js +0 -87
  219. package/src/Database/DDB/IKDBQueryScan.js +0 -45
  220. package/src/Database/DDB/IKDBQueryTransactionalWrite.js +0 -69
  221. package/src/Database/DDB/IKDBQueryUpdate.js +0 -221
  222. package/src/Database/DDB/_IKDBQueryTransactionalRead.js +0 -46
  223. package/src/Database/PSQL/IKDB.js +0 -41
  224. package/src/Database/PSQL/IKDBBaseQuery.js +0 -26
  225. package/src/Database/Prototype/IKDB.js +0 -21
  226. package/src/Database/Prototype/IKDBBaseQuery.js +0 -14
  227. package/src/IKDynamoStream.js +0 -42
  228. package/src/IKEventProcessor.js +0 -42
  229. package/src/IKGlobals.js +0 -24
  230. package/src/IKRouter.js +0 -47
  231. package/src/IKStepTransaction.js +0 -14
  232. package/src/Logger/IKLogger.js +0 -136
  233. package/src/Mailer/IKMailer.js +0 -69
  234. package/src/Publisher/IKPublisher.js +0 -44
  235. package/src/Tracker/IKExecutionTracker.js +0 -79
  236. package/src/Validation/IKValidation.js +0 -76
@@ -0,0 +1,60 @@
1
+ import { SNSClient, PublishCommand } from '@aws-sdk/client-sns'
2
+ import { mockClient } from 'aws-sdk-client-mock'
3
+ import { expect } from 'chai'
4
+
5
+ import Publisher from '../../src/Publisher/Publisher.js'
6
+
7
+ const SNSMock = mockClient(SNSClient)
8
+
9
+ describe('SNS Pub-Sub', () => {
10
+ // reset mock
11
+ beforeEach(() => {
12
+ SNSMock.reset()
13
+ })
14
+
15
+ const provider = new Publisher({
16
+ region: 'ca-central-1',
17
+ })
18
+
19
+ test('Publishes with success', async () => {
20
+ const msg = { text: '123' }
21
+ const topic = '123'
22
+ const messageId = 'id-123'
23
+ SNSMock.on(PublishCommand, {
24
+ Message: JSON.stringify(msg),
25
+ TopicArn: topic,
26
+ }).resolves({
27
+ MessageId: messageId,
28
+ })
29
+ const res = await provider.publishOnTopic(msg, topic)
30
+ expect(res).is.not.null
31
+ expect(res?.MessageId).to.be.equals(messageId)
32
+ })
33
+
34
+ test('Publishes with success (additional props)', async () => {
35
+ const msg = { text: '123' }
36
+ const topic = '123'
37
+ const messageId = 'id-123'
38
+ SNSMock.on(PublishCommand, {
39
+ Message: JSON.stringify(msg),
40
+ TopicArn: topic,
41
+ }).resolves({
42
+ MessageId: messageId,
43
+ })
44
+ const res = await provider.publishOnTopic(msg, topic, {
45
+ FifoGroup: 123,
46
+ })
47
+ expect(res).is.not.null
48
+ expect(res?.MessageId).to.be.equals(messageId)
49
+ })
50
+
51
+ test('Publish failure', async () => {
52
+ const msg = { text: '123' }
53
+ const topic = '123'
54
+ SNSMock.on(PublishCommand).rejects(new Error('failed!'))
55
+ const res = await provider.publishOnTopic(msg, topic)
56
+ expect(res).is.undefined
57
+ })
58
+ })
59
+
60
+ export {}
@@ -0,0 +1,116 @@
1
+ import { HttpMethod } from '../../src/API/Request.js'
2
+ import { Route } from '../../src/Server/Router.js'
3
+ import RouteResolver from '../../src/Server/RouteResolver.js'
4
+
5
+ const mockRoute = (method: HttpMethod, path: string | string[]) =>
6
+ ({
7
+ method: method,
8
+ path: path,
9
+ }) as any as Route
10
+
11
+ describe('RouteResolver', () => {
12
+ test('no routes configured', () => {
13
+ parameterizedTest({}, () => [
14
+ [HttpMethod.GET, '/', undefined],
15
+ [HttpMethod.GET, '', undefined],
16
+ [HttpMethod.GET, 'hjdah', undefined],
17
+ ])
18
+ })
19
+
20
+ test('one route', () => {
21
+ parameterizedTest(
22
+ {
23
+ route: mockRoute(HttpMethod.GET, '/'),
24
+ },
25
+ routes => [
26
+ [HttpMethod.GET, '/', routes.route],
27
+ [HttpMethod.GET, '', routes.route],
28
+ [HttpMethod.GET, 'hjdah', undefined],
29
+ [HttpMethod.POST, '/', undefined],
30
+ [HttpMethod.DELETE, '/', undefined],
31
+ ]
32
+ )
33
+ })
34
+
35
+ test('basic matching', () => {
36
+ parameterizedTest(
37
+ {
38
+ getBase: mockRoute(HttpMethod.GET, '/'),
39
+ getA: mockRoute(HttpMethod.GET, '/a'),
40
+ getB: mockRoute(HttpMethod.GET, '/b'),
41
+ postBase: mockRoute(HttpMethod.POST, '/'),
42
+ postA: mockRoute(HttpMethod.POST, '/a'),
43
+ variable: mockRoute(HttpMethod.GET, '/:a'),
44
+ getAb: mockRoute(HttpMethod.GET, '/a/b'),
45
+ },
46
+ routes => [
47
+ [HttpMethod.GET, '/', routes.getBase],
48
+ [HttpMethod.GET, '/a', routes.getA],
49
+ [HttpMethod.GET, '/b', routes.getB],
50
+ [HttpMethod.POST, '/', routes.postBase],
51
+ [HttpMethod.POST, '/a', routes.postA],
52
+ [HttpMethod.GET, '/c', routes.variable],
53
+ [HttpMethod.GET, '/a/b', routes.getAb],
54
+ ]
55
+ )
56
+ })
57
+
58
+ test('multi matching', () => {
59
+ parameterizedTest(
60
+ {
61
+ getA: mockRoute(HttpMethod.GET, ['/a', '/b']),
62
+ variable: mockRoute(HttpMethod.GET, '/:a'),
63
+ },
64
+ routes => [
65
+ [HttpMethod.GET, '/a', routes.getA],
66
+ [HttpMethod.GET, '/b', routes.getA],
67
+ [HttpMethod.GET, '/c', routes.variable],
68
+ ]
69
+ )
70
+ })
71
+
72
+ test('path variables', () => {
73
+ parameterizedTest(
74
+ {
75
+ path_vars: mockRoute(HttpMethod.GET, '/base/:a/:b/:c'),
76
+ abc: mockRoute(HttpMethod.GET, '/base/a/b/c'),
77
+ abcd: mockRoute(HttpMethod.GET, '/base/a/b/c/d'),
78
+ abc_path: mockRoute(HttpMethod.GET, '/base/a/b/c/:d'),
79
+ },
80
+ routes => [
81
+ [HttpMethod.GET, '/base/1/2/3', routes.path_vars],
82
+ [HttpMethod.GET, '/base/a/b/c', routes.abc],
83
+ [HttpMethod.GET, '/base/a/b/c/d', routes.abcd],
84
+ [HttpMethod.GET, '/base/a/b/c/u', routes.abc_path],
85
+ [HttpMethod.GET, '/base/a/b', undefined],
86
+ [HttpMethod.GET, '/base/a/b/c/d/e', undefined],
87
+ [HttpMethod.GET, '/base/a/b/c/d/e/f', undefined],
88
+ ]
89
+ )
90
+ })
91
+
92
+ test('fails to construct with duplicate routes', () => {
93
+ expect(
94
+ () =>
95
+ new RouteResolver({
96
+ routes: [
97
+ mockRoute(HttpMethod.GET, '/a/b/c/:d/:e/b') as any,
98
+ mockRoute(HttpMethod.GET, '/a/b/c/:jshj/:e/b') as any,
99
+ ],
100
+ })
101
+ ).toThrowError('Duplicate route: GET: /a/b/c/:jshj/:e/b')
102
+ })
103
+ })
104
+
105
+ const parameterizedTest = <T extends { [k: string]: Route }>(
106
+ routes: T,
107
+ tests: (routes: T) => [HttpMethod, string, Route?][]
108
+ ) => {
109
+ const underTest = new RouteResolver({
110
+ routes: Object.values(routes) as any,
111
+ })
112
+
113
+ tests(routes).forEach(([method, path, expected]) =>
114
+ expect(underTest.resolveRoute(method, path)).toBe(expected)
115
+ )
116
+ }
@@ -0,0 +1,39 @@
1
+ import { jest } from '@jest/globals'
2
+ import { expect } from 'chai'
3
+
4
+ import ContainerServer from '../../src/Server/lib/ContainerServer.js'
5
+ import Server from '../../src/Server/lib/Server.js'
6
+ import Router from '../../src/Server/Router.js'
7
+
8
+ describe('Router basics', () => {
9
+ // @ts-ignore
10
+ let mockExit = jest.spyOn(process, 'exit').mockImplementation(() => {})
11
+ beforeAll(() => {
12
+ // @ts-ignore
13
+ mockExit = jest.spyOn(process, 'exit').mockImplementation(() => {})
14
+ })
15
+ afterAll(() => {
16
+ mockExit.mockRestore()
17
+ })
18
+ beforeEach(() => {
19
+ mockExit.mockReset()
20
+ })
21
+
22
+ test('Serverless server', async () => {
23
+ process.env['HYBRIDLESS_RUNTIME'] = undefined
24
+ const router = new Router({ routes: [] })
25
+ expect(router.getExport()).to.not.be.undefined
26
+ expect(router['server']).to.be.an.instanceof(Server)
27
+ expect(router['server']).to.not.be.an.instanceof(ContainerServer)
28
+ })
29
+ test('Container server', async () => {
30
+ process.env['HYBRIDLESS_RUNTIME'] = 'true'
31
+ const router = new Router({ routes: [] })
32
+ expect(router.getExport()).to.not.be.undefined
33
+ expect(router['server']).to.be.an.instanceof(Server)
34
+ expect(router['server']).to.be.an.instanceof(ContainerServer)
35
+ await router['server']['stop']()
36
+ })
37
+ })
38
+
39
+ export {}