node-server-engine 1.4.8 → 1.5.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 (261) hide show
  1. package/.commitlintrc.js +27 -0
  2. package/.releaserc.js +56 -0
  3. package/README.md +154 -2
  4. package/dist/const/tokenIssuer.js +1 -0
  5. package/dist/const/tokenIssuer.js.map +1 -1
  6. package/dist/db/models/SequelizeMeta.js +3 -1
  7. package/dist/db/models/SequelizeMeta.js.map +1 -1
  8. package/dist/entities/ElasticSearch/ElasticSearch.js +1 -2
  9. package/dist/entities/ElasticSearch/ElasticSearch.js.map +1 -1
  10. package/dist/entities/SocketClient/SocketClient.js +1 -0
  11. package/dist/entities/SocketClient/SocketClient.js.map +1 -1
  12. package/dist/index.js +1 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/middleware/checkPermission/checkPermission.d.ts +1 -1
  15. package/dist/middleware/checkPermission/checkPermission.js +4 -2
  16. package/dist/middleware/checkPermission/checkPermission.js.map +1 -1
  17. package/dist/utils/createHttpServer/createHttpServer.js +1 -1
  18. package/dist/utils/createHttpServer/createHttpServer.js.map +1 -1
  19. package/dist/utils/jwt/jwt.js +1 -1
  20. package/dist/utils/jwt/jwt.js.map +1 -1
  21. package/dist/utils/semverCompare/semverCompare.js +1 -5
  22. package/dist/utils/semverCompare/semverCompare.js.map +1 -1
  23. package/package.json +30 -19
  24. package/.env.example +0 -186
  25. package/.github/workflows/publish.yml +0 -41
  26. package/.prettierrc +0 -7
  27. package/Dockerfile +0 -31
  28. package/babel.config.json +0 -34
  29. package/eslint.config.mjs +0 -11
  30. package/src/const/DebeziumEvent.ts +0 -6
  31. package/src/const/LogSeverity.ts +0 -7
  32. package/src/const/index.ts +0 -5
  33. package/src/const/metrics.ts +0 -6
  34. package/src/const/mime.ts +0 -37
  35. package/src/const/tokenIssuer.ts +0 -7
  36. package/src/db/migrations/20241030121500-create-sequelize-meta-table.ts +0 -29
  37. package/src/db/models/SequelizeMeta.ts +0 -16
  38. package/src/db/models/index.ts +0 -2
  39. package/src/entities/ElasticSearch/ElasticSearch.ts +0 -103
  40. package/src/entities/ElasticSearch/ElasticSearch.types.ts +0 -7
  41. package/src/entities/ElasticSearch/index.ts +0 -2
  42. package/src/entities/Endpoint/Endpoint.test.ts +0 -248
  43. package/src/entities/Endpoint/Endpoint.ts +0 -221
  44. package/src/entities/Endpoint/Endpoint.types.ts +0 -181
  45. package/src/entities/Endpoint/index.ts +0 -2
  46. package/src/entities/EngineError/EngineError.ts +0 -28
  47. package/src/entities/EngineError/EngineError.types.ts +0 -15
  48. package/src/entities/EngineError/index.ts +0 -2
  49. package/src/entities/KeySet/KeySet.test.ts +0 -126
  50. package/src/entities/KeySet/KeySet.ts +0 -172
  51. package/src/entities/KeySet/KeySet.types.ts +0 -28
  52. package/src/entities/KeySet/index.ts +0 -2
  53. package/src/entities/LifecycleController/LifecycleController.test.ts +0 -48
  54. package/src/entities/LifecycleController/LifecycleController.ts +0 -24
  55. package/src/entities/LifecycleController/LifecycleController.types.ts +0 -5
  56. package/src/entities/LifecycleController/index.ts +0 -2
  57. package/src/entities/Localizator/Localizator.ts +0 -139
  58. package/src/entities/Localizator/Localizator.types.ts +0 -52
  59. package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.test.ts +0 -165
  60. package/src/entities/Localizator/guessNamingConvention/guessNamingConvention.ts +0 -58
  61. package/src/entities/Localizator/guessNamingConvention/index.ts +0 -1
  62. package/src/entities/Localizator/index.ts +0 -2
  63. package/src/entities/MessageHandler/MessageHandler.test.ts +0 -130
  64. package/src/entities/MessageHandler/MessageHandler.ts +0 -72
  65. package/src/entities/MessageHandler/MessageHandler.types.ts +0 -15
  66. package/src/entities/MessageHandler/index.ts +0 -2
  67. package/src/entities/PubSub/PubSub.test.ts +0 -297
  68. package/src/entities/PubSub/PubSub.ts +0 -202
  69. package/src/entities/PubSub/PubSub.types.ts +0 -76
  70. package/src/entities/PubSub/handleMessage/handleMessage.test.ts +0 -102
  71. package/src/entities/PubSub/handleMessage/handleMessage.ts +0 -65
  72. package/src/entities/PubSub/handleMessage/index.ts +0 -1
  73. package/src/entities/PubSub/index.ts +0 -2
  74. package/src/entities/PushNotification/PushNotification.test.ts +0 -35
  75. package/src/entities/PushNotification/PushNotification.ts +0 -44
  76. package/src/entities/PushNotification/PushNotification.types.ts +0 -25
  77. package/src/entities/PushNotification/index.ts +0 -2
  78. package/src/entities/Redis/Redis.ts +0 -71
  79. package/src/entities/Redis/Redis.types.ts +0 -19
  80. package/src/entities/Redis/Redis.validate.ts +0 -17
  81. package/src/entities/Redis/index.ts +0 -2
  82. package/src/entities/Sequelize/Sequelize.config.ts +0 -59
  83. package/src/entities/Sequelize/Sequelize.test.ts +0 -21
  84. package/src/entities/Sequelize/Sequelize.ts +0 -75
  85. package/src/entities/Sequelize/Sequelize.types.ts +0 -10
  86. package/src/entities/Sequelize/Sequelize.validate.ts +0 -15
  87. package/src/entities/Sequelize/index.ts +0 -2
  88. package/src/entities/Server/Server.const.ts +0 -56
  89. package/src/entities/Server/Server.test.ts +0 -272
  90. package/src/entities/Server/Server.ts +0 -471
  91. package/src/entities/Server/Server.types.ts +0 -88
  92. package/src/entities/Server/index.ts +0 -2
  93. package/src/entities/SocketClient/SocketClient.test.ts +0 -392
  94. package/src/entities/SocketClient/SocketClient.ts +0 -401
  95. package/src/entities/SocketClient/SocketClient.types.ts +0 -62
  96. package/src/entities/SocketClient/index.ts +0 -2
  97. package/src/entities/SocketClient/parseMessage/index.ts +0 -1
  98. package/src/entities/SocketClient/parseMessage/parseMessage.test.ts +0 -20
  99. package/src/entities/SocketClient/parseMessage/parseMessage.ts +0 -26
  100. package/src/entities/Storage/Storage.test.ts +0 -58
  101. package/src/entities/Storage/Storage.ts +0 -219
  102. package/src/entities/Storage/Storage.types.ts +0 -57
  103. package/src/entities/Storage/index.ts +0 -2
  104. package/src/entities/ValidationError/ValidationError.ts +0 -34
  105. package/src/entities/ValidationError/index.ts +0 -1
  106. package/src/entities/WebError/WebError.test.ts +0 -18
  107. package/src/entities/WebError/WebError.ts +0 -23
  108. package/src/entities/WebError/WebError.types.ts +0 -9
  109. package/src/entities/WebError/index.ts +0 -2
  110. package/src/entities/index.ts +0 -16
  111. package/src/index.ts +0 -6
  112. package/src/metrics/debug.ts +0 -10
  113. package/src/metrics/index.ts +0 -2
  114. package/src/metrics/request.ts +0 -17
  115. package/src/middleware/authHmac/authHmac.test.ts +0 -86
  116. package/src/middleware/authHmac/authHmac.ts +0 -56
  117. package/src/middleware/authHmac/authHmac.types.ts +0 -7
  118. package/src/middleware/authHmac/index.ts +0 -2
  119. package/src/middleware/authJwt/authJwt.test.ts +0 -54
  120. package/src/middleware/authJwt/authJwt.ts +0 -55
  121. package/src/middleware/authJwt/authJwt.types.ts +0 -14
  122. package/src/middleware/authJwt/index.ts +0 -2
  123. package/src/middleware/authStatic/authStatic.test.ts +0 -36
  124. package/src/middleware/authStatic/authStatic.ts +0 -45
  125. package/src/middleware/authStatic/index.ts +0 -1
  126. package/src/middleware/authTls/authTls.test.ts +0 -138
  127. package/src/middleware/authTls/authTls.ts +0 -119
  128. package/src/middleware/authTls/authTls.types.ts +0 -13
  129. package/src/middleware/authTls/index.ts +0 -2
  130. package/src/middleware/checkPermission/checkPermission.ts +0 -33
  131. package/src/middleware/checkPermission/index.ts +0 -1
  132. package/src/middleware/error/error.test.ts +0 -60
  133. package/src/middleware/error/error.ts +0 -25
  134. package/src/middleware/error/index.ts +0 -1
  135. package/src/middleware/fileUploader/fileUploader.ts +0 -154
  136. package/src/middleware/fileUploader/fileUploader.types.ts +0 -35
  137. package/src/middleware/fileUploader/index.ts +0 -2
  138. package/src/middleware/fileUploader/isMultiPart/index.ts +0 -1
  139. package/src/middleware/fileUploader/isMultiPart/isMultipart.ts +0 -9
  140. package/src/middleware/fileUploader/validate/index.ts +0 -1
  141. package/src/middleware/fileUploader/validate/validate.ts +0 -27
  142. package/src/middleware/fourOhFour/fourOhFour.test.ts +0 -14
  143. package/src/middleware/fourOhFour/fourOhFour.ts +0 -13
  144. package/src/middleware/fourOhFour/index.ts +0 -1
  145. package/src/middleware/geminiFileUploader/geminiFileUploader.ts +0 -68
  146. package/src/middleware/geminiFileUploader/index.ts +0 -1
  147. package/src/middleware/healthCheck/healthCheck.test.ts +0 -12
  148. package/src/middleware/healthCheck/healthCheck.ts +0 -14
  149. package/src/middleware/healthCheck/index.ts +0 -1
  150. package/src/middleware/index.ts +0 -17
  151. package/src/middleware/metrics/index.ts +0 -1
  152. package/src/middleware/metrics/metrics.test.ts +0 -46
  153. package/src/middleware/metrics/metrics.ts +0 -24
  154. package/src/middleware/multiPartFileUploader/index.ts +0 -2
  155. package/src/middleware/multiPartFileUploader/multiPartFileUploader.ts +0 -249
  156. package/src/middleware/multiPartFileUploader/multiPartFileUploader.types.ts +0 -23
  157. package/src/middleware/multiPartFileUploader/validate/index.ts +0 -1
  158. package/src/middleware/multiPartFileUploader/validate/validate.ts +0 -27
  159. package/src/middleware/requestMetrics/index.ts +0 -1
  160. package/src/middleware/requestMetrics/requestMetrics.test.ts +0 -77
  161. package/src/middleware/requestMetrics/requestMetrics.ts +0 -20
  162. package/src/middleware/swaggerDocs/index.ts +0 -2
  163. package/src/middleware/swaggerDocs/swaggerDocs.ts +0 -114
  164. package/src/middleware/swaggerDocs/swaggerDocs.types.ts +0 -41
  165. package/src/middleware/userResolver/index.ts +0 -1
  166. package/src/middleware/userResolver/userResolver.ts +0 -53
  167. package/src/middleware/validate/index.ts +0 -1
  168. package/src/middleware/validate/validate.test.ts +0 -43
  169. package/src/middleware/validate/validate.ts +0 -25
  170. package/src/middleware/version/index.ts +0 -1
  171. package/src/middleware/version/version.test.ts +0 -23
  172. package/src/middleware/version/version.ts +0 -12
  173. package/src/utils/checkEnvironment/index.ts +0 -49
  174. package/src/utils/createHttpServer/createHttpServer.test.ts +0 -24
  175. package/src/utils/createHttpServer/createHttpServer.ts +0 -34
  176. package/src/utils/createHttpServer/createHttpServer.validate.ts +0 -17
  177. package/src/utils/createHttpServer/index.ts +0 -1
  178. package/src/utils/createSortedObject/createSortedObject.ts +0 -20
  179. package/src/utils/createSortedObject/createSortedObjet.test.ts +0 -47
  180. package/src/utils/createSortedObject/index.ts +0 -1
  181. package/src/utils/dbMigration/dbMigration.test.ts +0 -209
  182. package/src/utils/dbMigration/dbMigration.ts +0 -199
  183. package/src/utils/dbMigration/dbMigration.types.ts +0 -11
  184. package/src/utils/dbMigration/index.ts +0 -2
  185. package/src/utils/dbMigration/migrateMetadataTable/index.ts +0 -1
  186. package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.test.ts +0 -59
  187. package/src/utils/dbMigration/migrateMetadataTable/migrateMetadataTable.ts +0 -102
  188. package/src/utils/envAssert/envAssert.ts +0 -31
  189. package/src/utils/envAssert/index.ts +0 -1
  190. package/src/utils/envAssert/validators/hostList.ts +0 -17
  191. package/src/utils/envAssert/validators/index.ts +0 -5
  192. package/src/utils/envAssert/validators/ipList.ts +0 -13
  193. package/src/utils/envAssert/validators/path.ts +0 -13
  194. package/src/utils/envAssert/validators/string.ts +0 -9
  195. package/src/utils/envAssert/validators/stringList.ts +0 -13
  196. package/src/utils/filter/filter.ts +0 -17
  197. package/src/utils/filter/index.ts +0 -1
  198. package/src/utils/geminiFileUpload/geminiFileUpload.ts +0 -93
  199. package/src/utils/geminiFileUpload/index.ts +0 -1
  200. package/src/utils/hmac/checkEnv/checkEnv.test.ts +0 -18
  201. package/src/utils/hmac/checkEnv/checkEnv.ts +0 -9
  202. package/src/utils/hmac/checkEnv/index.ts +0 -1
  203. package/src/utils/hmac/createHmac/createHmac.ts +0 -33
  204. package/src/utils/hmac/createHmac/index.ts +0 -1
  205. package/src/utils/hmac/index.ts +0 -4
  206. package/src/utils/hmac/index.types.ts +0 -13
  207. package/src/utils/hmac/signPayload/index.ts +0 -1
  208. package/src/utils/hmac/signPayload/signPayload.ts +0 -16
  209. package/src/utils/hmac/verifySignature/index.ts +0 -1
  210. package/src/utils/hmac/verifySignature/verifySignature.ts +0 -24
  211. package/src/utils/index.ts +0 -29
  212. package/src/utils/jwt/index.ts +0 -2
  213. package/src/utils/jwt/jwt.test.ts +0 -28
  214. package/src/utils/jwt/jwt.ts +0 -182
  215. package/src/utils/jwt/jwt.types.ts +0 -21
  216. package/src/utils/report/index.ts +0 -3
  217. package/src/utils/report/output.ts +0 -45
  218. package/src/utils/report/output.types.ts +0 -70
  219. package/src/utils/report/report.test.ts +0 -133
  220. package/src/utils/report/report.ts +0 -133
  221. package/src/utils/report/report.types.ts +0 -13
  222. package/src/utils/request/index.ts +0 -1
  223. package/src/utils/request/request.test.ts +0 -26
  224. package/src/utils/request/request.ts +0 -48
  225. package/src/utils/secretManager/index.ts +0 -2
  226. package/src/utils/secretManager/secretLoader.ts +0 -62
  227. package/src/utils/secretManager/secretResolver.ts +0 -35
  228. package/src/utils/semverCompare/index.ts +0 -1
  229. package/src/utils/semverCompare/semverCompare.test.ts +0 -49
  230. package/src/utils/semverCompare/semverCompare.ts +0 -60
  231. package/src/utils/sendEmail/index.ts +0 -2
  232. package/src/utils/sendEmail/sendEmail.ts +0 -61
  233. package/src/utils/sendEmail/sendEmail.types.ts +0 -61
  234. package/src/utils/sendPush/index.ts +0 -2
  235. package/src/utils/sendPush/sendPush.ts +0 -20
  236. package/src/utils/sendPush/sendPush.types.ts +0 -25
  237. package/src/utils/tlsConfig/index.ts +0 -2
  238. package/src/utils/tlsConfig/tlsConfig.test.ts +0 -32
  239. package/src/utils/tlsConfig/tlsConfig.ts +0 -47
  240. package/src/utils/tlsConfig/tlsConfig.types.ts +0 -11
  241. package/src/utils/tlsConfig/tlsConfig.validate.ts +0 -25
  242. package/src/utils/tlsRequest/index.ts +0 -1
  243. package/src/utils/tlsRequest/tlsRequest.test.ts +0 -63
  244. package/src/utils/tlsRequest/tlsRequest.ts +0 -12
  245. package/src/utils/trimPathSlash/index.ts +0 -1
  246. package/src/utils/trimPathSlash/trimPathSlash.test.ts +0 -26
  247. package/src/utils/trimPathSlash/trimPathSlash.ts +0 -8
  248. package/test/env.ts +0 -53
  249. package/test/factory/index.ts +0 -8
  250. package/test/factory/sequelizeMeta.ts +0 -12
  251. package/test/hooks.ts +0 -35
  252. package/test/index.ts +0 -3
  253. package/test/stub/index.ts +0 -3
  254. package/test/stub/stubLocales.ts +0 -68
  255. package/test/stub/stubPubSub.ts +0 -7
  256. package/test/stub/stubStorage.ts +0 -77
  257. package/test/stub/stubStorage.types.ts +0 -11
  258. package/test/utils/app.ts +0 -31
  259. package/test/utils/index.ts +0 -1
  260. package/tsconfig.build.json +0 -5
  261. package/tsconfig.json +0 -32
