ml-testing-toolkit 18.16.0 → 18.16.2-snapshot.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.
@@ -104,74 +104,59 @@ class InboundEventListener {
104
104
 
105
105
  getMessage (clientName, timeout = 5000) {
106
106
  return new Promise((resolve, reject) => {
107
- let timer = null
108
-
109
- const cleanup = () => {
110
- if (timer) {
111
- clearTimeout(timer)
112
- timer = null
113
- }
114
- if (this.eventListeners[clientName] && this.eventListeners[clientName].eventEmitter) {
115
- this.eventListeners[clientName].eventEmitter.removeAllListeners('newMessage')
116
- }
117
- }
118
-
119
107
  if (!this.eventListeners[clientName]) {
120
108
  resolve(null)
121
- return
122
- }
123
-
124
- // Check for the message received already
125
- if (this.eventListeners[clientName].message !== null) {
126
- // Store the message somewhere
127
- const retMessage = this.parseMessage(this.eventListeners[clientName].message)
128
- // Destroy the event listener
129
- this.destroy(clientName)
130
- // Return the stored message
131
- // this.customLog('Returning stored message...')
132
- if (this.transformer.reverseTransform) {
133
- this.transformer.reverseTransform(retMessage).then((result) => {
134
- resolve(result)
135
- }).catch((err) => {
136
- this.customLog('Error transforming message: ' + err)
137
- resolve(retMessage)
138
- })
139
- } else {
140
- resolve(retMessage)
141
- }
142
- return
143
- }
144
-
145
- // Listen for the new message for some time
146
- // Set the timer
147
- timer = setTimeout(() => {
148
- try {
149
- this.customLog('Error: Timeout')
109
+ } else {
110
+ // Check for the message received already
111
+ if (this.eventListeners[clientName].message !== null) {
112
+ // Store the message somewhere
113
+ const retMessage = this.parseMessage(this.eventListeners[clientName].message)
150
114
  // Destroy the event listener
151
115
  this.destroy(clientName)
152
- resolve(null)
153
- } catch (err) {
154
- reject(err)
155
- }
156
- }, timeout)
157
-
158
- // Listen for message
159
- this.eventListeners[clientName].eventEmitter.once('newMessage', (message) => {
160
- cleanup()
161
- this.destroy(clientName)
162
- const retMessage = this.parseMessage(message)
163
-
164
- if (this.transformer.reverseTransform) {
165
- this.transformer.reverseTransform(retMessage).then((result) => {
166
- resolve(result)
167
- }).catch((err) => {
168
- this.customLog('Error transforming message: ' + err)
116
+ // Return the stored message
117
+ // this.customLog('Returning stored message...')
118
+ if (this.transformer.reverseTransform) {
119
+ this.transformer.reverseTransform(retMessage).then((result) => {
120
+ resolve(result)
121
+ }).catch((err) => {
122
+ this.customLog('Error transforming message: ' + err)
123
+ resolve(retMessage)
124
+ })
125
+ } else {
169
126
  resolve(retMessage)
170
- })
127
+ }
171
128
  } else {
172
- resolve(retMessage)
129
+ // Listen for the new message for some time
130
+ let timer = null
131
+ // Set the timer
132
+ timer = setTimeout(() => {
133
+ try {
134
+ this.customLog('Error: Timeout')
135
+ // Destroy the event listener
136
+ this.destroy(clientName)
137
+ resolve(null)
138
+ } catch (err) {
139
+ reject(err)
140
+ }
141
+ }, timeout)
142
+ // Listen for message
143
+ this.eventListeners[clientName].eventEmitter.once('newMessage', (message) => {
144
+ clearTimeout(timer)
145
+ this.destroy(clientName)
146
+ const retMessage = this.parseMessage(message)
147
+ if (this.transformer.reverseTransform) {
148
+ this.transformer.reverseTransform(retMessage).then((result) => {
149
+ resolve(result)
150
+ }).catch((err) => {
151
+ this.customLog('Error transforming message: ' + err)
152
+ resolve(retMessage)
153
+ })
154
+ } else {
155
+ resolve(retMessage)
156
+ }
157
+ })
173
158
  }
174
- })
159
+ }
175
160
  })
176
161
  }
177
162
 
@@ -53,8 +53,6 @@ class WebSocketClientManager {
53
53
  }
54
54
 
55
55
  connect (url, clientName, timeout = 15000) {
56
- this.customLog(`Connecting to WebSocket URL: ${url} with client name: ${clientName} and timeout: ${timeout}ms`)
57
-
58
56
  const tlsOptions = { rejectUnauthorized: false }
59
57
  const urlObject = new URL(url)
60
58
  if (this.userConfig.CLIENT_MUTUAL_TLS_ENABLED) {
@@ -109,48 +107,41 @@ class WebSocketClientManager {
109
107
 
110
108
  getMessage (clientName, timeout = 5000) {
111
109
  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.ws[clientName] && this.ws[clientName].eventEmitter) {
120
- this.ws[clientName].eventEmitter.removeAllListeners('newMessage')
121
- }
122
- }
123
-
124
110
  if (!this.ws[clientName]) {
125
111
  resolve(null)
126
- return
127
- }
128
-
129
- // Check for already received message
130
- if (this.ws[clientName].message !== null) {
131
- const retMessage = this.parseMessage(this.ws[clientName].message)
132
- this.disconnect(clientName)
133
- resolve(retMessage)
134
- return
135
- }
136
-
137
- // Set timeout
138
- timer = setTimeout(() => {
139
- try {
140
- 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
141
118
  this.disconnect(clientName)
142
- resolve(null)
143
- } catch (err) {
144
- 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
+ })
145
143
  }
146
- }, timeout)
147
-
148
- // Listen for message
149
- this.ws[clientName].eventEmitter.once('newMessage', (message) => {
150
- cleanup()
151
- this.disconnect(clientName)
152
- resolve(this.parseMessage(message))
153
- })
144
+ }
154
145
  })
155
146
  }
156
147
 
@@ -164,10 +155,7 @@ class WebSocketClientManager {
164
155
 
165
156
  disconnect (clientName) {
166
157
  if (this.ws[clientName]) {
167
- if (this.ws[clientName].client) {
168
- this.ws[clientName].client.removeAllListeners()
169
- this.ws[clientName].client.close()
170
- }
158
+ this.ws[clientName].client.close()
171
159
  if (this.ws[clientName].eventEmitter) {
172
160
  this.ws[clientName].eventEmitter.removeAllListeners()
173
161
  }
@@ -182,10 +170,7 @@ class WebSocketClientManager {
182
170
 
183
171
  disconnectAll () {
184
172
  for (const clientName in this.ws) {
185
- if (this.ws[clientName].client) {
186
- this.ws[clientName].client.removeAllListeners()
187
- this.ws[clientName].client.close()
188
- }
173
+ this.ws[clientName].client.close()
189
174
  if (this.ws[clientName].eventEmitter) {
190
175
  this.ws[clientName].eventEmitter.removeAllListeners()
191
176
  }
@@ -198,6 +183,13 @@ class WebSocketClientManager {
198
183
  }
199
184
  return true
200
185
  }
186
+
187
+ clearAllTimers () {
188
+ Object.keys(this.timers).forEach((clientName) => {
189
+ clearTimeout(this.timers[clientName])
190
+ delete this.timers[clientName]
191
+ })
192
+ }
201
193
  }
202
194
 
203
195
  module.exports = {