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.
@@ -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
- return
127
- }
128
-
129
- // Check for the message received already
130
- if (this.eventListeners[clientName].message !== null) {
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
- resolve(null)
158
- } catch (err) {
159
- reject(err)
160
- }
161
- }, timeout)
162
-
163
- // Listen for message
164
- this.eventListeners[clientName].eventEmitter.once('newMessage', (message) => {
165
- cleanup()
166
- this.destroy(clientName)
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
- resolve(retMessage)
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
- return
128
- }
129
-
130
- // Check for already received message
131
- if (this.ws[clientName].message !== null) {
132
- const retMessage = this.parseMessage(this.ws[clientName].message)
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
- resolve(null)
144
- } catch (err) {
145
- reject(err)
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
- }, timeout)
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