@chainlink/external-adapter-framework 0.29.9 → 0.29.10

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