itrm-tools 1.3.5-viio.5 → 1.3.5

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 (204) hide show
  1. package/README.md +2 -2
  2. package/dist/api/APIRequest.js +29 -22
  3. package/dist/api/APIRequest.js.map +1 -1
  4. package/dist/api/APIRouter.js +1 -3
  5. package/dist/api/APIRouter.js.map +1 -1
  6. package/dist/api/APIService.js +17 -11
  7. package/dist/api/APIService.js.map +1 -1
  8. package/dist/api/HttpsAPIService.js +13 -5
  9. package/dist/api/HttpsAPIService.js.map +1 -1
  10. package/dist/api/alegra/AlegraConnectionManager.js +50 -23
  11. package/dist/api/alegra/AlegraConnectionManager.js.map +1 -1
  12. package/dist/api/channel/ServerSentEventsManager.js +1 -2
  13. package/dist/api/channel/ServerSentEventsManager.js.map +1 -1
  14. package/dist/api/check/APIChecker.js +25 -11
  15. package/dist/api/check/APIChecker.js.map +1 -1
  16. package/dist/api/check/CheckableAPIRequest.js +29 -17
  17. package/dist/api/check/CheckableAPIRequest.js.map +1 -1
  18. package/dist/api/check/CheckableAPIRouter.js +29 -17
  19. package/dist/api/check/CheckableAPIRouter.js.map +1 -1
  20. package/dist/api/check/request/CheckableFileUploadingPostRequest.js +0 -2
  21. package/dist/api/check/request/CheckableFileUploadingPostRequest.js.map +1 -1
  22. package/dist/api/check/route/CorsCheckApiRouter.js +13 -2
  23. package/dist/api/check/route/CorsCheckApiRouter.js.map +1 -1
  24. package/dist/api/check/route/SimpleCheckableAPIRouter.js +13 -2
  25. package/dist/api/check/route/SimpleCheckableAPIRouter.js.map +1 -1
  26. package/dist/api/express/ExpressStandardConfiguration.d.ts +1 -1
  27. package/dist/api/express/ExpressStandardConfiguration.js +9 -1
  28. package/dist/api/express/ExpressStandardConfiguration.js.map +1 -1
  29. package/dist/api/external/ExternalApiConnection.d.ts +13 -0
  30. package/dist/api/external/ExternalApiConnection.js +21 -0
  31. package/dist/api/external/ExternalApiConnection.js.map +1 -0
  32. package/dist/api/external/cetus/CetusStrategyApiManager.d.ts +4 -3
  33. package/dist/api/external/cetus/CetusStrategyApiManager.js +22 -10
  34. package/dist/api/external/cetus/CetusStrategyApiManager.js.map +1 -1
  35. package/dist/api/request/RequestAxiosCall.d.ts +4 -4
  36. package/dist/api/request/RequestAxiosCall.js +37 -20
  37. package/dist/api/request/RequestAxiosCall.js.map +1 -1
  38. package/dist/api/request/crud/CrudManager.d.ts +2 -2
  39. package/dist/api/request/crud/CrudServiceManager.d.ts +5 -5
  40. package/dist/api/request/crud/CrudServiceManager.js +17 -6
  41. package/dist/api/request/crud/CrudServiceManager.js.map +1 -1
  42. package/dist/api/request/crud/common/ActivityHistoryManager.d.ts +40 -0
  43. package/dist/api/request/crud/common/ActivityHistoryManager.js +84 -0
  44. package/dist/api/request/crud/common/ActivityHistoryManager.js.map +1 -0
  45. package/dist/api/request/crud/common/ApplicationManager.d.ts +39 -0
  46. package/dist/api/request/crud/common/ApplicationManager.js +72 -0
  47. package/dist/api/request/crud/common/ApplicationManager.js.map +1 -0
  48. package/dist/api/request/crud/common/AvailablePlatformManager.d.ts +39 -0
  49. package/dist/api/request/crud/common/AvailablePlatformManager.js +84 -0
  50. package/dist/api/request/crud/common/AvailablePlatformManager.js.map +1 -0
  51. package/dist/api/request/crud/common/ComponentManager.d.ts +56 -0
  52. package/dist/api/request/crud/common/ComponentManager.js +78 -0
  53. package/dist/api/request/crud/common/ComponentManager.js.map +1 -0
  54. package/dist/api/request/crud/common/KeyManager.d.ts +42 -0
  55. package/dist/api/request/crud/common/KeyManager.js +85 -0
  56. package/dist/api/request/crud/common/KeyManager.js.map +1 -0
  57. package/dist/api/request/crud/common/PlatformManager.d.ts +44 -0
  58. package/dist/api/request/crud/common/PlatformManager.js +75 -0
  59. package/dist/api/request/crud/common/PlatformManager.js.map +1 -0
  60. package/dist/api/request/crud/common/RoleManager.d.ts +51 -0
  61. package/dist/api/request/crud/common/RoleManager.js +72 -0
  62. package/dist/api/request/crud/common/RoleManager.js.map +1 -0
  63. package/dist/api/request/crud/common/StatusManager.d.ts +34 -0
  64. package/dist/api/request/crud/common/StatusManager.js +72 -0
  65. package/dist/api/request/crud/common/StatusManager.js.map +1 -0
  66. package/dist/api/request/crud/common/TypeManager.d.ts +33 -0
  67. package/dist/api/request/crud/common/TypeManager.js +74 -0
  68. package/dist/api/request/crud/common/TypeManager.js.map +1 -0
  69. package/dist/api/request/crud/common/UserCredentialsManager.d.ts +39 -0
  70. package/dist/api/request/crud/common/UserCredentialsManager.js +82 -0
  71. package/dist/api/request/crud/common/UserCredentialsManager.js.map +1 -0
  72. package/dist/api/request/crud/common/UserManager.d.ts +35 -0
  73. package/dist/api/request/crud/common/UserManager.js +78 -0
  74. package/dist/api/request/crud/common/UserManager.js.map +1 -0
  75. package/dist/api/request/docs/DocumentationModels.d.ts +4 -4
  76. package/dist/api/request/docs/DocumentationModels.js.map +1 -1
  77. package/dist/api/request/docs/DocumentationRequest.js +7 -4
  78. package/dist/api/request/docs/DocumentationRequest.js.map +1 -1
  79. package/dist/api/route/SimpleAPIRouter.js +13 -2
  80. package/dist/api/route/SimpleAPIRouter.js.map +1 -1
  81. package/dist/cryptography/CipheringAlgorithm.d.ts +4 -0
  82. package/dist/cryptography/CipheringAlgorithm.js +3 -0
  83. package/dist/cryptography/CipheringAlgorithm.js.map +1 -0
  84. package/dist/cryptography/EncryptionAlgorithm.js.map +1 -0
  85. package/dist/cryptography/KeyGenerator.d.ts +3 -0
  86. package/dist/cryptography/KeyGenerator.js +3 -0
  87. package/dist/cryptography/KeyGenerator.js.map +1 -0
  88. package/dist/cryptography/Signer.d.ts +4 -0
  89. package/dist/cryptography/Signer.js +3 -0
  90. package/dist/cryptography/Signer.js.map +1 -0
  91. package/dist/cryptography/algorithm/AesCipheringAlgorithm.d.ts +6 -0
  92. package/dist/cryptography/algorithm/AesCipheringAlgorithm.js +28 -0
  93. package/dist/cryptography/algorithm/AesCipheringAlgorithm.js.map +1 -0
  94. package/dist/cryptography/generate/StandardApiKeyGenerator.d.ts +9 -0
  95. package/dist/cryptography/generate/StandardApiKeyGenerator.js +18 -0
  96. package/dist/cryptography/generate/StandardApiKeyGenerator.js.map +1 -0
  97. package/dist/cryptography/sign/ApiKeySigner.d.ts +14 -0
  98. package/dist/cryptography/sign/ApiKeySigner.js +35 -0
  99. package/dist/cryptography/sign/ApiKeySigner.js.map +1 -0
  100. package/dist/database/mongoose/MongooseModelManager.d.ts +7 -1
  101. package/dist/database/mongoose/MongooseModelManager.js +14 -5
  102. package/dist/database/mongoose/MongooseModelManager.js.map +1 -1
  103. package/dist/database/redis/RedisConnection.js +0 -1
  104. package/dist/database/redis/RedisConnection.js.map +1 -1
  105. package/dist/database/redis/RedisModelManager.js +0 -1
  106. package/dist/database/redis/RedisModelManager.js.map +1 -1
  107. package/dist/database/sequelize/SequelizeConnection.js +0 -1
  108. package/dist/database/sequelize/SequelizeConnection.js.map +1 -1
  109. package/dist/database/sequelize/SequelizeModelManager.js +15 -6
  110. package/dist/database/sequelize/SequelizeModelManager.js.map +1 -1
  111. package/dist/index.d.ts +17 -2
  112. package/dist/index.js +32 -3
  113. package/dist/index.js.map +1 -1
  114. package/dist/log/Logger.js +0 -2
  115. package/dist/log/Logger.js.map +1 -1
  116. package/dist/log/LoggerManager.js +21 -11
  117. package/dist/log/LoggerManager.js.map +1 -1
  118. package/dist/log/LoggerWebSocket.js +2 -4
  119. package/dist/log/LoggerWebSocket.js.map +1 -1
  120. package/dist/web3/coingecko/CoingeckoPriceFinder.js +36 -24
  121. package/dist/web3/coingecko/CoingeckoPriceFinder.js.map +1 -1
  122. package/package.json +74 -63
  123. package/.github/workflows/node.js.yml +0 -30
  124. package/dist/algorithm/encryption/EncryptionAlgorithm.js.map +0 -1
  125. package/dist/api/external/ExternalApiSigner.d.ts +0 -15
  126. package/dist/api/external/ExternalApiSigner.js +0 -25
  127. package/dist/api/external/ExternalApiSigner.js.map +0 -1
  128. package/jest.config.js +0 -7
  129. package/sequelize.sqlite +0 -0
  130. package/src/algorithm/encryption/EncryptionAlgorithm.ts +0 -4
  131. package/src/api/APIRequest.ts +0 -176
  132. package/src/api/APIRequestBuilder.ts +0 -28
  133. package/src/api/APIRouter.ts +0 -26
  134. package/src/api/APIService.ts +0 -117
  135. package/src/api/ExpressConfiguration.ts +0 -5
  136. package/src/api/HttpsAPIService.ts +0 -35
  137. package/src/api/alegra/AlegraConnectionManager.ts +0 -54
  138. package/src/api/alegra/AlegraTypes.ts +0 -150
  139. package/src/api/builder/StandardGetRequestBuilder.ts +0 -34
  140. package/src/api/channel/ServerSentEventsManager.ts +0 -28
  141. package/src/api/check/APIChecker.ts +0 -50
  142. package/src/api/check/CheckableAPIRequest.ts +0 -33
  143. package/src/api/check/CheckableAPIRouter.ts +0 -39
  144. package/src/api/check/request/CheckableDeleteRequest.ts +0 -17
  145. package/src/api/check/request/CheckableFileUploadingPostRequest.ts +0 -26
  146. package/src/api/check/request/CheckableGetRequest.ts +0 -17
  147. package/src/api/check/request/CheckablePostRequest.ts +0 -17
  148. package/src/api/check/request/CheckablePutRequest.ts +0 -17
  149. package/src/api/check/route/CorsCheckApiRouter.ts +0 -22
  150. package/src/api/check/route/SimpleCheckableAPIRouter.ts +0 -14
  151. package/src/api/express/ExpressFileUploadingConfiguration.ts +0 -22
  152. package/src/api/express/ExpressLogableConfig.ts +0 -11
  153. package/src/api/express/ExpressStandardConfiguration.ts +0 -25
  154. package/src/api/external/ExternalApiSigner.ts +0 -29
  155. package/src/api/external/cetus/CetusStrategyApiManager.ts +0 -48
  156. package/src/api/request/DeleteRequest.ts +0 -16
  157. package/src/api/request/GetRequest.ts +0 -16
  158. package/src/api/request/PostRequest.ts +0 -16
  159. package/src/api/request/PutRequest.ts +0 -16
  160. package/src/api/request/RequestAxiosCall.ts +0 -38
  161. package/src/api/request/crud/CrudManager.ts +0 -11
  162. package/src/api/request/crud/CrudServiceManager.ts +0 -117
  163. package/src/api/request/docs/DocumentationModels.ts +0 -121
  164. package/src/api/request/docs/DocumentationRequest.ts +0 -132
  165. package/src/api/route/SimpleAPIRouter.ts +0 -12
  166. package/src/database/mongoose/MongooseModelManager.ts +0 -65
  167. package/src/database/redis/RedisConnection.ts +0 -18
  168. package/src/database/redis/RedisModelManager.ts +0 -23
  169. package/src/database/sequelize/SequelizeConnection.ts +0 -45
  170. package/src/database/sequelize/SequelizeModelManager.ts +0 -71
  171. package/src/index.ts +0 -51
  172. package/src/log/Logger.ts +0 -27
  173. package/src/log/LoggerManager.ts +0 -50
  174. package/src/log/LoggerWebSocket.ts +0 -13
  175. package/src/math/Utils.ts +0 -4
  176. package/src/types/payments.ts +0 -811
  177. package/src/web3/Coin.ts +0 -18
  178. package/src/web3/coingecko/CoingeckoPriceFinder.ts +0 -75
  179. package/test/api/APIRouter.test.ts +0 -78
  180. package/test/api/APIService.test.ts +0 -50
  181. package/test/api/APITestDefinitions.ts +0 -7
  182. package/test/api/CORS.test.ts +0 -56
  183. package/test/api/alegra/AlegraConnectionManager.test.ts +0 -32
  184. package/test/api/check/CheckDefinitions.ts +0 -47
  185. package/test/api/check/CheckableAPIRouter.test.ts +0 -67
  186. package/test/api/check/CheckableDeleteRequest.test.ts +0 -92
  187. package/test/api/check/CheckableGetRequest.test.ts +0 -99
  188. package/test/api/check/CheckablePostRequest.test.ts +0 -108
  189. package/test/api/check/CheckablePutRequest.test.ts +0 -99
  190. package/test/api/docs/DocumentationRequest.test.ts +0 -192
  191. package/test/api/request/DeleteRequest.test.ts +0 -117
  192. package/test/api/request/GetRequest.test.ts +0 -140
  193. package/test/api/request/PostRequest.test.ts +0 -237
  194. package/test/api/request/PutRequest.test.ts +0 -166
  195. package/test/database/mongoose/MongooseModelManager.test.ts +0 -139
  196. package/test/database/redis/RedisConnection.test.ts +0 -7
  197. package/test/database/sequelize/SequealizeDefinitions.ts +0 -6
  198. package/test/database/sequelize/SequelizeConnection.test.ts +0 -30
  199. package/test/database/sequelize/SequelizeModelManager.test.ts +0 -206
  200. package/test/log/Logger.test.ts +0 -44
  201. package/test/web3/coingecko/CoingeckoPriceFinder.test.ts +0 -72
  202. package/tsconfig.json +0 -23
  203. /package/dist/{algorithm/encryption → cryptography}/EncryptionAlgorithm.d.ts +0 -0
  204. /package/dist/{algorithm/encryption → cryptography}/EncryptionAlgorithm.js +0 -0
