@natlibfi/melinda-rest-api-commons 6.0.1 → 6.2.0-alpha.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.
Files changed (94) hide show
  1. package/.github/workflows/melinda-node-tests-and-publish.yml +4 -2
  2. package/README.md +82 -0
  3. package/dist/amqp.d.ts +41 -0
  4. package/dist/amqp.d.ts.map +1 -0
  5. package/dist/amqp.js +242 -218
  6. package/dist/amqp.js.map +1 -7
  7. package/dist/constants.d.ts +49 -0
  8. package/dist/constants.d.ts.map +1 -0
  9. package/dist/constants.js +38 -38
  10. package/dist/constants.js.map +1 -7
  11. package/dist/helpers/conversion.d.ts +8 -0
  12. package/dist/helpers/conversion.d.ts.map +1 -0
  13. package/dist/helpers/conversion.js +70 -65
  14. package/dist/helpers/conversion.js.map +1 -7
  15. package/dist/helpers/fix-constants.d.ts +76 -0
  16. package/dist/helpers/fix-constants.d.ts.map +1 -0
  17. package/dist/helpers/fix-constants.js +41 -41
  18. package/dist/helpers/fix-constants.js.map +1 -7
  19. package/dist/helpers/fix-handle-tempurns.d.ts +3 -0
  20. package/dist/helpers/fix-handle-tempurns.d.ts.map +1 -0
  21. package/dist/helpers/fix-handle-tempurns.js +73 -71
  22. package/dist/helpers/fix-handle-tempurns.js.map +1 -7
  23. package/dist/helpers/fix-strip-f884s.d.ts +10 -0
  24. package/dist/helpers/fix-strip-f884s.d.ts.map +1 -0
  25. package/dist/helpers/fix-strip-f884s.js +163 -151
  26. package/dist/helpers/fix-strip-f884s.js.map +1 -7
  27. package/dist/helpers/fix.d.ts +6 -0
  28. package/dist/helpers/fix.d.ts.map +1 -0
  29. package/dist/helpers/fix.js +133 -117
  30. package/dist/helpers/fix.js.map +1 -7
  31. package/dist/helpers/validation.d.ts +9 -0
  32. package/dist/helpers/validation.d.ts.map +1 -0
  33. package/dist/helpers/validation.js +14 -16
  34. package/dist/helpers/validation.js.map +1 -7
  35. package/dist/index.d.ts +13 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +1 -1
  38. package/dist/index.js.map +1 -7
  39. package/dist/mongo.d.ts +165 -0
  40. package/dist/mongo.d.ts.map +1 -0
  41. package/dist/mongo.js +603 -464
  42. package/dist/mongo.js.map +1 -7
  43. package/dist/mongoError.d.ts +2 -0
  44. package/dist/mongoError.d.ts.map +1 -0
  45. package/dist/mongoError.js +19 -0
  46. package/dist/mongoError.js.map +1 -0
  47. package/dist/mongoLog.d.ts +50 -0
  48. package/dist/mongoLog.d.ts.map +1 -0
  49. package/dist/mongoLog.js +282 -172
  50. package/dist/mongoLog.js.map +1 -7
  51. package/dist/utils.d.ts +36 -0
  52. package/dist/utils.d.ts.map +1 -0
  53. package/dist/utils.js +118 -87
  54. package/dist/utils.js.map +1 -7
  55. package/eslint.config.ts +66 -0
  56. package/package.json +23 -25
  57. package/test/amqp-error-branches.test.ts +551 -0
  58. package/{tests/amqp.healthtest.js → test/amqp.healthtest.ts} +19 -7
  59. package/{tests/amqp.tests.localtest.js → test/amqp.tests.localtest.ts} +66 -52
  60. package/{tests/helpers/conversion.test.js → test/helpers/conversion.test.ts} +39 -11
  61. package/test/helpers/fix-edge.test.ts +201 -0
  62. package/test/helpers/fix.test.ts +65 -0
  63. package/{tests/helpers/validation.test.js → test/helpers/validation.test.ts} +13 -8
  64. package/{tests/mongo-add-blob-size.test.js → test/mongo-add-blob-size.test.ts} +14 -15
  65. package/{tests/mongo-check-and-check-state.test.js → test/mongo-check-and-check-state.test.ts} +9 -9
  66. package/{tests/mongo-check-and-set-import-job-state.test.js → test/mongo-check-and-set-import-job-state.test.ts} +9 -10
  67. package/{tests/mongo-check-timeout.test.js → test/mongo-check-timeout.test.ts} +6 -9
  68. package/{tests/mongo-create-bulk.test.js → test/mongo-create-bulk.test.ts} +6 -7
  69. package/{tests/mongo-create-prio.test.js → test/mongo-create-prio.test.ts} +6 -6
  70. package/test/mongo-error-branches.test.ts +883 -0
  71. package/{tests/mongo-get-one.test.js → test/mongo-get-one.test.ts} +6 -6
  72. package/{tests/mongo-get-stream.test.js → test/mongo-get-stream.test.ts} +10 -9
  73. package/{tests/mongo-push-ids.test.js → test/mongo-push-ids.test.ts} +6 -6
  74. package/{tests/mongo-push-messages.test.js → test/mongo-push-messages.test.ts} +6 -6
  75. package/{tests/mongo-query-by-id.test.js → test/mongo-query-by-id.test.ts} +6 -9
  76. package/{tests/mongo-query.test.js → test/mongo-query.test.ts} +6 -7
  77. package/{tests/mongo-read-content.test.js → test/mongo-read-content.test.ts} +16 -9
  78. package/{tests/mongo-remove.test.js → test/mongo-remove.test.ts} +6 -8
  79. package/{tests/mongo-set-blob-size.test.js → test/mongo-set-blob-size.test.ts} +6 -6
  80. package/{tests/mongo-set-import-job-state.test.js → test/mongo-set-import-job-state.test.ts} +6 -6
  81. package/{tests/mongo-set-operation.test.js → test/mongo-set-operation.test.ts} +6 -6
  82. package/{tests/mongo-set-operations.test.js → test/mongo-set-operations.test.ts} +6 -6
  83. package/{tests/mongo-set-state.test.js → test/mongo-set-state.test.ts} +6 -6
  84. package/test/mongoLog-protect.test.ts +182 -0
  85. package/test/mongoLog.test.ts +191 -0
  86. package/{tests/testUtils.js → test/testUtils.ts} +49 -15
  87. package/test/utils.test.ts +360 -0
  88. package/tsconfig.json +62 -0
  89. package/tsconfig.test.json +17 -0
  90. package/dist/helpers/fix-utils.js +0 -39
  91. package/dist/helpers/fix-utils.js.map +0 -7
  92. package/eslint.config.js +0 -53
  93. package/tests/helpers/fix.test.js +0 -41
  94. package/tests/mongoLog.test.js +0 -84
