@chainlink/external-adapter-framework 0.29.9 → 0.29.11

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.
@@ -0,0 +1,345 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.mockWebSocketProvider = exports.setEnvVariables = exports.waitUntilResolved = exports.TestAdapter = exports.assertEqualResponses = exports.RedisMock = exports.runAllUntilTime = exports.runAllUntil = exports.runPeriodicAsyncBackgroundExecution = exports.MockCache = exports.NopTransport = exports.MockWebsocketServer = exports.MockWebsocket = void 0;
27
+ const client = __importStar(require("prom-client"));
28
+ const index_1 = require("../index");
29
+ const cache_1 = require("../cache");
30
+ const index_2 = require("./index");
31
+ const mock_socket_1 = require("mock-socket");
32
+ var mock_socket_2 = require("mock-socket");
33
+ Object.defineProperty(exports, "MockWebsocket", { enumerable: true, get: function () { return mock_socket_2.WebSocket; } });
34
+ Object.defineProperty(exports, "MockWebsocketServer", { enumerable: true, get: function () { return mock_socket_2.Server; } });
35
+ /* c8 ignore start */ // eslint-disable-line
36
+ class NopTransport {
37
+ async initialize(dependencies, adapterSettings, endpointName, transportName) {
38
+ this.responseCache = dependencies.responseCache;
39
+ this.name = transportName;
40
+ return;
41
+ }
42
+ async foregroundExecute(_) {
43
+ return;
44
+ }
45
+ }
46
+ exports.NopTransport = NopTransport;
47
+ class MockCache extends cache_1.LocalCache {
48
+ constructor(maxItems) {
49
+ super(maxItems);
50
+ }
51
+ waitForNextSet() {
52
+ // eslint-disable-next-line no-promise-executor-return
53
+ return new Promise((resolve) => (this.awaitingPromiseResolve = resolve));
54
+ }
55
+ async set(key, value, ttl) {
56
+ super.set(key, value, ttl);
57
+ if (this.awaitingPromiseResolve) {
58
+ this.awaitingPromiseResolve(value);
59
+ }
60
+ }
61
+ }
62
+ exports.MockCache = MockCache;
63
+ async function runPeriodicAsyncBackgroundExecution(clock, { interval, times, stepValidation, }) {
64
+ for (let i = 0; i < times; i++) {
65
+ // Tick once for the interval
66
+ await clock.tickAsync(interval);
67
+ // Then use auxiliary method to ensure that the background process, if it
68
+ // spawns new timers, gets executed to completion
69
+ await runAllUntil(clock, () => stepValidation(i));
70
+ }
71
+ }
72
+ exports.runPeriodicAsyncBackgroundExecution = runPeriodicAsyncBackgroundExecution;
73
+ async function runAllUntil(clock, isComplete) {
74
+ while (!isComplete()) {
75
+ await clock.nextAsync();
76
+ }
77
+ }
78
+ exports.runAllUntil = runAllUntil;
79
+ async function runAllUntilTime(clock, time) {
80
+ const targetTime = clock.now + time;
81
+ // Fire a promise that will resolve at the requested time, so we have a precise place where we'll stop
82
+ (0, index_2.sleep)(time);
83
+ while (clock.now < targetTime) {
84
+ await clock.nextAsync();
85
+ }
86
+ }
87
+ exports.runAllUntilTime = runAllUntilTime;
88
+ class RedisMock {
89
+ constructor() {
90
+ this.store = new cache_1.LocalCache(10000);
91
+ }
92
+ get(key) {
93
+ return this.store.get(key);
94
+ }
95
+ del(key) {
96
+ return this.store.delete(key);
97
+ }
98
+ set(key, value, px, ttl) {
99
+ if (key.includes('force-error')) {
100
+ throw { message: 'anything' };
101
+ }
102
+ return this.store.set(key, value, ttl);
103
+ }
104
+ multi() {
105
+ return new CommandChainMock(this);
106
+ }
107
+ defineCommand(_name, _options) {
108
+ return;
109
+ }
110
+ setExternalAdapterResponse(key, value, ttl) {
111
+ return this.set(key, value, 'PX', ttl);
112
+ }
113
+ }
114
+ exports.RedisMock = RedisMock;
115
+ class CommandChainMock {
116
+ constructor(redisMock) {
117
+ this.redisMock = redisMock;
118
+ this.promises = [];
119
+ }
120
+ set(key, value, px, ttl) {
121
+ this.promises.push(this.redisMock.set(key, value, px, ttl));
122
+ return this;
123
+ }
124
+ // eslint-disable-next-line max-params
125
+ setExternalAdapterResponse(key, value, ttl) {
126
+ this.promises.push(this.redisMock.setExternalAdapterResponse(key, value, ttl));
127
+ return this;
128
+ }
129
+ exec() {
130
+ return Promise.all(this.promises);
131
+ }
132
+ }
133
+ function assertEqualResponses(t, actual, expected) {
134
+ t.is(typeof actual?.timestamps?.providerDataReceivedUnixMs, 'number');
135
+ t.is(typeof (actual?.timestamps?.providerDataReceivedUnixMs ??
136
+ actual?.timestamps?.providerDataStreamEstablishedUnixMs), 'number');
137
+ delete actual?.meta;
138
+ delete actual['timestamps'];
139
+ t.deepEqual(expected, actual);
140
+ }
141
+ exports.assertEqualResponses = assertEqualResponses;
142
+ class TestMetrics {
143
+ replaceQuotes(s) {
144
+ return s.replace(/\\"/g, "'");
145
+ }
146
+ constructor(data) {
147
+ this.map = new Map();
148
+ const lines = data.split('\n');
149
+ for (const line of lines) {
150
+ if (line.startsWith('#') ||
151
+ line.startsWith('nodejs_') ||
152
+ line.startsWith('process_') ||
153
+ !line) {
154
+ continue;
155
+ }
156
+ const [nameAndLabels, stringValue] = line.split(' ');
157
+ const [, name, rawLabels] = nameAndLabels.match(/^([a-z_]+){(.*)}$/);
158
+ const sortedLabels = this.replaceQuotes(rawLabels)
159
+ .split('",')
160
+ .filter((label) => label !== '' && !label.startsWith('app_'))
161
+ .sort((a, b) => a.localeCompare(b))
162
+ .map((s) => `${s}"`)
163
+ .join(',');
164
+ const fullName = `${name}|${sortedLabels}`;
165
+ this.map.set(fullName, Number(stringValue));
166
+ }
167
+ }
168
+ get(t, { name, labels }) {
169
+ const sortedLabels = labels
170
+ ? Object.entries(labels)
171
+ .map(([labelName, value]) => `${labelName}="${this.replaceQuotes(value)}"`)
172
+ .sort((a, b) => a.localeCompare(b))
173
+ .join(',')
174
+ : '';
175
+ const metric = this.map.get(`${name}|${sortedLabels}`);
176
+ if (metric === undefined) {
177
+ const sameNameMetrics = [...this.map.keys()]
178
+ .filter((k) => k.startsWith(name))
179
+ .map((m) => `\n\t${m}`);
180
+ const possibleSolutionMessage = sameNameMetrics.length
181
+ ? `Perhaps you meant one of these: ${sameNameMetrics}`
182
+ : 'Check the metric name and labels (no other metrics with the same name were found)';
183
+ t.fail(`Metric not found:\n\t${name}|${sortedLabels}\n${possibleSolutionMessage}`);
184
+ }
185
+ return metric;
186
+ }
187
+ assert(t, params) {
188
+ const metric = this.get(t, params);
189
+ t.is(metric, params.expectedValue);
190
+ }
191
+ assertPositiveNumber(t, params) {
192
+ const value = this.get(t, params);
193
+ if (value !== undefined) {
194
+ t.is(typeof value === 'number', true);
195
+ t.is(value > 0, true);
196
+ }
197
+ else {
198
+ t.fail(`${params.name} did not record`);
199
+ }
200
+ }
201
+ }
202
+ class TestAdapter {
203
+ // eslint-disable-next-line max-params
204
+ constructor(api, adapter, metricsApi, clock, cache) {
205
+ this.api = api;
206
+ this.adapter = adapter;
207
+ this.metricsApi = metricsApi;
208
+ this.clock = clock;
209
+ if (cache instanceof MockCache) {
210
+ this.mockCache = cache;
211
+ }
212
+ }
213
+ static async startWithMockedCache(adapter, context, dependencies) {
214
+ // Create mocked cache so we can listen when values are set
215
+ // This is a more reliable method than expecting precise clock timings
216
+ const mockCache = new MockCache(adapter.config.settings.CACHE_MAX_ITEMS);
217
+ return TestAdapter.start(adapter, context, {
218
+ cache: mockCache,
219
+ ...dependencies,
220
+ });
221
+ }
222
+ static async start(adapter, context, dependencies) {
223
+ const { api, metricsApi } = await (0, index_1.start)(adapter, dependencies);
224
+ if (!api) {
225
+ throw new Error('EA was not able to start properly');
226
+ }
227
+ context.testAdapter = new TestAdapter(api, adapter, metricsApi, context.clock, dependencies?.cache);
228
+ return context.testAdapter;
229
+ }
230
+ async request(data, headers) {
231
+ const makeRequest = async () => this.api.inject({
232
+ method: 'post',
233
+ url: '/',
234
+ headers: {
235
+ 'content-type': 'application/json',
236
+ ...headers,
237
+ },
238
+ payload: {
239
+ data,
240
+ },
241
+ });
242
+ // If there's no installed clock, just return the normal response promise
243
+ if (!this.clock) {
244
+ return makeRequest();
245
+ }
246
+ return waitUntilResolved(this.clock, makeRequest);
247
+ }
248
+ async startBackgroundExecuteThenGetResponse(t, params) {
249
+ if (!this.clock) {
250
+ throw new Error('The "startBackgroundExecuteThenGetResponse" method should only be called if a fake clock is installed');
251
+ }
252
+ if (!this.mockCache) {
253
+ throw new Error('The "startBackgroundExecuteThenGetResponse" method should only be called if a mock cache was provided');
254
+ }
255
+ // Expect the first response to time out
256
+ // The polling behavior is tested in the cache tests, so this is easier here.
257
+ // Start the request:
258
+ const error = await this.request(params.requestData);
259
+ t.is(error.statusCode, 504);
260
+ await this.waitForCache(params.expectedCacheSize);
261
+ // Second request should find the response in the cache
262
+ const response = await this.request(params.requestData);
263
+ if (params.expectedResponse) {
264
+ assertEqualResponses(t, response.json(), params.expectedResponse);
265
+ }
266
+ else {
267
+ t.is(response.statusCode, 200);
268
+ }
269
+ return response;
270
+ }
271
+ async waitForCache(expectedSize) {
272
+ if (!this.clock) {
273
+ throw new Error('The "startBackgroundExecuteThenGetResponse" method should only be called if a fake clock is installed');
274
+ }
275
+ // Advance clock so that the batch warmer executes once again and wait for the cache to be set
276
+ // We disable the non-null assertion because we've already checked for existence in the line above
277
+ await runAllUntil(this.clock, () => {
278
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
279
+ const cacheSize = this.mockCache.cache.size;
280
+ return cacheSize >= (expectedSize || 1);
281
+ });
282
+ }
283
+ async getMetrics() {
284
+ if (!this.metricsApi) {
285
+ throw new Error('An attempt was made to fetch metrics, but the adapter was started without metrics enabled');
286
+ }
287
+ const response = await client.register.metrics();
288
+ return new TestMetrics(response);
289
+ }
290
+ async getHealth() {
291
+ return this.api.inject('/health');
292
+ }
293
+ }
294
+ exports.TestAdapter = TestAdapter;
295
+ // This is the janky workaround to synchronously running async flows with fixed timers that block threads
296
+ async function waitUntilResolved(clock, fn) {
297
+ let result;
298
+ const execute = async () => {
299
+ result = await fn();
300
+ };
301
+ execute();
302
+ // eslint-disable-next-line no-unmodified-loop-condition
303
+ while (result === undefined) {
304
+ await clock.nextAsync();
305
+ }
306
+ return result;
307
+ }
308
+ exports.waitUntilResolved = waitUntilResolved;
309
+ function setEnvVariables(envVariables) {
310
+ for (const key in envVariables) {
311
+ process.env[key] = envVariables[key];
312
+ }
313
+ }
314
+ exports.setEnvVariables = setEnvVariables;
315
+ /**
316
+ * Sets the mocked websocket instance in the provided provider class.
317
+ * We need this here, because the tests will connect using their instance of WebSocketClassProvider;
318
+ * fetching from this library to the \@chainlink/ea-bootstrap package would access _another_ instance
319
+ * of the same constructor. Although it should be a singleton, dependencies are different so that
320
+ * means that the static classes themselves are also different.
321
+ *
322
+ * @param provider - singleton WebSocketClassProvider
323
+ */
324
+ const mockWebSocketProvider = (provider) => {
325
+ // Extend mock WebSocket class to bypass protocol headers error
326
+ class MockWebSocket extends mock_socket_1.WebSocket {
327
+ constructor(url, protocol) {
328
+ super(url, protocol instanceof Object ? undefined : protocol);
329
+ }
330
+ // This is part of the 'ws' node library but not the common interface, but it's used in our WS transport
331
+ removeAllListeners() {
332
+ for (const eventType in this.listeners) {
333
+ // We have to manually check because the mock-socket library shares this instance, and adds the server listeners to the same obj
334
+ if (!eventType.startsWith('server')) {
335
+ delete this.listeners[eventType];
336
+ }
337
+ }
338
+ }
339
+ }
340
+ // Need to disable typing, the mock-socket impl does not implement the ws interface fully
341
+ provider.set(MockWebSocket); // eslint-disable-line @typescript-eslint/no-explicit-any
342
+ };
343
+ exports.mockWebSocketProvider = mockWebSocketProvider;
344
+ /* c8 ignore stop */ // eslint-disable-line
345
+ //# sourceMappingURL=testing-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../../../src/util/testing-utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.errorCatchingMiddleware = exports.validatorMiddleware = exports.InputParameters = void 0;
4
+ const crypto_1 = require("crypto");
4
5
  const ioredis_1 = require("ioredis");
5
6
  const cache_1 = require("../cache");
6
7
  const metrics_1 = require("../metrics");
@@ -8,7 +9,6 @@ const util_1 = require("../metrics/util");
8
9
  const util_2 = require("../util");
9
10
  const error_1 = require("./error");
10
11
  const input_params_1 = require("./input-params");
11
- const crypto_1 = require("crypto");
12
12
  var input_params_2 = require("./input-params");
13
13
  Object.defineProperty(exports, "InputParameters", { enumerable: true, get: function () { return input_params_2.InputParameters; } });
14
14
  const errorCatcherLogger = (0, util_2.makeLogger)('ErrorCatchingMiddleware');
@@ -114,18 +114,18 @@ const errorCatchingMiddleware = (err, req, res) => {
114
114
  if (err instanceof error_1.AdapterTimeoutError) {
115
115
  // AdapterTimeoutError are somewhat expected when the adapter doesn't find a response in the cache within the specified polling interval
116
116
  // This is common on startup so logging these errors as debug to help alleviate logs getting flooded in the beginning
117
- errorCatcherLogger.debug(errorWithContext);
117
+ (0, util_2.censorLogs)(() => errorCatcherLogger.debug(errorWithContext));
118
118
  res.status(err.statusCode).send(err.toJSONResponse());
119
119
  }
120
120
  else if (err instanceof error_1.AdapterError) {
121
121
  // We want to log these as warn, because although they are to be expected, NOPs should
122
122
  // Only use "correct" job specs and therefore not hit adapters with invalid requests.
123
- errorCatcherLogger.warn(errorWithContext);
123
+ (0, util_2.censorLogs)(() => errorCatcherLogger.warn(errorWithContext));
124
124
  res.status(err.statusCode).send(err.toJSONResponse());
125
125
  }
126
126
  else if (err instanceof ioredis_1.ReplyError) {
127
127
  // Native ioredis error
128
- errorCatcherLogger.warn(errorWithContext);
128
+ (0, util_2.censorLogs)(() => errorCatcherLogger.warn(errorWithContext));
129
129
  const replyError = err;
130
130
  if (process.env['METRICS_ENABLED']) {
131
131
  (0, metrics_1.recordRedisCommandMetric)(metrics_1.CMD_SENT_STATUS.FAIL, replyError.command?.name);
@@ -133,11 +133,11 @@ const errorCatchingMiddleware = (err, req, res) => {
133
133
  res.status(500).send(replyError.message || 'There was an unexpected error with the Redis cache');
134
134
  }
135
135
  else if (err.name === 'FastifyError') {
136
- errorCatcherLogger.error(errorWithContext);
136
+ (0, util_2.censorLogs)(() => errorCatcherLogger.error(errorWithContext));
137
137
  res.status(err.statusCode).send(err.message);
138
138
  }
139
139
  else {
140
- errorCatcherLogger.error(errorWithContext);
140
+ (0, util_2.censorLogs)(() => errorCatcherLogger.error(errorWithContext));
141
141
  res.status(500).send(err.message || 'There was an unexpected error in the adapter.');
142
142
  }
143
143
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"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"}