@natlibfi/melinda-rest-api-commons 6.2.0-alpha.1 → 6.2.0-alpha.2

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/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # Shared modules for microservices of Melinda rest api import system
1
+ # Shared modules for microservices of the Melinda REST API
2
2
  [![NPM Version](https://img.shields.io/npm/v/@natlibfi/melinda-rest-api-commons.svg)](https://npmjs.org/package/@natlibfi/melinda-rest-api-commons)
3
3
  ![Node Version](https://img.shields.io/node/v/@natlibfi/melinda-rest-api-commons.svg)
4
4
 
5
- Shared modules for microservices of Melinda rest api import system
5
+ Shared modules for microservices of the Melinda REST API
6
6
 
7
7
  ## API
8
8
 
@@ -53,6 +53,7 @@ Creates the queue-item operator on a Mongo collection. `db` defaults to
53
53
  | `setOperations({correlationId, addOperation, removeOperation?})` | Add and/or remove operations on a queue item | `QueueItem` |
54
54
  | `addBlobSize({correlationId})` | Increment the `blobSize` of a queue item waiting for records | `QueueItem \| null` |
55
55
  | `setBlobSize({correlationId, blobSize})` | Set the `blobSize` of a queue item | `QueueItem \| null` |
56
+ | `close()` | Close the Mongo connection (idempotent, always resolves) | `void` |
56
57
 
57
58
  **`CheckAndSetResult`** — the discriminated result of
58
59
  `checkAndSetState` / `checkAndSetImportJobState` (branch on `status`, read
@@ -81,11 +82,12 @@ defaults to `'rest-api'`.
81
82
  | `getListOfLogs(logItemType?)` | Get the list of `correlationId`s that have logs of a given type (default `MERGE_LOG`) | `string[]` |
82
83
  | `getListOfCatalogers()` | Get the list of catalogers over all logs | `string[]` |
83
84
  | `getListOfCorrelationIds()` | Get the list of `correlationId`s over all logs | `string[]` |
84
- | `getExpandedListOfLogs(params)` | Aggregated log list per `correlationId` + `logItemType` with cataloger, creation time and record count; optional filters `logItemTypes`, `catalogers`, `dateBefore`, `dateAfter` (a provided `logItemTypes` is validated element-wise, unknown element rejects with 400) | `ExpandedLogListItem[]` |
85
+ | `getExpandedListOfLogs(params)` | Aggregated log list per `correlationId` + `logItemType` with cataloger, creation time and record count; optional filters `logItemTypes`, `catalogers`, `dateBefore`, `dateAfter` (a provided `logItemTypes` is validated element-wise, unknown element rejects with 400; `dateBefore` is an exclusive upper bound and `dateAfter` an inclusive lower bound on `creationTime`, UTC `'YYYY-MM-DD'` or `Date`, defaults now / epoch = no effective filter) | `ExpandedLogListItem[]` |
85
86
  | `protect(correlationId, blobSequence?)` | Mark matching log items as protected (idempotent) | `UpdateResult` |
86
87
  | `unprotect(correlationId, blobSequence?)` | Mark matching log items as unprotected, so regular cleaning can remove them | `UpdateResult` |
87
88
  | `remove(correlationId, force?)` | Remove log items for a `correlationId`; protected items are kept unless `force` | `DeleteResult` |
88
89
  | `removeBySequences(correlationId, sequences?, force?)` | Remove log items for a `correlationId` matching blob sequences; protected items are kept unless `force` | `DeleteResult` |
90
+ | `close()` | Close the Mongo connection (idempotent, always resolves) | `void` |
89
91
 
90
92
  ### `amqpFactory(AMQP_URL, runHealthCheck?)`
91
93
 
@@ -1 +1 @@
1
- {"version":3,"file":"fix-strip-f884s.js","sourceRoot":"","sources":["../../src/helpers/fix-strip-f884s.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix-strip-f884s.js","sourceRoot":"","sources":["../../src/helpers/fix-strip-f884s.ts"],"names":[],"mappings":"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"}
package/dist/mongo.d.ts CHANGED
@@ -157,6 +157,7 @@ export interface MongoOperator {
157
157
  correlationId: string;
158
158
  blobSize: number;
159
159
  }) => Promise<WithId<QueueItem> | null>;
160
+ close: () => Promise<void>;
160
161
  }
161
162
  export default function (MONGO_URI: string, collection: string, db?: string, deps?: {
162
163
  operator?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../src/mongo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../src/mongo.ts"],"names":[],"mappings":"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"}
package/dist/mongo.js CHANGED
@@ -12,10 +12,12 @@ export default async function (MONGO_URI, collection, db = 'rest-api', deps = {}
12
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo');
13
13
  const debugDev = debug.extend(':dev');
14
14
  const stubbed = Boolean(deps.operator) && Boolean(deps.gridFSBucket);
15
+ let client;
16
+ let closed = false;
15
17
  let gridFSBucket = deps.gridFSBucket;
16
18
  let operator = deps.operator;
17
19
  if (!stubbed) {
18
- const client = await MongoClient.connect(MONGO_URI);
20
+ client = await MongoClient.connect(MONGO_URI);
19
21
  const realDb = client.db(db);
20
22
  gridFSBucket = gridFSBucket ?? new GridFSBucket(realDb, { bucketName: collection });
21
23
  operator = operator ?? realDb.collection(collection);
@@ -42,8 +44,15 @@ export default async function (MONGO_URI, collection, db = 'rest-api', deps = {}
42
44
  setOperation: (params) => withMongoError(() => setOperation(params)),
43
45
  setOperations: (params) => withMongoError(() => setOperations(params)),
44
46
  addBlobSize: (params) => withMongoError(() => addBlobSize(params)),
45
- setBlobSize: (params) => withMongoError(() => setBlobSize(params))
47
+ setBlobSize: (params) => withMongoError(() => setBlobSize(params)),
48
+ close
46
49
  };
50
+ async function close() {
51
+ if (closed)
52
+ return;
53
+ closed = true;
54
+ await client?.close();
55
+ }
47
56
  async function createPrio({ correlationId, cataloger, oCatalogerIn, operation, operationSettings }) {
48
57
  debugDev('createPrio');
49
58
  const time = new Date();
@@ -185,6 +194,13 @@ export default async function (MONGO_URI, collection, db = 'rest-api', deps = {}
185
194
  }
186
195
  async function checkAndSetState({ correlationId, state, errorMessage = undefined, errorStatus = undefined }) {
187
196
  assertString(correlationId, 'correlationId');
197
+ const existing = await operator.findOne({ correlationId }, { projection: { _id: 0 } });
198
+ if (!existing ||
199
+ existing.queueItemState === QUEUE_ITEM_STATE.ABORT ||
200
+ existing.queueItemState === QUEUE_ITEM_STATE.ERROR ||
201
+ existing.queueItemState === QUEUE_ITEM_STATE.DONE) {
202
+ return { status: 'unchanged', queueItem: existing };
203
+ }
188
204
  const timeOut = await checkTimeOut({ correlationId });
189
205
  if (timeOut) {
190
206
  const queueItem = await setState({ correlationId, state, errorMessage, errorStatus });
@@ -196,6 +212,13 @@ export default async function (MONGO_URI, collection, db = 'rest-api', deps = {}
196
212
  }
197
213
  async function checkAndSetImportJobState({ correlationId, operation, importJobState }) {
198
214
  assertString(correlationId, 'correlationId');
215
+ const existing = await operator.findOne({ correlationId }, { projection: { _id: 0 } });
216
+ if (!existing ||
217
+ existing.queueItemState === QUEUE_ITEM_STATE.ABORT ||
218
+ existing.queueItemState === QUEUE_ITEM_STATE.ERROR ||
219
+ existing.queueItemState === QUEUE_ITEM_STATE.DONE) {
220
+ return { status: 'unchanged', queueItem: existing };
221
+ }
199
222
  logger.debug(`${correlationId}, ${importJobState}, ${operation}`);
200
223
  const timeOut = await checkTimeOut({ correlationId, operation, importJobState });
201
224
  if (timeOut) {
package/dist/mongo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.js","sourceRoot":"","sources":["../src/mongo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo.js","sourceRoot":"","sources":["../src/mongo.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ export interface MongoLogOperator {
43
43
  unprotect: (correlationId: string, blobSequence?: number | string) => Promise<UpdateResult>;
44
44
  remove: (correlationId: string, force?: boolean) => Promise<DeleteResult>;
45
45
  removeBySequences: (correlationId: string, sequences?: (number | string)[], force?: boolean) => Promise<DeleteResult>;
46
+ close: () => Promise<void>;
46
47
  }
47
48
  export default function (MONGO_URI: string, dbName?: string, deps?: {
48
49
  collection?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"mongoLog.d.ts","sourceRoot":"","sources":["../src/mongoLog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongoLog.d.ts","sourceRoot":"","sources":["../src/mongoLog.ts"],"names":[],"mappings":"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"}
package/dist/mongoLog.js CHANGED
@@ -22,9 +22,11 @@ export default async function (MONGO_URI, dbName = 'rest-api', deps = {}) {
22
22
  }
23
23
  throw new ApiError(httpStatus.BAD_REQUEST, 'blobSequence must be a number or a numeric string');
24
24
  }
25
+ let client;
26
+ let closed = false;
25
27
  let logCollection = deps.collection;
26
28
  if (!deps.collection) {
27
- const client = await MongoClient.connect(MONGO_URI);
29
+ client = await MongoClient.connect(MONGO_URI);
28
30
  logCollection = client.db(dbName).collection(collection);
29
31
  }
30
32
  return {
@@ -38,8 +40,15 @@ export default async function (MONGO_URI, dbName = 'rest-api', deps = {}) {
38
40
  protect,
39
41
  unprotect,
40
42
  remove,
41
- removeBySequences
43
+ removeBySequences,
44
+ close
42
45
  };
46
+ async function close() {
47
+ if (closed)
48
+ return;
49
+ closed = true;
50
+ await client?.close();
51
+ }
43
52
  function isKnownLogItemType(value) {
44
53
  const knownLogItemTypes = Object.values(LOG_ITEM_TYPE);
45
54
  return knownLogItemTypes.includes(value);
@@ -1 +1 @@
1
- {"version":3,"file":"mongoLog.js","sourceRoot":"","sources":["../src/mongoLog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongoLog.js","sourceRoot":"","sources":["../src/mongoLog.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "url": "https://github.com/NatLibFi/melinda-rest-api-commons"
14
14
  },
15
15
  "license": "MIT",
16
- "version": "6.2.0-alpha.1",
16
+ "version": "6.2.0-alpha.2",
17
17
  "main": "./dist/index.js",
18
18
  "type": "module",
19
19
  "engines": {
@@ -8,6 +8,7 @@ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.
8
8
 
9
9
 
10
10
  let mongoFixtures: any;
11
+ const openedOperators: any[] = [];
11
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:add-blob-size:test');
12
13
 
13
14
  generateTests({
@@ -34,6 +35,10 @@ generateTests({
34
35
  },
35
36
  after: async () => {
36
37
  //debug(`<< After`);
38
+ // close the operators the tests opened (one per test) before the server
39
+ for (const op of openedOperators) {
40
+ await op.close();
41
+ }
37
42
  await mongoFixtures.close();
38
43
  }
39
44
  }
@@ -61,6 +66,7 @@ async function callback(callbackParams: Record<string, any>) {
61
66
  } = callbackParams;
62
67
 
63
68
  const mongoOperator = await getMongoOperator(mongoFixtures);
69
+ openedOperators.push(mongoOperator);
64
70
  const expectedResult = await getFixture('expectedResult.json');
65
71
 
66
72
  await doPreFillDb(preFillDb);
@@ -8,6 +8,7 @@ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.
8
8
 
9
9
 
10
10
  let mongoFixtures: any;
11
+ const openedOperators: any[] = [];
11
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:test');
12
13
 
13
14
  generateTests({
@@ -34,6 +35,10 @@ generateTests({
34
35
  },
35
36
  after: async () => {
36
37
  //debug(`<< After`);
38
+ // close the operators the tests opened (one per test) before the server
39
+ for (const op of openedOperators) {
40
+ await op.close();
41
+ }
37
42
  await mongoFixtures.close();
38
43
  }
39
44
  }
@@ -62,6 +67,7 @@ async function callback(callbackParams: Record<string, any>) {
62
67
  } = callbackParams;
63
68
 
64
69
  const mongoOperator = await getMongoOperator(mongoFixtures);
70
+ openedOperators.push(mongoOperator);
65
71
  const expectedResult = await getFixture('expectedResult.json');
66
72
 
67
73
  await doPreFillDb(preFillDb);
@@ -7,6 +7,7 @@ import createDebugLogger from 'debug';
7
7
  import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
9
  let mongoFixtures: any;
10
+ const openedOperators: any[] = [];
10
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:check-and-set-import-job-state-test');
11
12
 
12
13
  generateTests({
@@ -33,6 +34,10 @@ generateTests({
33
34
  },
34
35
  after: async () => {
35
36
  //debug(`<< After`);
37
+ // close the operators the tests opened (one per test) before the server
38
+ for (const op of openedOperators) {
39
+ await op.close();
40
+ }
36
41
  await mongoFixtures.close();
37
42
  }
38
43
  }
@@ -61,6 +66,7 @@ async function callback(callbackParams: Record<string, any>) {
61
66
  } = callbackParams;
62
67
 
63
68
  const mongoOperator = await getMongoOperator(mongoFixtures);
69
+ openedOperators.push(mongoOperator);
64
70
  const expectedResult = await getFixture('expectedResult.json');
65
71
 
66
72
  await doPreFillDb(preFillDb);
@@ -8,6 +8,7 @@ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.
8
8
 
9
9
 
10
10
  let mongoFixtures: any;
11
+ const openedOperators: any[] = [];
11
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:check-timeout:test');
12
13
 
13
14
  generateTests({
@@ -34,6 +35,10 @@ generateTests({
34
35
  },
35
36
  after: async () => {
36
37
  //debug(`<< After`);
38
+ // close the operators the tests opened (one per test) before the server
39
+ for (const op of openedOperators) {
40
+ await op.close();
41
+ }
37
42
  await mongoFixtures.close();
38
43
  }
39
44
  }
@@ -62,6 +67,7 @@ async function callback(callbackParams: Record<string, any>) {
62
67
  } = callbackParams;
63
68
 
64
69
  const mongoOperator = await getMongoOperator(mongoFixtures);
70
+ openedOperators.push(mongoOperator);
65
71
  const expectedResult = await getFixture('expectedResult.json');
66
72
 
67
73
  await doPreFillDb(preFillDb);
@@ -6,6 +6,7 @@ import createDebugLogger from 'debug';
6
6
  import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
7
7
 
8
8
  let mongoFixtures: any;
9
+ const openedOperators: any[] = [];
9
10
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:test:create-bulk');
10
11
 
11
12
  generateTests({
@@ -32,6 +33,10 @@ generateTests({
32
33
  },
33
34
  after: async () => {
34
35
  //debug(`<< After`);
36
+ // close the operators the tests opened (one per test) before the server
37
+ for (const op of openedOperators) {
38
+ await op.close();
39
+ }
35
40
  await mongoFixtures.close();
36
41
  }
37
42
  }
@@ -59,6 +64,7 @@ async function callback(callbackParams: Record<string, any>) {
59
64
  } = callbackParams;
60
65
 
61
66
  const mongoOperator = await getMongoOperator(mongoFixtures);
67
+ openedOperators.push(mongoOperator);
62
68
  const expectedResult = await getFixture('expectedResult.json');
63
69
 
64
70
  await doPreFillDb(preFillDb);
@@ -7,6 +7,7 @@ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.
7
7
  // import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
8
8
 
9
9
  let mongoFixtures: any;
10
+ const openedOperators: any[] = [];
10
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:create-prio-test');
11
12
 
12
13
  generateTests({
@@ -33,6 +34,10 @@ generateTests({
33
34
  },
34
35
  after: async () => {
35
36
  //debug(`<< After`);
37
+ // close the operators the tests opened (one per test) before the server
38
+ for (const op of openedOperators) {
39
+ await op.close();
40
+ }
36
41
  await mongoFixtures.close();
37
42
  }
38
43
  }
@@ -58,6 +63,7 @@ async function callback(callbackParams: Record<string, any>) {
58
63
  } = callbackParams;
59
64
 
60
65
  const mongoOperator = await getMongoOperator(mongoFixtures);
66
+ openedOperators.push(mongoOperator);
61
67
  const expectedResult = await getFixture('expectedResult.json');
62
68
 
63
69
  await doPreFillDb(preFillDb);
@@ -1,5 +1,5 @@
1
1
  import assert from 'node:assert';
2
- import {test} from 'node:test';
2
+ import {test, after} from 'node:test';
3
3
  import {Readable, PassThrough} from 'node:stream';
4
4
  import httpStatus from 'http-status';
5
5
  import {MongoDriverError} from 'mongodb';
@@ -9,6 +9,9 @@ import createMongoLog from '../src/mongoLog.ts';
9
9
 
10
10
  const DUMMY_URI = 'mongodb://stub:27017/rest-api';
11
11
  const COLLECTION = 'foobar';
12
+ // every test creates its own (stubbed) operators; close them all at the
13
+ // end - close is a no-op for stubbed factories, which is the point
14
+ const stubOperators: any[] = [];
12
15
 
13
16
  // the deps seam takes unknown-typed dependencies, so plain stub objects
14
17
  // are fine to inject (the driver types are never exercised here)
@@ -35,7 +38,9 @@ function makeGridFSBucket(overrides: Record<string, any> = {}) {
35
38
  * @param deps the injected stub operator/gridFSBucket
36
39
  */
37
40
  async function makeMongo(deps: Record<string, any>) {
38
- return createMongo(DUMMY_URI, COLLECTION, 'rest-api', deps);
41
+ const mongo = await createMongo(DUMMY_URI, COLLECTION, 'rest-api', deps);
42
+ stubOperators.push(mongo);
43
+ return mongo;
39
44
  }
40
45
 
41
46
  // The 400-guard tests pass intentionally malformed inputs (non-string
@@ -214,6 +219,88 @@ test('checkTimeOut returns false (no crash) when the queueItem does not exist',
214
219
  assert.equal(result, false);
215
220
  });
216
221
 
222
+ // checkAndSetState / checkAndSetImportJobState must report a missing item
223
+ // as 'unchanged' (with a null queueItem) — not as a timeout
224
+
225
+ test('checkAndSetState returns {status: "unchanged", queueItem: null} when the queueItem does not exist', async () => {
226
+ const mongo = await makeMongo({
227
+ operator: makeOperator({findOne: async () => null}),
228
+ gridFSBucket: makeGridFSBucket()
229
+ });
230
+ const result = await mongo.checkAndSetState({correlationId: 'NOPE', state: 'VALIDATING'});
231
+ assert.deepStrictEqual(result, {status: 'unchanged', queueItem: null});
232
+ });
233
+
234
+ test('checkAndSetImportJobState returns {status: "unchanged", queueItem: null} when the queueItem does not exist', async () => {
235
+ const mongo = await makeMongo({
236
+ operator: makeOperator({findOne: async () => null}),
237
+ gridFSBucket: makeGridFSBucket()
238
+ });
239
+ const result = await mongo.checkAndSetImportJobState({correlationId: 'NOPE', operation: 'FIX', importJobState: 'DONE'});
240
+ assert.deepStrictEqual(result, {status: 'unchanged', queueItem: null});
241
+ });
242
+
243
+ // a pre-existing ABORT item must be reported as 'unchanged' (not
244
+ // 'timeout', which is reserved for items aborted by checkTimeOut in this
245
+ // call) and the document must be left untouched
246
+
247
+ test('checkAndSetState reports a pre-existing ABORT as "unchanged" without writing', async () => {
248
+ const doc = {correlationId: 'FOO', queueItemState: 'ABORT', errorStatus: 408, errorMessage: 'Timeout in VALIDATING'};
249
+ const writes: unknown[] = [];
250
+ const mongo = await makeMongo({
251
+ operator: makeOperator({
252
+ findOne: async () => doc,
253
+ findOneAndUpdate: async (filter: unknown, update: unknown) => {
254
+ writes.push({filter, update});
255
+ return doc;
256
+ }
257
+ }),
258
+ gridFSBucket: makeGridFSBucket()
259
+ });
260
+ const result = await mongo.checkAndSetState({correlationId: 'FOO', state: 'VALIDATING'});
261
+ assert.deepStrictEqual(result, {status: 'unchanged', queueItem: doc});
262
+ assert.deepStrictEqual(writes, []);
263
+ });
264
+
265
+ test('checkAndSetImportJobState reports a pre-existing ABORT as "unchanged" without writing', async () => {
266
+ const doc = {correlationId: 'FOO', queueItemState: 'ABORT', errorStatus: 408, errorMessage: 'Timeout in VALIDATING'};
267
+ const writes: unknown[] = [];
268
+ const mongo = await makeMongo({
269
+ operator: makeOperator({
270
+ findOne: async () => doc,
271
+ findOneAndUpdate: async (filter: unknown, update: unknown) => {
272
+ writes.push({filter, update});
273
+ return doc;
274
+ }
275
+ }),
276
+ gridFSBucket: makeGridFSBucket()
277
+ });
278
+ const result = await mongo.checkAndSetImportJobState({correlationId: 'FOO', operation: 'FIX', importJobState: 'DONE'});
279
+ assert.deepStrictEqual(result, {status: 'unchanged', queueItem: doc});
280
+ assert.deepStrictEqual(writes, []);
281
+ });
282
+
283
+ // a pre-existing DONE item is terminal too (like ABORT/ERROR) and must be
284
+ // reported as 'unchanged' without touching the document
285
+
286
+ test('checkAndSetState reports a pre-existing DONE as "unchanged" without writing', async () => {
287
+ const doc = {correlationId: 'FOO', queueItemState: 'DONE'};
288
+ const writes: unknown[] = [];
289
+ const mongo = await makeMongo({
290
+ operator: makeOperator({
291
+ findOne: async () => doc,
292
+ findOneAndUpdate: async (filter: unknown, update: unknown) => {
293
+ writes.push({filter, update});
294
+ return doc;
295
+ }
296
+ }),
297
+ gridFSBucket: makeGridFSBucket()
298
+ });
299
+ const result = await mongo.checkAndSetState({correlationId: 'FOO', state: 'VALIDATING'});
300
+ assert.deepStrictEqual(result, {status: 'unchanged', queueItem: doc});
301
+ assert.deepStrictEqual(writes, []);
302
+ });
303
+
217
304
  test('setOperation rejects with ApiError 404 for a non-matching correlationId', async () => {
218
305
  const mongo = await makeMongo({
219
306
  operator: makeOperator({findOne: async () => null}),
@@ -750,9 +837,17 @@ function makeLogCollection(overrides: Record<string, any> = {}) {
750
837
  * @param deps the injected stub collection
751
838
  */
752
839
  async function makeMongoLog(deps: Record<string, any>) {
753
- return createMongoLog(DUMMY_URI, 'rest-api', deps);
840
+ const mongoLog = await createMongoLog(DUMMY_URI, 'rest-api', deps);
841
+ stubOperators.push(mongoLog);
842
+ return mongoLog;
754
843
  }
755
844
 
845
+ after(async () => {
846
+ for (const op of stubOperators) {
847
+ await op.close();
848
+ }
849
+ });
850
+
756
851
  function mongoErrored500(text: string) {
757
852
  return (error: unknown) => {
758
853
  assert.ok(error instanceof ApiError);
@@ -8,6 +8,7 @@ import {getMongoOperator, handleError} from './testUtils.ts';
8
8
 
9
9
 
10
10
  let mongoFixtures: any;
11
+ const openedOperators: any[] = [];
11
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:get-one:test');
12
13
 
13
14
  generateTests({
@@ -34,6 +35,10 @@ generateTests({
34
35
  },
35
36
  after: async () => {
36
37
  //debug(`<< After`);
38
+ // close the operators the tests opened (one per test) before the server
39
+ for (const op of openedOperators) {
40
+ await op.close();
41
+ }
37
42
  await mongoFixtures.close();
38
43
  }
39
44
  }
@@ -60,6 +65,7 @@ async function callback(callbackParams: Record<string, any>) {
60
65
  } = callbackParams;
61
66
 
62
67
  const mongoOperator = await getMongoOperator(mongoFixtures);
68
+ openedOperators.push(mongoOperator);
63
69
  //const expectedResult = await getFixture('expectedResult.json');
64
70
 
65
71
  await doPreFillDb(preFillDb);
@@ -7,6 +7,7 @@ import createDebugLogger from 'debug';
7
7
  import {getMongoOperator, handleError, streamToString} from './testUtils.ts';
8
8
 
9
9
  let mongoFixtures: any;
10
+ const openedOperators: any[] = [];
10
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:get-stream:test');
11
12
 
12
13
  generateTests({
@@ -33,6 +34,10 @@ generateTests({
33
34
  },
34
35
  after: async () => {
35
36
  //debug(`<< After`);
37
+ // close the operators the tests opened (one per test) before the server
38
+ for (const op of openedOperators) {
39
+ await op.close();
40
+ }
36
41
  await mongoFixtures.close();
37
42
  }
38
43
  }
@@ -60,6 +65,7 @@ async function callback(callbackParams: Record<string, any>) {
60
65
  } = callbackParams;
61
66
 
62
67
  const mongoOperator = await getMongoOperator(mongoFixtures);
68
+ openedOperators.push(mongoOperator);
63
69
  //const expectedResult = await getFixture('expectedResult.json');
64
70
 
65
71
  await doPreFillDb(preFillDb);
@@ -7,6 +7,7 @@ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.
7
7
 
8
8
 
9
9
  let mongoFixtures: any;
10
+ const openedOperators: any[] = [];
10
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:push-ids:test');
11
12
 
12
13
  generateTests({
@@ -33,6 +34,10 @@ generateTests({
33
34
  },
34
35
  after: async () => {
35
36
  //debug(`<< After`);
37
+ // close the operators the tests opened (one per test) before the server
38
+ for (const op of openedOperators) {
39
+ await op.close();
40
+ }
36
41
  await mongoFixtures.close();
37
42
  }
38
43
  }
@@ -59,6 +64,7 @@ async function callback(callbackParams: Record<string, any>) {
59
64
  } = callbackParams;
60
65
 
61
66
  const mongoOperator = await getMongoOperator(mongoFixtures);
67
+ openedOperators.push(mongoOperator);
62
68
  const expectedResult = await getFixture('expectedResult.json');
63
69
 
64
70
  await doPreFillDb(preFillDb);
@@ -7,6 +7,7 @@ import createDebugLogger from 'debug';
7
7
  import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
9
  let mongoFixtures: any;
10
+ const openedOperators: any[] = [];
10
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:push-messages:test');
11
12
 
12
13
  generateTests({
@@ -33,6 +34,10 @@ generateTests({
33
34
  },
34
35
  after: async () => {
35
36
  //debug(`<< After`);
37
+ // close the operators the tests opened (one per test) before the server
38
+ for (const op of openedOperators) {
39
+ await op.close();
40
+ }
36
41
  await mongoFixtures.close();
37
42
  }
38
43
  }
@@ -59,6 +64,7 @@ async function callback(callbackParams: Record<string, any>) {
59
64
  } = callbackParams;
60
65
 
61
66
  const mongoOperator = await getMongoOperator(mongoFixtures);
67
+ openedOperators.push(mongoOperator);
62
68
  const expectedResult = await getFixture('expectedResult.json');
63
69
 
64
70
  await doPreFillDb(preFillDb);
@@ -8,6 +8,7 @@ import {getMongoOperator, handleError, compareToDbEntry, formatQueueItem} from '
8
8
 
9
9
 
10
10
  let mongoFixtures: any;
11
+ const openedOperators: any[] = [];
11
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:query-by-id:test');
12
13
 
13
14
  generateTests({
@@ -34,6 +35,10 @@ generateTests({
34
35
  },
35
36
  after: async () => {
36
37
  //debug(`<< After`);
38
+ // close the operators the tests opened (one per test) before the server
39
+ for (const op of openedOperators) {
40
+ await op.close();
41
+ }
37
42
  await mongoFixtures.close();
38
43
  }
39
44
  }
@@ -63,6 +68,7 @@ async function callback(callbackParams: Record<string, any>) {
63
68
  } = callbackParams;
64
69
 
65
70
  const mongoOperator = await getMongoOperator(mongoFixtures);
71
+ openedOperators.push(mongoOperator);
66
72
  const expectedResult = await getFixture('expectedResult.json');
67
73
 
68
74
  await doPreFillDb(preFillDb);
@@ -7,6 +7,7 @@ import createDebugLogger from 'debug';
7
7
  import {getMongoOperator, handleError} from './testUtils.ts';
8
8
 
9
9
  let mongoFixtures: any;
10
+ const openedOperators: any[] = [];
10
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:test');
11
12
 
12
13
  generateTests({
@@ -33,6 +34,10 @@ generateTests({
33
34
  },
34
35
  after: async () => {
35
36
  //debug(`<< After`);
37
+ // close the operators the tests opened (one per test) before the server
38
+ for (const op of openedOperators) {
39
+ await op.close();
40
+ }
36
41
  await mongoFixtures.close();
37
42
  }
38
43
  }
@@ -59,6 +64,7 @@ async function callback(callbackParams: Record<string, any>) {
59
64
  } = callbackParams;
60
65
 
61
66
  const mongoOperator = await getMongoOperator(mongoFixtures);
67
+ openedOperators.push(mongoOperator);
62
68
  //const expectedResult = await getFixture('expectedResult.json');
63
69
 
64
70
  await doPreFillDb(preFillDb);
@@ -8,6 +8,7 @@ import {getMongoOperator, handleError, streamToString} from './testUtils.ts';
8
8
 
9
9
 
10
10
  let mongoFixtures: any;
11
+ const openedOperators: any[] = [];
11
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:read-content:test');
12
13
 
13
14
  generateTests({
@@ -34,6 +35,10 @@ generateTests({
34
35
  },
35
36
  after: async () => {
36
37
  //debug(`<< After`);
38
+ // close the operators the tests opened (one per test) before the server
39
+ for (const op of openedOperators) {
40
+ await op.close();
41
+ }
37
42
  await mongoFixtures.close();
38
43
  }
39
44
  }
@@ -61,6 +66,7 @@ async function callback(callbackParams: Record<string, any>) {
61
66
  } = callbackParams;
62
67
 
63
68
  const mongoOperator = await getMongoOperator(mongoFixtures);
69
+ openedOperators.push(mongoOperator);
64
70
  //const expectedResult = await getFixture('expectedResult.json');
65
71
 
66
72
  await doPreFillDb(preFillDb);
@@ -8,6 +8,7 @@ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.
8
8
 
9
9
 
10
10
  let mongoFixtures: any;
11
+ const openedOperators: any[] = [];
11
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:remove:test');
12
13
 
13
14
  generateTests({
@@ -34,6 +35,10 @@ generateTests({
34
35
  },
35
36
  after: async () => {
36
37
  //debug(`<< After`);
38
+ // close the operators the tests opened (one per test) before the server
39
+ for (const op of openedOperators) {
40
+ await op.close();
41
+ }
37
42
  await mongoFixtures.close();
38
43
  }
39
44
  }
@@ -64,6 +69,7 @@ async function callback(callbackParams: Record<string, any>) {
64
69
  } = callbackParams;
65
70
 
66
71
  const mongoOperator = await getMongoOperator(mongoFixtures);
72
+ openedOperators.push(mongoOperator);
67
73
  const expectedResult = await getFixture('expectedResult.json');
68
74
 
69
75
  await doPreFillDb(preFillDb);
@@ -7,6 +7,7 @@ import createDebugLogger from 'debug';
7
7
  import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
9
  let mongoFixtures: any;
10
+ const openedOperators: any[] = [];
10
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-blob-size:test');
11
12
 
12
13
  generateTests({
@@ -33,6 +34,10 @@ generateTests({
33
34
  },
34
35
  after: async () => {
35
36
  //debug(`<< After`);
37
+ // close the operators the tests opened (one per test) before the server
38
+ for (const op of openedOperators) {
39
+ await op.close();
40
+ }
36
41
  await mongoFixtures.close();
37
42
  }
38
43
  }
@@ -59,6 +64,7 @@ async function callback(callbackParams: Record<string, any>) {
59
64
  } = callbackParams;
60
65
 
61
66
  const mongoOperator = await getMongoOperator(mongoFixtures);
67
+ openedOperators.push(mongoOperator);
62
68
  const expectedResult = await getFixture('expectedResult.json');
63
69
 
64
70
  await doPreFillDb(preFillDb);
@@ -8,6 +8,7 @@ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.
8
8
 
9
9
 
10
10
  let mongoFixtures: any;
11
+ const openedOperators: any[] = [];
11
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-import-job-state:test');
12
13
 
13
14
  generateTests({
@@ -34,6 +35,10 @@ generateTests({
34
35
  },
35
36
  after: async () => {
36
37
  //debug(`<< After`);
38
+ // close the operators the tests opened (one per test) before the server
39
+ for (const op of openedOperators) {
40
+ await op.close();
41
+ }
37
42
  await mongoFixtures.close();
38
43
  }
39
44
  }
@@ -60,6 +65,7 @@ async function callback(callbackParams: Record<string, any>) {
60
65
  } = callbackParams;
61
66
 
62
67
  const mongoOperator = await getMongoOperator(mongoFixtures);
68
+ openedOperators.push(mongoOperator);
63
69
  const expectedResult = await getFixture('expectedResult.json');
64
70
 
65
71
  await doPreFillDb(preFillDb);
@@ -7,6 +7,7 @@ import createDebugLogger from 'debug';
7
7
  import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
9
  let mongoFixtures: any;
10
+ const openedOperators: any[] = [];
10
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-operation:test');
11
12
 
12
13
  generateTests({
@@ -33,6 +34,10 @@ generateTests({
33
34
  },
34
35
  after: async () => {
35
36
  //debug(`<< After`);
37
+ // close the operators the tests opened (one per test) before the server
38
+ for (const op of openedOperators) {
39
+ await op.close();
40
+ }
36
41
  await mongoFixtures.close();
37
42
  }
38
43
  }
@@ -59,6 +64,7 @@ async function callback(callbackParams: Record<string, any>) {
59
64
  } = callbackParams;
60
65
 
61
66
  const mongoOperator = await getMongoOperator(mongoFixtures);
67
+ openedOperators.push(mongoOperator);
62
68
  const expectedResult = await getFixture('expectedResult.json');
63
69
 
64
70
  await doPreFillDb(preFillDb);
@@ -7,6 +7,7 @@ import createDebugLogger from 'debug';
7
7
  import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
9
  let mongoFixtures: any;
10
+ const openedOperators: any[] = [];
10
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-operations:test');
11
12
 
12
13
  generateTests({
@@ -33,6 +34,10 @@ generateTests({
33
34
  },
34
35
  after: async () => {
35
36
  //debug(`<< After`);
37
+ // close the operators the tests opened (one per test) before the server
38
+ for (const op of openedOperators) {
39
+ await op.close();
40
+ }
36
41
  await mongoFixtures.close();
37
42
  }
38
43
  }
@@ -59,6 +64,7 @@ async function callback(callbackParams: Record<string, any>) {
59
64
  } = callbackParams;
60
65
 
61
66
  const mongoOperator = await getMongoOperator(mongoFixtures);
67
+ openedOperators.push(mongoOperator);
62
68
  const expectedResult = await getFixture('expectedResult.json');
63
69
 
64
70
  await doPreFillDb(preFillDb);
@@ -8,6 +8,7 @@ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.
8
8
 
9
9
 
10
10
  let mongoFixtures: any;
11
+ const openedOperators: any[] = [];
11
12
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-state:test');
12
13
 
13
14
  generateTests({
@@ -34,6 +35,10 @@ generateTests({
34
35
  },
35
36
  after: async () => {
36
37
  //debug(`<< After`);
38
+ // close the operators the tests opened (one per test) before the server
39
+ for (const op of openedOperators) {
40
+ await op.close();
41
+ }
37
42
  await mongoFixtures.close();
38
43
  }
39
44
  }
@@ -60,6 +65,7 @@ async function callback(callbackParams: Record<string, any>) {
60
65
  } = callbackParams;
61
66
 
62
67
  const mongoOperator = await getMongoOperator(mongoFixtures);
68
+ openedOperators.push(mongoOperator);
63
69
  const expectedResult = await getFixture('expectedResult.json');
64
70
 
65
71
  await doPreFillDb(preFillDb);
@@ -26,6 +26,7 @@ async function initMongofixtures() {
26
26
 
27
27
  async function cleanup() {
28
28
  await mongoFixtures.clear();
29
+ await mongoLogOperator.close();
29
30
  await mongoFixtures.close();
30
31
  }
31
32
 
@@ -6,6 +6,7 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
6
6
  import createMongoLogOperator from '../src/mongoLog.ts';
7
7
 
8
8
  let mongoFixtures: any;
9
+ const openedOperators: any[] = [];
9
10
 
10
11
  generateTests({
11
12
  callback,
@@ -23,6 +24,10 @@ generateTests({
23
24
  beforeEach: () => mongoFixtures.clear(),
24
25
  afterEach: () => mongoFixtures.clear(),
25
26
  after: async () => {
27
+ // close the operators the tests opened (one per test) before the server
28
+ for (const op of openedOperators) {
29
+ await op.close();
30
+ }
26
31
  await mongoFixtures.close();
27
32
  }
28
33
  }
@@ -58,6 +63,7 @@ async function callback(callbackParams: Record<string, any>) {
58
63
  } = callbackParams;
59
64
  const mongoUri = await mongoFixtures.getUri();
60
65
  const mongoLogOperator = await createMongoLogOperator(mongoUri, '');
66
+ openedOperators.push(mongoLogOperator);
61
67
  const expectedResult = expectError ? undefined : await getFixture('expectedResult.json');
62
68
 
63
69
  if (expectError) {