@@ -4,10 +4,10 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError} from './testUtils.js';
7
+ import {getMongoOperator, handleError} from './testUtils.ts';
8
8
 
9
9
 
10
- let mongoFixtures; // eslint-disable-line functional/no-let
10
+ let mongoFixtures: any;
11
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:get-one:test');
12
12
 
13
13
  generateTests({
@@ -41,14 +41,14 @@ generateTests({
41
41
 
42
42
  async function initMongofixtures() {
43
43
  mongoFixtures = await mongoFixturesFactory({
44
- recurse: false,
45
44
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'get-one'],
46
45
  gridFS: {bucketName: 'foobar'},
47
46
  useObjectId: true
48
47
  });
49
48
  }
50
49
 
51
- async function callback({
50
+ async function callback(callbackParams: Record<string, any>) {
51
+ const {
52
52
  getFixture,
53
53
  functionName,
54
54
  params,
@@ -57,14 +57,14 @@ async function callback({
57
57
  expectedErrorMessage = '',
58
58
  expectedErrorStatus = '',
59
59
  expectedOpResult = undefined
60
- }) {
60
+ } = callbackParams;
61
61
 
62
62
  const mongoOperator = await getMongoOperator(mongoFixtures);
63
63
  //const expectedResult = await getFixture('expectedResult.json');
64
64
 
65
65
  await doPreFillDb(preFillDb);
66
66
 
67
- async function doPreFillDb(preFillDb) {
67
+ async function doPreFillDb(preFillDb: boolean) {
68
68
  if (preFillDb) {
69
69
  await mongoFixtures.populate(getFixture('dbContents.json'));
70
70
  return;
@@ -4,9 +4,9 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError, streamToString} from './testUtils.js';
7
+ import {getMongoOperator, handleError, streamToString} from './testUtils.ts';
8
8
 
9
- let mongoFixtures; // eslint-disable-line functional/no-let
9
+ let mongoFixtures: any;
10
10
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:get-stream:test');
11
11
 
12
12
  generateTests({
@@ -40,15 +40,14 @@ generateTests({
40
40
 
41
41
  async function initMongofixtures() {
42
42
  mongoFixtures = await mongoFixturesFactory({
43
- recurse: false,
44
43
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'get-stream'],
45
44
  gridFS: {bucketName: 'foobar'},
46
45
  useObjectId: true
47
46
  });
48
47
  }
49
48
 
50
- // eslint-disable-next-line max-statements
51
- async function callback({
49
+ async function callback(callbackParams: Record<string, any>) {
50
+ const {
52
51
  getFixture,
53
52
  functionName,
54
53
  params,
@@ -58,14 +57,14 @@ async function callback({
58
57
  expectedErrorStatus = '',
59
58
  contentStream = false,
60
59
  createBulkParams = undefined
61
- }) {
60
+ } = callbackParams;
62
61
 
63
62
  const mongoOperator = await getMongoOperator(mongoFixtures);
64
63
  //const expectedResult = await getFixture('expectedResult.json');
65
64
 
66
65
  await doPreFillDb(preFillDb);
67
66
 
68
- async function doPreFillDb(preFillDb) {
67
+ async function doPreFillDb(preFillDb: boolean) {
69
68
  if (preFillDb) {
70
69
  await mongoFixtures.populate(getFixture('dbContents.json'));
71
70
  return;
@@ -80,7 +79,6 @@ async function callback({
80
79
  debug(JSON.stringify(params));
81
80
  //correlationId
82
81
 
83
- // eslint-disable-next-line functional/no-conditional-statements
84
82
  if (createBulkParams) {
85
83
  const stream = contentStream ? await getFixture({components: ['contentStream'], reader: READERS.STREAM}) : createBulkParams.stream;
86
84
  //debug(stream);
@@ -90,7 +88,10 @@ async function callback({
90
88
  }
91
89
  //const {correlationId} = params;
92
90
 
93
- const opResult = mongoOperator.getStream(params);
91
+ // getStream is now async (it pre-checks file existence and
92
+ // throws 404 for a missing file instead of returning a stream that
93
+ // emits an unhandled 'error' event)
94
+ const opResult = await mongoOperator.getStream(params);
94
95
  const opResultString = await streamToString(opResult);
95
96
 
96
97
  if (contentStream) {
@@ -3,10 +3,10 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
3
3
  import generateTests from '@natlibfi/fixugen';
4
4
  import createDebugLogger from 'debug';
5
5
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
6
- import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.js';
6
+ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
7
7
 
8
8
 
9
- let mongoFixtures; // eslint-disable-line functional/no-let
9
+ let mongoFixtures: any;
10
10
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:push-ids:test');
11
11
 
12
12
  generateTests({
@@ -40,14 +40,14 @@ generateTests({
40
40
 
41
41
  async function initMongofixtures() {
42
42
  mongoFixtures = await mongoFixturesFactory({
43
- recurse: false,
44
43
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'push-ids'],
45
44
  gridFS: {bucketName: 'foobar'},
46
45
  useObjectId: true
47
46
  });
48
47
  }
49
48
 
50
- async function callback({
49
+ async function callback(callbackParams: Record<string, any>) {
50
+ const {
51
51
  getFixture,
52
52
  functionName,
53
53
  params,
@@ -56,14 +56,14 @@ async function callback({
56
56
  expectedToThrow = false,
57
57
  expectedErrorMessage = '',
58
58
  expectedErrorStatus = ''
59
- }) {
59
+ } = callbackParams;
60
60
 
61
61
  const mongoOperator = await getMongoOperator(mongoFixtures);
62
62
  const expectedResult = await getFixture('expectedResult.json');
63
63
 
64
64
  await doPreFillDb(preFillDb);
65
65
 
66
- async function doPreFillDb(preFillDb) {
66
+ async function doPreFillDb(preFillDb: boolean) {
67
67
  if (preFillDb) {
68
68
  await mongoFixtures.populate(getFixture('dbContents.json'));
69
69
  return;
@@ -4,9 +4,9 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.js';
7
+ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
- let mongoFixtures; // eslint-disable-line functional/no-let
9
+ let mongoFixtures: any;
10
10
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:push-messages:test');
11
11
 
12
12
  generateTests({
@@ -40,14 +40,14 @@ generateTests({
40
40
 
41
41
  async function initMongofixtures() {
42
42
  mongoFixtures = await mongoFixturesFactory({
43
- recurse: false,
44
43
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'push-messages'],
45
44
  gridFS: {bucketName: 'foobar'},
46
45
  useObjectId: true
47
46
  });
48
47
  }
49
48
 
50
- async function callback({
49
+ async function callback(callbackParams: Record<string, any>) {
50
+ const {
51
51
  getFixture,
52
52
  functionName,
53
53
  params,
@@ -56,14 +56,14 @@ async function callback({
56
56
  expectedToThrow = false,
57
57
  expectedErrorMessage = '',
58
58
  expectedErrorStatus = ''
59
- }) {
59
+ } = callbackParams;
60
60
 
61
61
  const mongoOperator = await getMongoOperator(mongoFixtures);
62
62
  const expectedResult = await getFixture('expectedResult.json');
63
63
 
64
64
  await doPreFillDb(preFillDb);
65
65
 
66
- async function doPreFillDb(preFillDb) {
66
+ async function doPreFillDb(preFillDb: boolean) {
67
67
  if (preFillDb) {
68
68
  await mongoFixtures.populate(getFixture('dbContents.json'));
69
69
  return;
@@ -4,10 +4,10 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError, compareToDbEntry, formatQueueItem} from './testUtils.js';
7
+ import {getMongoOperator, handleError, compareToDbEntry, formatQueueItem} from './testUtils.ts';
8
8
 
9
9
 
10
- let mongoFixtures; // eslint-disable-line functional/no-let
10
+ let mongoFixtures: any;
11
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:query-by-id:test');
12
12
 
13
13
  generateTests({
@@ -41,15 +41,14 @@ generateTests({
41
41
 
42
42
  async function initMongofixtures() {
43
43
  mongoFixtures = await mongoFixturesFactory({
44
- recurse: false,
45
44
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'query-by-id'],
46
45
  gridFS: {bucketName: 'foobar'},
47
46
  useObjectId: true
48
47
  });
49
48
  }
50
49
 
51
- // eslint-disable-next-line max-statements
52
- async function callback({
50
+ async function callback(callbackParams: Record<string, any>) {
51
+ const {
53
52
  getFixture,
54
53
  functionName,
55
54
  params,
@@ -61,14 +60,14 @@ async function callback({
61
60
  expectedOpResult = undefined,
62
61
  updateStateBeforeTest = undefined,
63
62
  resultIndex = undefined
64
- }) {
63
+ } = callbackParams;
65
64
 
66
65
  const mongoOperator = await getMongoOperator(mongoFixtures);
67
66
  const expectedResult = await getFixture('expectedResult.json');
68
67
 
69
68
  await doPreFillDb(preFillDb);
70
69
 
71
- async function doPreFillDb(preFillDb) {
70
+ async function doPreFillDb(preFillDb: boolean) {
72
71
  if (preFillDb) {
73
72
  await mongoFixtures.populate(getFixture('dbContents.json'));
74
73
  return;
@@ -82,14 +81,12 @@ async function callback({
82
81
  debug(`queryById`);
83
82
  debug(JSON.stringify(params));
84
83
  //{correlationId, checkModTime = false}
85
- // eslint-disable-next-line functional/no-conditional-statements
86
84
  if (updateStateBeforeTest && params.correlationId) {
87
85
  debug(`setState to reset modificationTime`);
88
86
  await mongoOperator.setState({correlationId: params.correlationId, state: updateStateBeforeTest});
89
87
  }
90
88
  const opResult = await mongoOperator.queryById(params);
91
89
  debug(`queryById result: ${JSON.stringify(opResult)} (it should be: ${JSON.stringify(expectedOpResult)})}`);
92
- // eslint-disable-next-line functional/no-conditional-statements
93
90
  if (expectedOpResult !== undefined) {
94
91
  assert.deepStrictEqual(formatQueueItem(opResult), formatQueueItem(expectedOpResult));
95
92
  }
@@ -4,9 +4,9 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError} from './testUtils.js';
7
+ import {getMongoOperator, handleError} from './testUtils.ts';
8
8
 
9
- let mongoFixtures; // eslint-disable-line functional/no-let
9
+ let mongoFixtures: any;
10
10
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:test');
11
11
 
12
12
  generateTests({
@@ -40,14 +40,14 @@ generateTests({
40
40
 
41
41
  async function initMongofixtures() {
42
42
  mongoFixtures = await mongoFixturesFactory({
43
- recurse: false,
44
43
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'query'],
45
44
  gridFS: {bucketName: 'foobar'},
46
45
  useObjectId: true
47
46
  });
48
47
  }
49
48
 
50
- async function callback({
49
+ async function callback(callbackParams: Record<string, any>) {
50
+ const {
51
51
  getFixture,
52
52
  functionName,
53
53
  params,
@@ -56,14 +56,14 @@ async function callback({
56
56
  expectedErrorMessage = '',
57
57
  expectedErrorStatus = '',
58
58
  expectedOpResult = undefined
59
- }) {
59
+ } = callbackParams;
60
60
 
61
61
  const mongoOperator = await getMongoOperator(mongoFixtures);
62
62
  //const expectedResult = await getFixture('expectedResult.json');
63
63
 
64
64
  await doPreFillDb(preFillDb);
65
65
 
66
- async function doPreFillDb(preFillDb) {
66
+ async function doPreFillDb(preFillDb: boolean) {
67
67
  if (preFillDb) {
68
68
  await mongoFixtures.populate(getFixture('dbContents.json'));
69
69
  return;
@@ -83,7 +83,6 @@ async function callback({
83
83
  debug(`${JSON.stringify(params.showParams)}`);
84
84
  const opResult = await mongoOperator.query(params.params, params.showParams);
85
85
  debug(`query result: ${JSON.stringify(opResult)} (it should be: ${JSON.stringify(expectedOpResult)})}`);
86
- // eslint-disable-next-line functional/no-conditional-statements
87
86
  if (expectedOpResult !== undefined) {
88
87
  assert.deepStrictEqual(opResult, expectedOpResult);
89
88
  }
@@ -4,10 +4,10 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError, streamToString} from './testUtils.js';
7
+ import {getMongoOperator, handleError, streamToString} from './testUtils.ts';
8
8
 
9
9
 
10
- let mongoFixtures; // eslint-disable-line functional/no-let
10
+ let mongoFixtures: any;
11
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:read-content:test');
12
12
 
13
13
  generateTests({
@@ -41,15 +41,14 @@ generateTests({
41
41
 
42
42
  async function initMongofixtures() {
43
43
  mongoFixtures = await mongoFixturesFactory({
44
- recurse: false,
45
44
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'read-content'],
46
45
  gridFS: {bucketName: 'foobar'},
47
46
  useObjectId: true
48
47
  });
49
48
  }
50
49
 
51
- // eslint-disable-next-line max-statements
52
- async function callback({
50
+ async function callback(callbackParams: Record<string, any>) {
51
+ const {
53
52
  getFixture,
54
53
  functionName,
55
54
  params,
@@ -59,16 +58,26 @@ async function callback({
59
58
  expectedErrorStatus = '',
60
59
  contentStream = false,
61
60
  createBulkParams = undefined
62
- }) {
61
+ } = callbackParams;
63
62
 
64
63
  const mongoOperator = await getMongoOperator(mongoFixtures);
65
64
  //const expectedResult = await getFixture('expectedResult.json');
66
65
 
67
66
  await doPreFillDb(preFillDb);
68
67
 
69
- async function doPreFillDb(preFillDb) {
68
+ async function doPreFillDb(preFillDb: boolean) {
70
69
  if (preFillDb) {
71
70
  await mongoFixtures.populate(getFixture('dbContents.json'));
71
+ // optional gridFSFiles.json uploads GridFS files (filename -> content)
72
+ let gridFSFiles = undefined;
73
+ try {
74
+ gridFSFiles = getFixture('gridFSFiles.json');
75
+ } catch {
76
+ // no GridFS files for this fixture
77
+ }
78
+ if (gridFSFiles) {
79
+ await mongoFixtures.populateFiles(gridFSFiles);
80
+ }
72
81
  return;
73
82
  }
74
83
  return;
@@ -81,7 +90,6 @@ async function callback({
81
90
  debug(JSON.stringify(params));
82
91
  //correlationId
83
92
 
84
- // eslint-disable-next-line functional/no-conditional-statements
85
93
  if (createBulkParams) {
86
94
  const stream = contentStream ? await getFixture({components: ['contentStream'], reader: READERS.STREAM}) : createBulkParams.stream;
87
95
  //debug(stream);
@@ -93,7 +101,6 @@ async function callback({
93
101
  const opResult = await mongoOperator.readContent(params);
94
102
  const opResultString = await streamToString(opResult.readStream);
95
103
 
96
- // eslint-disable-next-line functional/no-conditional-statements
97
104
  if (createBulkParams && createBulkParams.contentType) {
98
105
  assert.equal(opResult.contentType, createBulkParams.contentType);
99
106
  }
@@ -4,10 +4,10 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.js';
7
+ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
9
 
10
- let mongoFixtures; // eslint-disable-line functional/no-let
10
+ let mongoFixtures: any;
11
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:remove:test');
12
12
 
13
13
  generateTests({
@@ -41,15 +41,14 @@ generateTests({
41
41
 
42
42
  async function initMongofixtures() {
43
43
  mongoFixtures = await mongoFixturesFactory({
44
- recurse: false,
45
44
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'remove'],
46
45
  gridFS: {bucketName: 'foobar'},
47
46
  useObjectId: true
48
47
  });
49
48
  }
50
49
 
51
- // eslint-disable-next-line max-statements
52
- async function callback({
50
+ async function callback(callbackParams: Record<string, any>) {
51
+ const {
53
52
  getFixture,
54
53
  functionName,
55
54
  params,
@@ -62,14 +61,14 @@ async function callback({
62
61
  createBulkParams = undefined,
63
62
  expectedFileCount = undefined,
64
63
  expectUndefined = undefined
65
- }) {
64
+ } = callbackParams;
66
65
 
67
66
  const mongoOperator = await getMongoOperator(mongoFixtures);
68
67
  const expectedResult = await getFixture('expectedResult.json');
69
68
 
70
69
  await doPreFillDb(preFillDb);
71
70
 
72
- async function doPreFillDb(preFillDb) {
71
+ async function doPreFillDb(preFillDb: boolean) {
73
72
  if (preFillDb) {
74
73
  await mongoFixtures.populate(getFixture('dbContents.json'));
75
74
  return;
@@ -85,7 +84,6 @@ async function callback({
85
84
  debug(JSON.stringify(params));
86
85
  //params: {correlationId}
87
86
 
88
- // eslint-disable-next-line functional/no-conditional-statements
89
87
  if (createBulkParams) {
90
88
  const stream = contentStream ? await getFixture({components: ['contentStream'], reader: READERS.STREAM}) : createBulkParams.stream;
91
89
  //debug(stream);
@@ -4,9 +4,9 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.js';
7
+ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
- let mongoFixtures; // eslint-disable-line functional/no-let
9
+ let mongoFixtures: any;
10
10
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-blob-size:test');
11
11
 
12
12
  generateTests({
@@ -40,14 +40,14 @@ generateTests({
40
40
 
41
41
  async function initMongofixtures() {
42
42
  mongoFixtures = await mongoFixturesFactory({
43
- recurse: false,
44
43
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'set-blob-size'],
45
44
  gridFS: {bucketName: 'foobar'},
46
45
  useObjectId: true
47
46
  });
48
47
  }
49
48
 
50
- async function callback({
49
+ async function callback(callbackParams: Record<string, any>) {
50
+ const {
51
51
  getFixture,
52
52
  functionName,
53
53
  params,
@@ -56,14 +56,14 @@ async function callback({
56
56
  expectedToThrow = false,
57
57
  expectedErrorMessage = '',
58
58
  expectedErrorStatus = ''
59
- }) {
59
+ } = callbackParams;
60
60
 
61
61
  const mongoOperator = await getMongoOperator(mongoFixtures);
62
62
  const expectedResult = await getFixture('expectedResult.json');
63
63
 
64
64
  await doPreFillDb(preFillDb);
65
65
 
66
- async function doPreFillDb(preFillDb) {
66
+ async function doPreFillDb(preFillDb: boolean) {
67
67
  if (preFillDb) {
68
68
  await mongoFixtures.populate(getFixture('dbContents.json'));
69
69
  return;
@@ -4,10 +4,10 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.js';
7
+ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
9
 
10
- let mongoFixtures; // eslint-disable-line functional/no-let
10
+ let mongoFixtures: any;
11
11
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-import-job-state:test');
12
12
 
13
13
  generateTests({
@@ -41,14 +41,14 @@ generateTests({
41
41
 
42
42
  async function initMongofixtures() {
43
43
  mongoFixtures = await mongoFixturesFactory({
44
- recurse: false,
45
44
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'set-import-job-state'],
46
45
  gridFS: {bucketName: 'foobar'},
47
46
  useObjectId: true
48
47
  });
49
48
  }
50
49
 
51
- async function callback({
50
+ async function callback(callbackParams: Record<string, any>) {
51
+ const {
52
52
  getFixture,
53
53
  functionName,
54
54
  params,
@@ -57,14 +57,14 @@ async function callback({
57
57
  expectedToThrow = false,
58
58
  expectedErrorMessage = '',
59
59
  expectedErrorStatus = ''
60
- }) {
60
+ } = callbackParams;
61
61
 
62
62
  const mongoOperator = await getMongoOperator(mongoFixtures);
63
63
  const expectedResult = await getFixture('expectedResult.json');
64
64
 
65
65
  await doPreFillDb(preFillDb);
66
66
 
67
- async function doPreFillDb(preFillDb) {
67
+ async function doPreFillDb(preFillDb: boolean) {
68
68
  if (preFillDb) {
69
69
  await mongoFixtures.populate(getFixture('dbContents.json'));
70
70
  return;
@@ -4,9 +4,9 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.js';
7
+ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
- let mongoFixtures; // eslint-disable-line functional/no-let
9
+ let mongoFixtures: any;
10
10
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-operation:test');
11
11
 
12
12
  generateTests({
@@ -40,14 +40,14 @@ generateTests({
40
40
 
41
41
  async function initMongofixtures() {
42
42
  mongoFixtures = await mongoFixturesFactory({
43
- recurse: false,
44
43
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'set-operation'],
45
44
  gridFS: {bucketName: 'foobar'},
46
45
  useObjectId: true
47
46
  });
48
47
  }
49
48
 
50
- async function callback({
49
+ async function callback(callbackParams: Record<string, any>) {
50
+ const {
51
51
  getFixture,
52
52
  functionName,
53
53
  params,
@@ -56,14 +56,14 @@ async function callback({
56
56
  expectedToThrow = false,
57
57
  expectedErrorMessage = '',
58
58
  expectedErrorStatus = ''
59
- }) {
59
+ } = callbackParams;
60
60
 
61
61
  const mongoOperator = await getMongoOperator(mongoFixtures);
62
62
  const expectedResult = await getFixture('expectedResult.json');
63
63
 
64
64
  await doPreFillDb(preFillDb);
65
65
 
66
- async function doPreFillDb(preFillDb) {
66
+ async function doPreFillDb(preFillDb: boolean) {
67
67
  if (preFillDb) {
68
68
  await mongoFixtures.populate(getFixture('dbContents.json'));
69
69
  return;
@@ -4,9 +4,9 @@ import mongoFixturesFactory from '@natlibfi/fixura-mongo';
4
4
  import generateTests from '@natlibfi/fixugen';
5
5
  import createDebugLogger from 'debug';
6
6
  //import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils.js';
7
- import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.js';
7
+ import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
8
8
 
9
- let mongoFixtures; // eslint-disable-line functional/no-let
9
+ let mongoFixtures: any;
10
10
  const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-operations:test');
11
11
 
12
12
  generateTests({
@@ -40,14 +40,14 @@ generateTests({
40
40
 
41
41
  async function initMongofixtures() {
42
42
  mongoFixtures = await mongoFixturesFactory({
43
- recurse: false,
44
43
  rootPath: [import.meta.dirname, '..', 'test-fixtures', 'mongo', 'set-operations'],
45
44
  gridFS: {bucketName: 'foobar'},
46
45
  useObjectId: true
47
46
  });
48
47
  }
49
48
 
50
- async function callback({
49
+ async function callback(callbackParams: Record<string, any>) {
50
+ const {
51
51
  getFixture,
52
52
  functionName,
53
53
  params,
@@ -56,14 +56,14 @@ async function callback({
56
56
  expectedToThrow = false,
57
57
  expectedErrorMessage = '',
58
58
  expectedErrorStatus = ''
59
- }) {
59
+ } = callbackParams;
60
60
 
61
61
  const mongoOperator = await getMongoOperator(mongoFixtures);
62
62
  const expectedResult = await getFixture('expectedResult.json');
63
63
 
64
64
  await doPreFillDb(preFillDb);
65
65
 
66
- async function doPreFillDb(preFillDb) {
66
+ async function doPreFillDb(preFillDb: boolean) {
67
67
  if (preFillDb) {
68
68
  await mongoFixtures.populate(getFixture('dbContents.json'));
69
69
  return;