@@ -1,272 +0,0 @@
1
- import { randomUUID } from 'crypto';
2
- // eslint-disable-next-line import/no-unresolved
3
- import { setTimeout } from 'timers/promises';
4
- import { generateAccessToken } from 'backend-test-tools';
5
- import Ajv, { JSONSchemaType } from 'ajv';
6
- import { expect } from 'chai';
7
- import { faker } from '@faker-js/faker';
8
- import { Sequelize } from 'sequelize';
9
- import { fake, SinonStub, stub } from 'sinon';
10
- import supertest from 'supertest';
11
- import WS from 'ws';
12
- import { Server } from './Server';
13
- import { Endpoint, EndpointMethod, EndpointAuthType } from 'entities/Endpoint';
14
- import { SocketClient, SocketMessage } from 'entities/SocketClient';
15
- import { stubPubSub } from 'test';
16
- import { httpsAgent, loadTlsConfig } from 'utils';
17
- import * as jwt from 'utils/jwt/jwt';
18
-
19
- describe('Entity - Server', function () {
20
- let token: string;
21
- let initKeySetsStub: SinonStub;
22
-
23
- before(() => {
24
- if (!httpsAgent) loadTlsConfig();
25
-
26
- const id = randomUUID();
27
- token = generateAccessToken(id);
28
- });
29
-
30
- beforeEach(() => {
31
- initKeySetsStub = stub(jwt, 'initKeySets').resolves();
32
- stub(Sequelize.prototype, 'close');
33
- stubPubSub();
34
- });
35
-
36
- afterEach(() => {
37
- });
38
-
39
- it('init and shutdown', async () => {
40
- const server = new Server({ endpoints: [] });
41
- await server.init();
42
- await server.shutdown();
43
- });
44
-
45
- it('init with callbacks (async)', async () => {
46
- const callbacks = [fake(), fake(), fake()];
47
- const server = new Server({
48
- endpoints: [],
49
- initCallbacks: callbacks,
50
- syncCallbacks: false
51
- });
52
-
53
- await server.init();
54
- await server.shutdown();
55
-
56
- callbacks.forEach((callback) =>
57
- expect(callback).to.have.been.calledOnceWithExactly()
58
- );
59
- });
60
-
61
- it('init with callbacks with parameters (async)', async () => {
62
- const callbacks = [
63
- {
64
- function: fake(),
65
- parameters: [faker.lorem.word(), faker.lorem.word(), faker.lorem.word()]
66
- }
67
- ];
68
- const server = new Server({
69
- endpoints: [],
70
- initCallbacks: callbacks,
71
- syncCallbacks: false
72
- });
73
-
74
- await server.init();
75
- await server.shutdown();
76
-
77
- callbacks.forEach((callback) =>
78
- expect(callback.function).to.have.been.calledOnceWithExactly(
79
- ...callback.parameters
80
- )
81
- );
82
- });
83
-
84
- it('init with callbacks (sync)', async () => {
85
- const callbacks = [fake(), fake(), fake()];
86
- const server = new Server({
87
- endpoints: [],
88
- initCallbacks: callbacks,
89
- syncCallbacks: true
90
- });
91
-
92
- await server.init();
93
- await server.shutdown();
94
-
95
- callbacks.forEach((callback) =>
96
- expect(callback).to.have.been.calledOnceWithExactly()
97
- );
98
- });
99
-
100
- it('init with callbacks with parameters (sync)', async () => {
101
- const callbacks = [
102
- {
103
- function: fake(),
104
- parameters: [faker.lorem.word(), faker.lorem.word(), faker.lorem.word()]
105
- }
106
- ];
107
- const server = new Server({
108
- endpoints: [],
109
- initCallbacks: callbacks,
110
- syncCallbacks: true
111
- });
112
-
113
- await server.init();
114
- await server.shutdown();
115
-
116
- callbacks.forEach((callback) =>
117
- expect(callback.function).to.have.been.calledOnceWithExactly(
118
- ...callback.parameters
119
- )
120
- );
121
- });
122
-
123
- it('should handle Endpoints', async () => {
124
- const sayHello = new Endpoint({
125
- method: EndpointMethod.GET,
126
- authType: EndpointAuthType.NONE,
127
- path: '/hello/:name',
128
- handler: (req, res): void => {
129
- res.json({ content: 'hello ' + req.params.name });
130
- },
131
- validator: {
132
- name: {
133
- in: 'params',
134
- isString: true
135
- }
136
- }
137
- });
138
-
139
- const sayGoodbye = new Endpoint({
140
- method: EndpointMethod.POST,
141
- authType: EndpointAuthType.NONE,
142
- path: '/hello',
143
- handler: (req, res): void => {
144
- res.json({
145
- content: `goodbye ${
146
- (
147
- req.body as {
148
- /** */ name: string;
149
- }
150
- ).name
151
- }`
152
- });
153
- },
154
- validator: {
155
- name: {
156
- in: 'body',
157
- isString: true
158
- }
159
- }
160
- });
161
-
162
- const server = new Server({ endpoints: [sayHello, sayGoodbye] });
163
-
164
- await server.init();
165
-
166
- await supertest(server.getApp())
167
- .get('/hello/example')
168
- .expect(200, { content: 'hello example' });
169
-
170
- await supertest(server.getApp())
171
- .post('/hello')
172
- .send({ name: 'example' })
173
- .expect(200, { content: 'goodbye example' });
174
-
175
- await server.shutdown();
176
- });
177
-
178
- it('should handle the cronjob', async () => {
179
- const handler = fake();
180
- const interval = 0.01; // 10ms
181
-
182
- const server = new Server({
183
- endpoints: [],
184
- cron: [{ handler, interval }]
185
- });
186
-
187
- await server.init();
188
- await Promise.resolve();
189
- expect(handler).to.have.been.calledOnce;
190
-
191
- await setTimeout(5);
192
- await Promise.resolve();
193
- expect(handler).to.have.been.calledOnce;
194
-
195
- await setTimeout(5);
196
- await Promise.resolve();
197
- expect(handler).to.have.been.calledTwice;
198
-
199
- await server.shutdown();
200
-
201
- await setTimeout(20);
202
- await Promise.resolve();
203
- expect(handler).to.have.been.calledTwice;
204
- });
205
-
206
- it('should init the KeySets', async () => {
207
- process.env.NODE_ENV = 'development';
208
- const server = new Server({ endpoints: [] });
209
-
210
- await server.init();
211
-
212
- expect(initKeySetsStub).to.have.been.called;
213
-
214
- await server.shutdown();
215
- });
216
-
217
- it('should not init KeySet in test env', async () => {
218
- const server = new Server({ endpoints: [] });
219
-
220
- await server.init();
221
-
222
- expect(initKeySetsStub).to.not.have.been.called;
223
-
224
- await server.shutdown();
225
- });
226
-
227
- it('should not init the KeySets when specified', async () => {
228
- process.env.NODE_ENV = 'development';
229
- const server = new Server({ endpoints: [], auth: { noFetch: true } });
230
-
231
- await server.init();
232
-
233
- expect(initKeySetsStub).to.not.have.been.called;
234
-
235
- await server.shutdown();
236
- });
237
-
238
- it('should serve metrics on the secondary IP', async () => {
239
- const server = new Server({ endpoints: [] });
240
-
241
- await server.init();
242
-
243
- await supertest(server.getSecondaryApp())
244
- .get('/metrics/instance')
245
- .expect(200);
246
- await supertest(server.getSecondaryApp())
247
- .get('/metrics/service')
248
- .expect(200);
249
-
250
- await server.shutdown();
251
- });
252
-
253
- it('should serve versions on the secondary IP', async () => {
254
- const server = new Server({ endpoints: [] });
255
-
256
- await server.init();
257
-
258
- await supertest(server.getSecondaryApp()).get('/version').expect(200);
259
-
260
- await server.shutdown();
261
- });
262
-
263
- it('should return 404 on the secondary IP', async () => {
264
- const server = new Server({ endpoints: [] });
265
-
266
- await server.init();
267
-
268
- await supertest(server.getSecondaryApp()).get('/random').expect(404);
269
-
270
- await server.shutdown();
271
- });
272
- });