@@ -1,237 +0,0 @@
1
- import { Request, Response } from "express";
2
- import { RequestContext, PostRequest, APIService, RequestAxiosCall, RequestParameterType } from "../../../dist";
3
- import { config } from "../APITestDefinitions";
4
-
5
- const service = new APIService(config);
6
- service.init();
7
-
8
- class TestRequest extends PostRequest {
9
- constructor() {
10
- super({
11
- path: '/test/:method/type',
12
- params: [{
13
- context: RequestContext.QUERY,
14
- properties: [{ name: "value", type: RequestParameterType.STRING }]
15
- }, {
16
- context: RequestContext.QUERY,
17
- properties: [{ name: "option", type: RequestParameterType.STRING }]
18
- }, {
19
- context: RequestContext.QUERY,
20
- properties: [
21
- { name: "x", type: RequestParameterType.STRING },
22
- { name: "y", type: RequestParameterType.STRING }
23
- ]
24
- }, {
25
- context: RequestContext.PARAMS,
26
- properties: [{ name: "method", type: RequestParameterType.STRING }]
27
- }, {
28
- context: RequestContext.BODY,
29
- properties: [{ name: "date", type: RequestParameterType.STRING }]
30
- }, {
31
- context: RequestContext.BODY,
32
- properties: [
33
- { name: "time", type: RequestParameterType.STRING },
34
- { name: "timestamp", type: RequestParameterType.NUMBER }
35
- ]
36
- }]
37
- });
38
- }
39
-
40
- async apply(req: Request, res: Response): Promise<any> {
41
- const { method } = req.params;
42
- const { value, option, x, y } = req.query;
43
- const { date, time, timestamp, values } = req.body;
44
- return res.status(200).json({ message: "Success", method: method, type: value, option: option, date: date, time: time, x: x, y: y, timestamp: timestamp, values: values });
45
- }
46
- }
47
-
48
- class UnexpectedErrorTestRequest extends PostRequest {
49
- constructor() {
50
- super({
51
- path: '/test/error',
52
- params: []
53
- });
54
- }
55
-
56
- async apply(req: Request, res: Response): Promise<any> {
57
- throw 'Unexpected error';
58
- }
59
- }
60
-
61
- const testUrl = `http://localhost:${config.port}/test/testing/type?value=get`;
62
- const testUrl2 = `http://localhost:${config.port}/test/testing/type?option=1`;
63
- const testUrl3 = `http://localhost:${config.port}/test/testing/type?x=10&y=20`;
64
- const testUrlMissingQuery = `http://localhost:${config.port}/test/testing/type`;
65
- const testUrlUnexpectedError = `http://localhost:${config.port}/test/error`;
66
-
67
- describe('testing POST Request', () => {
68
- beforeAll(async () => {
69
- await service.run(() => { });
70
- });
71
- afterAll(async () => {
72
- await service.close(() => { })
73
- });
74
- test('Refuse request when API Request does not exist', async () => {
75
- try {
76
- await RequestAxiosCall.post(testUrl, { date: 'date' }, {
77
- headers: { 'Content-Type': 'application/json', 'Origin': 'https://valid.com' }
78
- });
79
- } catch (err: any) {
80
- //console.log("> Refuse request when API Request does not exist, error:", err);
81
- expect(err.code).toMatch("ERR_BAD_REQUEST");
82
- expect(err.response.status).toBe(404);
83
- expect(err.response.statusText).toMatch("Not Found");
84
- }
85
- });
86
- test('Request Query Ok parameter group 1', async () => {
87
- try {
88
- await service.addRequest(new TestRequest());
89
- let response: any = await RequestAxiosCall.post(testUrl, { date: 'date' }, {
90
- headers: { 'Content-Type': 'application/json', 'Origin': 'https://valid.com' }
91
- });
92
- expect(response.message).toMatch("Success");
93
- expect(response.method).toMatch("testing");
94
- expect(response.type).toMatch("get");
95
- expect(response.option).toBeUndefined();
96
- expect(response.x).toBeUndefined();
97
- expect(response.y).toBeUndefined();
98
- } catch (err: any) {
99
- console.log("> Request Query Ok parameter group 1, error:", err);
100
- }
101
- });
102
- test('Request Query Ok parameter group 2', async () => {
103
- try {
104
- let response: any = await RequestAxiosCall.post(testUrl2, { date: 'date' });
105
- expect(response.message).toMatch("Success");
106
- expect(response.method).toMatch("testing");
107
- expect(response.type).toBeUndefined();
108
- expect(response.option).toMatch("1");
109
- expect(response.x).toBeUndefined();
110
- expect(response.y).toBeUndefined();
111
- } catch (err: any) {
112
- console.log("> Request Query Ok parameter group 2, error:", err);
113
- }
114
- });
115
- test('Request Query Ok parameter group 3', async () => {
116
- try {
117
- let response: any = await RequestAxiosCall.post(testUrl3, { date: 'date' });
118
- expect(response.message).toMatch("Success");
119
- expect(response.method).toMatch("testing");
120
- expect(response.type).toBeUndefined();
121
- expect(response.option).toBeUndefined();
122
- expect(response.x).toMatch("10");
123
- expect(response.y).toMatch("20");
124
- } catch (err: any) {
125
- console.log("> Request Query Ok parameter group 3, error:", err);
126
- }
127
- });
128
- test('Request Query Ok parameter group 4', async () => {
129
- try {
130
- let response: any = await RequestAxiosCall.post(testUrl3, { date: 'date' })
131
- expect(response.message).toMatch("Success");
132
- expect(response.method).toMatch("testing");
133
- expect(response.type).toBeUndefined();
134
- expect(response.option).toBeUndefined();
135
- expect(response.x).toMatch("10");
136
- expect(response.y).toMatch("20");
137
- expect(response.date).toMatch("date");
138
- expect(response.time).toBeUndefined();
139
- expect(response.timestamp).toBeUndefined();
140
- } catch (err: any) {
141
- console.log("> Request Query Ok parameter group 4, error:", err);
142
- }
143
- });
144
- test('Request Query Ok parameter group 5', async () => {
145
- try {
146
- let response: any = await RequestAxiosCall.post(testUrl3, { time: 'time', timestamp: 10000000 });
147
- expect(response.message).toMatch("Success");
148
- expect(response.method).toMatch("testing");
149
- expect(response.type).toBeUndefined();
150
- expect(response.option).toBeUndefined();
151
- expect(response.x).toMatch("10");
152
- expect(response.y).toMatch("20");
153
- expect(response.date).toBeUndefined();
154
- expect(response.time).toMatch("time");
155
- expect(response.timestamp).toBe(10000000);
156
- } catch (err: any) {
157
- console.log("> Request Query Ok parameter group 5, error:", err);
158
- }
159
- });
160
- test('Request Error: missing parameter in query', async () => {
161
- try {
162
- await RequestAxiosCall.post(testUrlMissingQuery, { date: 'date' });
163
- } catch (err: any) {
164
- //console.log("> Request Error: missing parameter in query, error:", err);
165
- expect(err.code).toMatch("ERR_BAD_REQUEST");
166
- expect(err.response.status).toBe(400);
167
- expect(err.response.statusText).toMatch("Bad Request");
168
- expect(err.response.data.status).toMatch("Error");
169
- expect(err.response.data.message).toMatch("Parameters 'x', 'y' were not found in query");
170
- }
171
- });
172
- test('Check values property', async () => {
173
- try {
174
- let response: any = await RequestAxiosCall.post(testUrl3, {
175
- values: [{ date: 'date' }, { time: 'time', timestamp: 10000000 }]
176
- });
177
- expect(response.message).toMatch("Success");
178
- expect(response.method).toMatch("testing");
179
- expect(response.type).toBeUndefined();
180
- expect(response.option).toBeUndefined();
181
- expect(response.x).toMatch("10");
182
- expect(response.y).toMatch("20");
183
- expect(response.date).toBeUndefined();
184
- expect(response.time).toBeUndefined();
185
- expect(response.timestamp).toBeUndefined();
186
- expect(response.values).toBeDefined();
187
- expect(response.values.length).toBe(2);
188
- expect(response.values[0].date).toMatch("date");
189
- expect(response.values[1].time).toMatch("time");
190
- expect(response.values[1].timestamp).toBe(10000000);
191
- } catch (err: any) {
192
- console.log("> Check values property, error:", err);
193
- }
194
- });
195
- test('Check missing property in values', async () => {
196
- try {
197
- await RequestAxiosCall.post(testUrl3, {
198
- values: [{ date: 'date' }, { time: 'time' }]
199
- });
200
- } catch (err: any) {
201
- //console.log("> Check missing property in values, error:", err);
202
- expect(err.code).toMatch("ERR_BAD_REQUEST");
203
- expect(err.response.status).toBe(400);
204
- expect(err.response.statusText).toMatch("Bad Request");
205
- expect(err.response.data.status).toMatch("Error");
206
- expect(err.response.data.message).toMatch("Parameters 'timestamp' were not found in body, item 2");
207
- }
208
- });
209
- test('Check missing parameter and wrong type in values', async () => {
210
- try {
211
- await RequestAxiosCall.post(testUrl3, {
212
- values: [{ date: 'date' }, { timestamp: 'time' }]
213
- });
214
- } catch (err: any) {
215
- //console.log("> Check missing parameter and wrong type in values, error:", err);
216
- expect(err.code).toMatch("ERR_BAD_REQUEST");
217
- expect(err.response.status).toBe(400);
218
- expect(err.response.statusText).toMatch("Bad Request");
219
- expect(err.response.data.status).toMatch("Error");
220
- expect(err.response.data.message).toMatch("Parameters 'time' were not found in body and 'timestamp' have invalid type , item 2");
221
- }
222
- });
223
- test('Check wrong type in values', async () => {
224
- try {
225
- await RequestAxiosCall.post(testUrl3, {
226
- values: [{ date: 'date' }, { time: 'time', timestamp: 'time' }]
227
- });
228
- } catch (err: any) {
229
- //console.log("> Check wrong type in values, error:", err);
230
- expect(err.code).toMatch("ERR_BAD_REQUEST");
231
- expect(err.response.status).toBe(400);
232
- expect(err.response.statusText).toMatch("Bad Request");
233
- expect(err.response.data.status).toMatch("Error");
234
- expect(err.response.data.message).toMatch("Parameters 'timestamp' have invalid type , item 2");
235
- }
236
- });
237
- });
@@ -1,166 +0,0 @@
1
- import { Request, Response } from "express";
2
- import { RequestContext, PutRequest, APIService, RequestAxiosCall, RequestParameterType } from "../../../dist";
3
- import { config } from "../APITestDefinitions";
4
-
5
- const service = new APIService(config);
6
- service.init();
7
-
8
- class TestRequest extends PutRequest {
9
- constructor() {
10
- super({
11
- path: '/test/:method/type',
12
- params: [{
13
- context: RequestContext.QUERY,
14
- properties: [{ name: "value", type: RequestParameterType.STRING }]
15
- }, {
16
- context: RequestContext.QUERY,
17
- properties: [{ name: "option", type: RequestParameterType.STRING }]
18
- }, {
19
- context: RequestContext.QUERY,
20
- properties: [
21
- { name: "x", type: RequestParameterType.STRING },
22
- { name: "y", type: RequestParameterType.STRING }
23
- ]
24
- }, {
25
- context: RequestContext.PARAMS,
26
- properties: [{ name: "method", type: RequestParameterType.STRING }]
27
- }, {
28
- context: RequestContext.BODY,
29
- properties: [{ name: "date", type: RequestParameterType.STRING }]
30
- }, {
31
- context: RequestContext.BODY,
32
- properties: [
33
- { name: "time", type: RequestParameterType.STRING },
34
- { name: "timestamp", type: RequestParameterType.STRING }
35
- ]
36
- }]
37
- });
38
- }
39
-
40
- async apply(req: Request, res: Response): Promise<any> {
41
- const { method } = req.params;
42
- const { value, option, x, y } = req.query;
43
- const { date, time, timestamp } = req.body;
44
- return res.status(200).json({ message: "Success", method: method, type: value, option: option, date: date, time: time, x: x, y: y, timestamp: timestamp });
45
- }
46
- }
47
-
48
- class UnexpectedErrorTestRequest extends PutRequest {
49
- constructor() {
50
- super({
51
- path: '/test/error',
52
- params: []
53
- });
54
- }
55
-
56
- async apply(req: Request, res: Response): Promise<any> {
57
- throw 'Unexpected error';
58
- }
59
- }
60
-
61
- const testUrl = `http://localhost:${config.port}/test/testing/type?value=get`;
62
- const testUrl2 = `http://localhost:${config.port}/test/testing/type?option=1`;
63
- const testUrl3 = `http://localhost:${config.port}/test/testing/type?x=10&y=20`;
64
- const testUrlMissingQuery = `http://localhost:${config.port}/test/testing/type`;
65
- const testUrlUnexpectedError = `http://localhost:${config.port}/test/error`;
66
-
67
- describe('testing PUT Request', () => {
68
- beforeAll(async () => {
69
- await service.run(() => { });
70
- });
71
- afterAll(async () => {
72
- await service.close(() => { })
73
- });
74
- test('Refuse request when API Request does not exist', async () => {
75
- expect.assertions(3);
76
- return RequestAxiosCall.put(testUrl, { date: 'date' })
77
- .catch(err => {
78
- expect(err.code).toMatch("ERR_BAD_REQUEST");
79
- expect(err.response.status).toBe(404);
80
- expect(err.response.statusText).toMatch("Not Found");
81
- });
82
- });
83
- test('Request Query Ok parameter group 1', async () => {
84
- expect.assertions(6);
85
- await service.addRequest(new TestRequest());
86
- return RequestAxiosCall.put(testUrl, { date: 'date' })
87
- .then(async (response: any) => {
88
- expect(response.message).toMatch("Success");
89
- expect(response.method).toMatch("testing");
90
- expect(response.type).toMatch("get");
91
- expect(response.option).toBeUndefined();
92
- expect(response.x).toBeUndefined();
93
- expect(response.y).toBeUndefined();
94
- });
95
- });
96
- test('Request Query Ok parameter group 2', async () => {
97
- expect.assertions(6);
98
- await service.addRequest(new TestRequest());
99
- return RequestAxiosCall.put(testUrl2, { date: 'date' })
100
- .then(async (response: any) => {
101
- expect(response.message).toMatch("Success");
102
- expect(response.method).toMatch("testing");
103
- expect(response.type).toBeUndefined();
104
- expect(response.option).toMatch("1");
105
- expect(response.x).toBeUndefined();
106
- expect(response.y).toBeUndefined();
107
- });
108
- });
109
- test('Request Query Ok parameter group 3', async () => {
110
- expect.assertions(6);
111
- await service.addRequest(new TestRequest());
112
- return RequestAxiosCall.put(testUrl3, { date: 'date' })
113
- .then(async (response: any) => {
114
- expect(response.message).toMatch("Success");
115
- expect(response.method).toMatch("testing");
116
- expect(response.type).toBeUndefined();
117
- expect(response.option).toBeUndefined();
118
- expect(response.x).toMatch("10");
119
- expect(response.y).toMatch("20");
120
- });
121
- });
122
- test('Request Query Ok parameter group 4', async () => {
123
- expect.assertions(9);
124
- await service.addRequest(new TestRequest());
125
- return RequestAxiosCall.put(testUrl3, { date: 'date' })
126
- .then(async (response: any) => {
127
- expect(response.message).toMatch("Success");
128
- expect(response.method).toMatch("testing");
129
- expect(response.type).toBeUndefined();
130
- expect(response.option).toBeUndefined();
131
- expect(response.x).toMatch("10");
132
- expect(response.y).toMatch("20");
133
- expect(response.date).toMatch("date");
134
- expect(response.time).toBeUndefined();
135
- expect(response.timestamp).toBeUndefined();
136
- });
137
- });
138
- test('Request Query Ok parameter group 5', async () => {
139
- expect.assertions(9);
140
- await service.addRequest(new TestRequest());
141
- return RequestAxiosCall.put(testUrl3, { time: 'time', timestamp: 'timestamp' })
142
- .then(async (response: any) => {
143
- expect(response.message).toMatch("Success");
144
- expect(response.method).toMatch("testing");
145
- expect(response.type).toBeUndefined();
146
- expect(response.option).toBeUndefined();
147
- expect(response.x).toMatch("10");
148
- expect(response.y).toMatch("20");
149
- expect(response.date).toBeUndefined();
150
- expect(response.time).toMatch("time");
151
- expect(response.timestamp).toMatch("timestamp");
152
- });
153
- });
154
- test('Request Error: missing parameter in query', async () => {
155
- expect.assertions(5);
156
- service.addRequest(new TestRequest());
157
- return RequestAxiosCall.put(testUrlMissingQuery, { property: 'body' })
158
- .catch(async err => {
159
- expect(err.code).toMatch("ERR_BAD_REQUEST");
160
- expect(err.response.status).toBe(400);
161
- expect(err.response.statusText).toMatch("Bad Request");
162
- expect(err.response.data.status).toMatch("Error");
163
- expect(err.response.data.message).toMatch("Parameters 'x', 'y' were not found in query");
164
- });
165
- });
166
- });
@@ -1,139 +0,0 @@
1
- import { MongooseModelManager } from "../../../dist";
2
- import { MongoMemoryServer } from 'mongodb-memory-server';
3
- import mongoose, { connect, disconnect } from "mongoose";
4
-
5
- mongoose.set('strictQuery', false);
6
-
7
- interface TestValue {
8
- value: string
9
- }
10
-
11
- interface Test {
12
- testId: number,
13
- name: string,
14
- values: TestValue[]
15
- }
16
-
17
- class TestManager extends MongooseModelManager<Test> {
18
- constructor() {
19
- super("test", {
20
- testId: { type: Number, required: true },
21
- name: { type: String, required: true },
22
- values: {
23
- type: [{
24
- value: { type: String, required: true }
25
- }],
26
- required: true
27
- }
28
- });
29
- }
30
- }
31
-
32
- const manager = new TestManager();
33
- let mongodb: MongoMemoryServer | undefined = undefined;
34
-
35
- describe("> Testing Mongoose Model Manager", () => {
36
- beforeAll(async() => {
37
- mongodb = await MongoMemoryServer.create();
38
- let url = await mongodb?.getUri() || "NONE";
39
- await connect(url);
40
- });
41
- afterAll(async() => {
42
- await disconnect();
43
- await mongodb?.stop();
44
- });
45
- test("> Create", async() => {
46
- let token: any = await manager.create({
47
- name: 'test1',
48
- testId: 1,
49
- values: [{ value: 'value1' }]
50
- });
51
- expect(token.name).toMatch('test1');
52
- expect(token.testId).toBe(1);
53
- });
54
- test("> Create Many", async() => {
55
- let result = await manager.createMany([{
56
- name: 'test2',
57
- testId: 2,
58
- values: [{ value: 'value2' }]
59
- }, {
60
- name: 'test3',
61
- testId: 3,
62
- values: [{ value: 'value3' }]
63
- }]);
64
- expect(result.insertedCount).toBe(2);
65
- });
66
- test("> Exists", async() => {
67
- let result = await manager.exists({ testId: 2 });
68
- expect(result).toBeDefined();
69
- result = await manager.exists({ testId: 4 });
70
- expect(result).toBeNull();
71
- });
72
- test("> Find", async() => {
73
- let token: any = await manager.find({ testId: 1 });
74
- expect(token.name).toMatch('test1');
75
- expect(token.testId).toBe(1);
76
- });
77
- test("> Find Many", async() => {
78
- let tokens: any[] = await manager.findMany({
79
- testId: { $gt: 1 }
80
- });
81
- expect(tokens.length).toBe(2);
82
- expect(tokens[0].name).toMatch('test2');
83
- expect(tokens[0].testId).toBe(2);
84
- expect(tokens[1].name).toMatch('test3');
85
- expect(tokens[1].testId).toBe(3);
86
- });
87
- test("> Batch", async() => {
88
- let tokens: any[] = await manager.batch({}, 1, 2);
89
- expect(tokens.length).toBe(2);
90
- expect(tokens[0].name).toMatch('test2');
91
- expect(tokens[0].testId).toBe(2);
92
- expect(tokens[1].name).toMatch('test3');
93
- expect(tokens[1].testId).toBe(3);
94
- });
95
- test("Bulk Write", async() => {
96
- await manager.bulkWrite([{
97
- updateOne: {
98
- filter: { testId: 1 },
99
- update: { name: 'test_1' },
100
- }
101
- }, {
102
- insertOne: {
103
- document: {
104
- name: 'test4',
105
- testId: 4,
106
- values: [{ value: 'value4' }]
107
- }
108
- }
109
- }, {
110
- deleteOne: {
111
- filter: { testId: 2 }
112
- }
113
- }]);
114
- let update = await manager.find({ testId: 1 });
115
- expect(update?.name).toMatch('test_1');
116
- let insertion = await manager.find({ testId: 4 });
117
- expect(insertion?.name).toMatch('test4');
118
- let deletion = await manager.find({ testId: 2 });
119
- expect(deletion).toBeNull();
120
- });
121
- test("> Count Documents", async() => {
122
- expect(await manager.countDocuments({
123
- testId: { $gt: 1 }
124
- })).toBe(2);
125
- });
126
- test("> Delete", async() => {
127
- let deletion = await manager.delete({ testId: 1 });
128
- expect(deletion.deletedCount).toBe(1);
129
- expect(await manager.countDocuments({})).toBe(2);
130
- expect(await manager.find({ testId: 1 })).toBeNull();
131
- });
132
- test("> Delete Many", async() => {
133
- let deletion = await manager.deleteMany({ testId: { $gt: 1 } });
134
- expect(deletion.deletedCount).toBe(2);
135
- expect(await manager.countDocuments({})).toBe(0);
136
- expect(await manager.find({ testId: 3 })).toBeNull();
137
- expect(await manager.find({ testId: 4 })).toBeNull();
138
- });
139
- });
@@ -1,7 +0,0 @@
1
- import { createClient } from "redis";
2
-
3
- let client = createClient();
4
-
5
- describe('Testing Redis', () => {
6
- test('test', () => {});
7
- });
@@ -1,6 +0,0 @@
1
- import { Options } from '@sequelize/core';
2
-
3
- export const config: Options<any> = {
4
- dialect: "sqlite3",
5
- logging: false
6
- };
@@ -1,30 +0,0 @@
1
- import { SequelizeConnection } from '../../../dist';
2
- import { config } from './SequealizeDefinitions';
3
- import { DataTypes } from '@sequelize/core';
4
-
5
- const validConnection = new SequelizeConnection(config);
6
-
7
- describe("Testing Sequalize Connection", () => {
8
- test("Connect OK", async () => {
9
- expect(await validConnection.connect()).toBeUndefined();
10
- });
11
- test("Define Model", async () => {
12
- let model = await validConnection.define('Test', {
13
- testId: {
14
- type: DataTypes.INTEGER,
15
- allowNull: false
16
- },
17
- name: {
18
- type: DataTypes.STRING,
19
- allowNull: false
20
- }
21
- }, {
22
- tableName: 'Tests'
23
- });
24
- expect(model.name).toMatch('Test');
25
- expect(model.tableName).toMatch('Tests');
26
- });
27
- test("Disconnect OK", async () => {
28
- expect(await validConnection.disconnect()).toBeUndefined();
29
- });
30
- });