ml-testing-toolkit 18.16.0-snapshot.6 → 18.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ncurc.yaml +1 -2
- package/CHANGELOG.md +19 -0
- package/audit-ci.jsonc +1 -2
- package/package.json +5 -11
- package/{sbom-v18.15.0.csv → sbom-v18.16.0.csv} +388 -385
- package/src/lib/eventListenerClient/inboundEventListener.js +48 -88
- package/src/lib/scripting-engines/vm-javascript-sandbox.js +0 -3
- package/src/lib/webSocketClient/WebSocketClientManager.js +31 -41
|
@@ -27,9 +27,6 @@
|
|
|
27
27
|
--------------
|
|
28
28
|
******/
|
|
29
29
|
|
|
30
|
-
// Ignore temporarily to get the snapshot release done
|
|
31
|
-
/* istanbul ignore file */
|
|
32
|
-
|
|
33
30
|
const MyEventEmitter = require('../MyEventEmitter')
|
|
34
31
|
const EventEmitter = require('events')
|
|
35
32
|
class MyEmitter extends EventEmitter {}
|
|
@@ -46,17 +43,11 @@ class InboundEventListener {
|
|
|
46
43
|
this.consoleFn = console
|
|
47
44
|
}
|
|
48
45
|
this.emitter = MyEventEmitter.getEmitter('inboundRequest')
|
|
49
|
-
this.newInboundHandler = null
|
|
50
46
|
}
|
|
51
47
|
|
|
52
48
|
async init () {
|
|
53
49
|
this.userConfig = await Config.getStoredUserConfig()
|
|
54
|
-
|
|
55
|
-
if (this.newInboundHandler) {
|
|
56
|
-
this.emitter.removeListener('newInbound', this.newInboundHandler)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
this.newInboundHandler = (data) => {
|
|
50
|
+
this.emitter.on('newInbound', (data) => {
|
|
60
51
|
for (const [, eventListener] of Object.entries(this.eventListeners)) {
|
|
61
52
|
// Match method, path and condition for each inbound request
|
|
62
53
|
if (eventListener.method === data.method && eventListener.path === data.path) {
|
|
@@ -70,9 +61,7 @@ class InboundEventListener {
|
|
|
70
61
|
}
|
|
71
62
|
}
|
|
72
63
|
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
this.emitter.on('newInbound', this.newInboundHandler)
|
|
64
|
+
})
|
|
76
65
|
}
|
|
77
66
|
|
|
78
67
|
customLog (logMessage) {
|
|
@@ -109,74 +98,59 @@ class InboundEventListener {
|
|
|
109
98
|
|
|
110
99
|
getMessage (clientName, timeout = 5000) {
|
|
111
100
|
return new Promise((resolve, reject) => {
|
|
112
|
-
let timer = null
|
|
113
|
-
|
|
114
|
-
const cleanup = () => {
|
|
115
|
-
if (timer) {
|
|
116
|
-
clearTimeout(timer)
|
|
117
|
-
timer = null
|
|
118
|
-
}
|
|
119
|
-
if (this.eventListeners[clientName] && this.eventListeners[clientName].eventEmitter) {
|
|
120
|
-
this.eventListeners[clientName].eventEmitter.removeAllListeners('newMessage')
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
101
|
if (!this.eventListeners[clientName]) {
|
|
125
102
|
resolve(null)
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
// Store the message somewhere
|
|
132
|
-
const retMessage = this.parseMessage(this.eventListeners[clientName].message)
|
|
133
|
-
// Destroy the event listener
|
|
134
|
-
this.destroy(clientName)
|
|
135
|
-
// Return the stored message
|
|
136
|
-
// this.customLog('Returning stored message...')
|
|
137
|
-
if (this.transformer.reverseTransform) {
|
|
138
|
-
this.transformer.reverseTransform(retMessage).then((result) => {
|
|
139
|
-
resolve(result)
|
|
140
|
-
}).catch((err) => {
|
|
141
|
-
this.customLog('Error transforming message: ' + err)
|
|
142
|
-
resolve(retMessage)
|
|
143
|
-
})
|
|
144
|
-
} else {
|
|
145
|
-
resolve(retMessage)
|
|
146
|
-
}
|
|
147
|
-
return
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Listen for the new message for some time
|
|
151
|
-
// Set the timer
|
|
152
|
-
timer = setTimeout(() => {
|
|
153
|
-
try {
|
|
154
|
-
this.customLog('Error: Timeout')
|
|
103
|
+
} else {
|
|
104
|
+
// Check for the message received already
|
|
105
|
+
if (this.eventListeners[clientName].message !== null) {
|
|
106
|
+
// Store the message somewhere
|
|
107
|
+
const retMessage = this.parseMessage(this.eventListeners[clientName].message)
|
|
155
108
|
// Destroy the event listener
|
|
156
109
|
this.destroy(clientName)
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const retMessage = this.parseMessage(message)
|
|
168
|
-
|
|
169
|
-
if (this.transformer.reverseTransform) {
|
|
170
|
-
this.transformer.reverseTransform(retMessage).then((result) => {
|
|
171
|
-
resolve(result)
|
|
172
|
-
}).catch((err) => {
|
|
173
|
-
this.customLog('Error transforming message: ' + err)
|
|
110
|
+
// Return the stored message
|
|
111
|
+
// this.customLog('Returning stored message...')
|
|
112
|
+
if (this.transformer.reverseTransform) {
|
|
113
|
+
this.transformer.reverseTransform(retMessage).then((result) => {
|
|
114
|
+
resolve(result)
|
|
115
|
+
}).catch((err) => {
|
|
116
|
+
this.customLog('Error transforming message: ' + err)
|
|
117
|
+
resolve(retMessage)
|
|
118
|
+
})
|
|
119
|
+
} else {
|
|
174
120
|
resolve(retMessage)
|
|
175
|
-
}
|
|
121
|
+
}
|
|
176
122
|
} else {
|
|
177
|
-
|
|
123
|
+
// Listen for the new message for some time
|
|
124
|
+
let timer = null
|
|
125
|
+
// Set the timer
|
|
126
|
+
timer = setTimeout(() => {
|
|
127
|
+
try {
|
|
128
|
+
this.customLog('Error: Timeout')
|
|
129
|
+
// Destroy the event listener
|
|
130
|
+
this.destroy(clientName)
|
|
131
|
+
resolve(null)
|
|
132
|
+
} catch (err) {
|
|
133
|
+
reject(err)
|
|
134
|
+
}
|
|
135
|
+
}, timeout)
|
|
136
|
+
// Listen for message
|
|
137
|
+
this.eventListeners[clientName].eventEmitter.once('newMessage', (message) => {
|
|
138
|
+
clearTimeout(timer)
|
|
139
|
+
this.destroy(clientName)
|
|
140
|
+
const retMessage = this.parseMessage(message)
|
|
141
|
+
if (this.transformer.reverseTransform) {
|
|
142
|
+
this.transformer.reverseTransform(retMessage).then((result) => {
|
|
143
|
+
resolve(result)
|
|
144
|
+
}).catch((err) => {
|
|
145
|
+
this.customLog('Error transforming message: ' + err)
|
|
146
|
+
resolve(retMessage)
|
|
147
|
+
})
|
|
148
|
+
} else {
|
|
149
|
+
resolve(retMessage)
|
|
150
|
+
}
|
|
151
|
+
})
|
|
178
152
|
}
|
|
179
|
-
}
|
|
153
|
+
}
|
|
180
154
|
})
|
|
181
155
|
}
|
|
182
156
|
|
|
@@ -195,20 +169,6 @@ class InboundEventListener {
|
|
|
195
169
|
}
|
|
196
170
|
return true
|
|
197
171
|
}
|
|
198
|
-
|
|
199
|
-
// Add a new cleanup method
|
|
200
|
-
cleanup () {
|
|
201
|
-
// Remove the newInbound listener
|
|
202
|
-
if (this.newInboundHandler) {
|
|
203
|
-
this.emitter.removeListener('newInbound', this.newInboundHandler)
|
|
204
|
-
this.newInboundHandler = null
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
// Clean up all event listeners
|
|
208
|
-
Object.keys(this.eventListeners).forEach(clientName => {
|
|
209
|
-
this.destroy(clientName)
|
|
210
|
-
})
|
|
211
|
-
}
|
|
212
172
|
}
|
|
213
173
|
|
|
214
174
|
module.exports = {
|
|
@@ -265,9 +265,6 @@ const executeAsync = async (script, data, contextObj) => {
|
|
|
265
265
|
}
|
|
266
266
|
consoleLog.push([{ execution: 0 }, 'executionError', err.toString()])
|
|
267
267
|
}
|
|
268
|
-
// finally {
|
|
269
|
-
// contextObj.inboundEvent.cleanup()
|
|
270
|
-
// }
|
|
271
268
|
const result = {
|
|
272
269
|
consoleLog,
|
|
273
270
|
environment: { ...contextObj.environment }
|
|
@@ -28,9 +28,6 @@
|
|
|
28
28
|
--------------
|
|
29
29
|
******/
|
|
30
30
|
|
|
31
|
-
// Ignore temporarily to get the snapshot release done
|
|
32
|
-
/* istanbul ignore file */
|
|
33
|
-
|
|
34
31
|
const WebSocket = require('ws')
|
|
35
32
|
const EventEmitter = require('events')
|
|
36
33
|
class MyEmitter extends EventEmitter {}
|
|
@@ -110,48 +107,41 @@ class WebSocketClientManager {
|
|
|
110
107
|
|
|
111
108
|
getMessage (clientName, timeout = 5000) {
|
|
112
109
|
return new Promise((resolve, reject) => {
|
|
113
|
-
let timer = null
|
|
114
|
-
|
|
115
|
-
const cleanup = () => {
|
|
116
|
-
if (timer) {
|
|
117
|
-
clearTimeout(timer)
|
|
118
|
-
timer = null
|
|
119
|
-
}
|
|
120
|
-
if (this.ws[clientName] && this.ws[clientName].eventEmitter) {
|
|
121
|
-
this.ws[clientName].eventEmitter.removeAllListeners('newMessage')
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
110
|
if (!this.ws[clientName]) {
|
|
126
111
|
resolve(null)
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
this.disconnect(clientName)
|
|
134
|
-
resolve(retMessage)
|
|
135
|
-
return
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// Set timeout
|
|
139
|
-
timer = setTimeout(() => {
|
|
140
|
-
try {
|
|
141
|
-
cleanup()
|
|
112
|
+
} else {
|
|
113
|
+
// Check for the message received already
|
|
114
|
+
if (this.ws[clientName].message !== null) {
|
|
115
|
+
// Store the message somewhere
|
|
116
|
+
const retMessage = this.parseMessage(this.ws[clientName].message)
|
|
117
|
+
// Disconnect the websocket connection
|
|
142
118
|
this.disconnect(clientName)
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
119
|
+
// Return the stored message
|
|
120
|
+
// this.customLog('Returning stored message...')
|
|
121
|
+
resolve(retMessage)
|
|
122
|
+
} else {
|
|
123
|
+
// Listen for the new message for some time
|
|
124
|
+
let timer = null
|
|
125
|
+
// Set the timer
|
|
126
|
+
timer = setTimeout(() => {
|
|
127
|
+
try {
|
|
128
|
+
this.ws[clientName].eventEmitter.removeAllListeners('newMessage')
|
|
129
|
+
// Disconnect the websocket connection
|
|
130
|
+
this.disconnect(clientName)
|
|
131
|
+
resolve(null)
|
|
132
|
+
} catch (err) {
|
|
133
|
+
reject(err)
|
|
134
|
+
}
|
|
135
|
+
}, timeout)
|
|
136
|
+
// Listen for message
|
|
137
|
+
this.ws[clientName].eventEmitter.once('newMessage', (message) => {
|
|
138
|
+
clearTimeout(timer)
|
|
139
|
+
this.ws[clientName].eventEmitter.removeAllListeners('newMessage')
|
|
140
|
+
this.disconnect(clientName)
|
|
141
|
+
resolve(this.parseMessage(message))
|
|
142
|
+
})
|
|
146
143
|
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// Listen for message
|
|
150
|
-
this.ws[clientName].eventEmitter.once('newMessage', (message) => {
|
|
151
|
-
cleanup()
|
|
152
|
-
this.disconnect(clientName)
|
|
153
|
-
resolve(this.parseMessage(message))
|
|
154
|
-
})
|
|
144
|
+
}
|
|
155
145
|
})
|
|
156
146
|
}
|
|
157
147
|
|