@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.
- package/.github/workflows/melinda-node-tests-and-publish.yml +4 -2
- package/README.md +82 -0
- package/dist/amqp.d.ts +41 -0
- package/dist/amqp.d.ts.map +1 -0
- package/dist/amqp.js +242 -218
- package/dist/amqp.js.map +1 -7
- package/dist/constants.d.ts +49 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +38 -38
- package/dist/constants.js.map +1 -7
- package/dist/helpers/conversion.d.ts +8 -0
- package/dist/helpers/conversion.d.ts.map +1 -0
- package/dist/helpers/conversion.js +70 -65
- package/dist/helpers/conversion.js.map +1 -7
- package/dist/helpers/fix-constants.d.ts +76 -0
- package/dist/helpers/fix-constants.d.ts.map +1 -0
- package/dist/helpers/fix-constants.js +41 -41
- package/dist/helpers/fix-constants.js.map +1 -7
- package/dist/helpers/fix-handle-tempurns.d.ts +3 -0
- package/dist/helpers/fix-handle-tempurns.d.ts.map +1 -0
- package/dist/helpers/fix-handle-tempurns.js +73 -71
- package/dist/helpers/fix-handle-tempurns.js.map +1 -7
- package/dist/helpers/fix-strip-f884s.d.ts +10 -0
- package/dist/helpers/fix-strip-f884s.d.ts.map +1 -0
- package/dist/helpers/fix-strip-f884s.js +163 -151
- package/dist/helpers/fix-strip-f884s.js.map +1 -7
- package/dist/helpers/fix.d.ts +6 -0
- package/dist/helpers/fix.d.ts.map +1 -0
- package/dist/helpers/fix.js +133 -117
- package/dist/helpers/fix.js.map +1 -7
- package/dist/helpers/validation.d.ts +9 -0
- package/dist/helpers/validation.d.ts.map +1 -0
- package/dist/helpers/validation.js +14 -16
- package/dist/helpers/validation.js.map +1 -7
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -7
- package/dist/mongo.d.ts +165 -0
- package/dist/mongo.d.ts.map +1 -0
- package/dist/mongo.js +603 -464
- package/dist/mongo.js.map +1 -7
- package/dist/mongoError.d.ts +2 -0
- package/dist/mongoError.d.ts.map +1 -0
- package/dist/mongoError.js +19 -0
- package/dist/mongoError.js.map +1 -0
- package/dist/mongoLog.d.ts +50 -0
- package/dist/mongoLog.d.ts.map +1 -0
- package/dist/mongoLog.js +282 -172
- package/dist/mongoLog.js.map +1 -7
- package/dist/utils.d.ts +36 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +118 -87
- package/dist/utils.js.map +1 -7
- package/eslint.config.ts +66 -0
- package/package.json +23 -25
- package/test/amqp-error-branches.test.ts +551 -0
- package/{tests/amqp.healthtest.js → test/amqp.healthtest.ts} +19 -7
- package/{tests/amqp.tests.localtest.js → test/amqp.tests.localtest.ts} +66 -52
- package/{tests/helpers/conversion.test.js → test/helpers/conversion.test.ts} +39 -11
- package/test/helpers/fix-edge.test.ts +201 -0
- package/test/helpers/fix.test.ts +65 -0
- package/{tests/helpers/validation.test.js → test/helpers/validation.test.ts} +13 -8
- package/{tests/mongo-add-blob-size.test.js → test/mongo-add-blob-size.test.ts} +14 -15
- package/{tests/mongo-check-and-check-state.test.js → test/mongo-check-and-check-state.test.ts} +9 -9
- package/{tests/mongo-check-and-set-import-job-state.test.js → test/mongo-check-and-set-import-job-state.test.ts} +9 -10
- package/{tests/mongo-check-timeout.test.js → test/mongo-check-timeout.test.ts} +6 -9
- package/{tests/mongo-create-bulk.test.js → test/mongo-create-bulk.test.ts} +6 -7
- package/{tests/mongo-create-prio.test.js → test/mongo-create-prio.test.ts} +6 -6
- package/test/mongo-error-branches.test.ts +883 -0
- package/{tests/mongo-get-one.test.js → test/mongo-get-one.test.ts} +6 -6
- package/{tests/mongo-get-stream.test.js → test/mongo-get-stream.test.ts} +10 -9
- package/{tests/mongo-push-ids.test.js → test/mongo-push-ids.test.ts} +6 -6
- package/{tests/mongo-push-messages.test.js → test/mongo-push-messages.test.ts} +6 -6
- package/{tests/mongo-query-by-id.test.js → test/mongo-query-by-id.test.ts} +6 -9
- package/{tests/mongo-query.test.js → test/mongo-query.test.ts} +6 -7
- package/{tests/mongo-read-content.test.js → test/mongo-read-content.test.ts} +16 -9
- package/{tests/mongo-remove.test.js → test/mongo-remove.test.ts} +6 -8
- package/{tests/mongo-set-blob-size.test.js → test/mongo-set-blob-size.test.ts} +6 -6
- package/{tests/mongo-set-import-job-state.test.js → test/mongo-set-import-job-state.test.ts} +6 -6
- package/{tests/mongo-set-operation.test.js → test/mongo-set-operation.test.ts} +6 -6
- package/{tests/mongo-set-operations.test.js → test/mongo-set-operations.test.ts} +6 -6
- package/{tests/mongo-set-state.test.js → test/mongo-set-state.test.ts} +6 -6
- package/test/mongoLog-protect.test.ts +182 -0
- package/test/mongoLog.test.ts +191 -0
- package/{tests/testUtils.js → test/testUtils.ts} +49 -15
- package/test/utils.test.ts +360 -0
- package/tsconfig.json +62 -0
- package/tsconfig.test.json +17 -0
- package/dist/helpers/fix-utils.js +0 -39
- package/dist/helpers/fix-utils.js.map +0 -7
- package/eslint.config.js +0 -53
- package/tests/helpers/fix.test.js +0 -41
- 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.
|
|
7
|
+
import {getMongoOperator, handleError} from './testUtils.ts';
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
let mongoFixtures;
|
|
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.
|
|
7
|
+
import {getMongoOperator, handleError, streamToString} from './testUtils.ts';
|
|
8
8
|
|
|
9
|
-
let mongoFixtures;
|
|
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
|
-
|
|
51
|
-
|
|
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
|
-
|
|
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.
|
|
6
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
let mongoFixtures;
|
|
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.
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
|
|
8
8
|
|
|
9
|
-
let mongoFixtures;
|
|
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.
|
|
7
|
+
import {getMongoOperator, handleError, compareToDbEntry, formatQueueItem} from './testUtils.ts';
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
let mongoFixtures;
|
|
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
|
-
|
|
52
|
-
|
|
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.
|
|
7
|
+
import {getMongoOperator, handleError} from './testUtils.ts';
|
|
8
8
|
|
|
9
|
-
let mongoFixtures;
|
|
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.
|
|
7
|
+
import {getMongoOperator, handleError, streamToString} from './testUtils.ts';
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
let mongoFixtures;
|
|
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
|
-
|
|
52
|
-
|
|
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.
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
let mongoFixtures;
|
|
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
|
-
|
|
52
|
-
|
|
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.
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
|
|
8
8
|
|
|
9
|
-
let mongoFixtures;
|
|
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;
|
package/{tests/mongo-set-import-job-state.test.js → test/mongo-set-import-job-state.test.ts}
RENAMED
|
@@ -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.
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
let mongoFixtures;
|
|
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.
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
|
|
8
8
|
|
|
9
|
-
let mongoFixtures;
|
|
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.
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils.ts';
|
|
8
8
|
|
|
9
|
-
let mongoFixtures;
|
|
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;
|