@natlibfi/melinda-rest-api-commons 4.2.4-alpha.8 → 4.2.4
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/package.json +15 -14
- package/{dist → tests}/amqp.health.spec.js +17 -10
- package/tests/amqp.tests.spec.js +301 -0
- package/tests/helpers/conversion.spec.js +95 -0
- package/tests/helpers/fix.spec.js +41 -0
- package/tests/helpers/validation.spec.js +58 -0
- package/tests/mongo-add-blob-size.spec.js +92 -0
- package/tests/mongo-check-and-check-state.spec.js +105 -0
- package/tests/mongo-check-and-set-import-job-state.spec.js +104 -0
- package/tests/mongo-check-timeout.spec.js +104 -0
- package/tests/mongo-create-bulk.spec.js +93 -0
- package/tests/mongo-create-prio.spec.js +89 -0
- package/tests/mongo-get-one.spec.js +93 -0
- package/tests/mongo-get-stream.spec.js +112 -0
- package/tests/mongo-push-ids.spec.js +91 -0
- package/tests/mongo-push-messages.spec.js +89 -0
- package/tests/mongo-query-by-id.spec.js +106 -0
- package/tests/mongo-query.spec.js +98 -0
- package/tests/mongo-read-content.spec.js +115 -0
- package/tests/mongo-remove.spec.js +110 -0
- package/tests/mongo-set-blob-size.spec.js +89 -0
- package/tests/mongo-set-import-job-state.spec.js +92 -0
- package/tests/mongo-set-operation.spec.js +92 -0
- package/tests/mongo-set-operations.spec.js +91 -0
- package/tests/mongo-set-state.spec.js +92 -0
- package/{dist → tests}/mongoLog.spec.js +22 -22
- package/tests/testUtils.js +102 -0
- package/dist/amqp.health.spec.js.map +0 -1
- package/dist/amqp.tests.spec.js +0 -310
- package/dist/amqp.tests.spec.js.map +0 -1
- package/dist/helpers/conversion.spec.js +0 -88
- package/dist/helpers/conversion.spec.js.map +0 -1
- package/dist/helpers/fix.spec.js +0 -46
- package/dist/helpers/fix.spec.js.map +0 -1
- package/dist/helpers/validation.spec.js +0 -47
- package/dist/helpers/validation.spec.js.map +0 -1
- package/dist/mongo.spec.js +0 -792
- package/dist/mongo.spec.js.map +0 -1
- package/dist/mongoLog.spec.js.map +0 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
//import {expect} from 'chai';
|
|
2
|
+
import {READERS} from '@natlibfi/fixura';
|
|
3
|
+
import mongoFixturesFactory from '@natlibfi/fixura-mongo';
|
|
4
|
+
import generateTests from '@natlibfi/fixugen';
|
|
5
|
+
import createDebugLogger from 'debug';
|
|
6
|
+
//import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils';
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils';
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
let mongoFixtures; // eslint-disable-line functional/no-let
|
|
11
|
+
const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:remove:test');
|
|
12
|
+
|
|
13
|
+
generateTests({
|
|
14
|
+
callback,
|
|
15
|
+
path: [__dirname, '..', 'test-fixtures', 'mongo', 'remove'],
|
|
16
|
+
recurse: false,
|
|
17
|
+
useMetadataFile: true,
|
|
18
|
+
fixura: {
|
|
19
|
+
failWhenNotFound: true,
|
|
20
|
+
reader: READERS.JSON
|
|
21
|
+
},
|
|
22
|
+
mocha: {
|
|
23
|
+
before: async () => {
|
|
24
|
+
//debug(`<< Before`);
|
|
25
|
+
await initMongofixtures();
|
|
26
|
+
},
|
|
27
|
+
beforeEach: async () => {
|
|
28
|
+
//debug(`<< BeforeEach`);
|
|
29
|
+
await mongoFixtures.clear();
|
|
30
|
+
},
|
|
31
|
+
afterEach: async () => {
|
|
32
|
+
//debug(`<< AfterEach`);
|
|
33
|
+
await mongoFixtures.clear();
|
|
34
|
+
},
|
|
35
|
+
after: async () => {
|
|
36
|
+
//debug(`<< After`);
|
|
37
|
+
await mongoFixtures.close();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
async function initMongofixtures() {
|
|
43
|
+
mongoFixtures = await mongoFixturesFactory({
|
|
44
|
+
recurse: false,
|
|
45
|
+
rootPath: [__dirname, '..', 'test-fixtures', 'mongo', 'remove'],
|
|
46
|
+
gridFS: {bucketName: 'foobar'},
|
|
47
|
+
useObjectId: true
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// eslint-disable-next-line max-statements
|
|
52
|
+
async function callback({
|
|
53
|
+
getFixture,
|
|
54
|
+
functionName,
|
|
55
|
+
params,
|
|
56
|
+
expectModificationTime = false,
|
|
57
|
+
preFillDb = false,
|
|
58
|
+
expectedToThrow = false,
|
|
59
|
+
expectedErrorMessage = '',
|
|
60
|
+
expectedErrorStatus = '',
|
|
61
|
+
contentStream = false,
|
|
62
|
+
createBulkParams = undefined,
|
|
63
|
+
expectedFileCount = undefined,
|
|
64
|
+
expectUndefined = undefined
|
|
65
|
+
}) {
|
|
66
|
+
|
|
67
|
+
const mongoOperator = await getMongoOperator(mongoFixtures);
|
|
68
|
+
const expectedResult = await getFixture('expectedResult.json');
|
|
69
|
+
|
|
70
|
+
await doPreFillDb(preFillDb);
|
|
71
|
+
|
|
72
|
+
async function doPreFillDb(preFillDb) {
|
|
73
|
+
if (preFillDb) {
|
|
74
|
+
await mongoFixtures.populate(getFixture('dbContents.json'));
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
if (functionName === 'remove') {
|
|
82
|
+
|
|
83
|
+
try {
|
|
84
|
+
debug(`remove`);
|
|
85
|
+
debug(JSON.stringify(params));
|
|
86
|
+
//params: {correlationId}
|
|
87
|
+
|
|
88
|
+
// eslint-disable-next-line functional/no-conditional-statements
|
|
89
|
+
if (createBulkParams) {
|
|
90
|
+
const stream = contentStream ? await getFixture({components: ['contentStream'], reader: READERS.STREAM}) : createBulkParams.stream;
|
|
91
|
+
//debug(stream);
|
|
92
|
+
const params2 = {...createBulkParams, stream};
|
|
93
|
+
const createBulkResult = await mongoOperator.createBulk(params2);
|
|
94
|
+
debug(`createBulkResult: ${JSON.stringify(createBulkResult)}`);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const opResult = await mongoOperator.remove(params);
|
|
98
|
+
debug(`remove result: ${JSON.stringify(opResult)}`);
|
|
99
|
+
debug(`expectUndefined: ${expectUndefined}`);
|
|
100
|
+
|
|
101
|
+
await compareToFirstDbEntry({mongoFixtures, expectedResult: expectUndefined ? undefined : expectedResult, expectModificationTime, formatDates: true, expectedFileCount});
|
|
102
|
+
|
|
103
|
+
} catch (error) {
|
|
104
|
+
handleError({error, expectedToThrow, expectedErrorMessage, expectedErrorStatus});
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
throw new Error(`Unknown functionName: ${functionName}`);
|
|
110
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
//import {expect} from 'chai';
|
|
2
|
+
import {READERS} from '@natlibfi/fixura';
|
|
3
|
+
import mongoFixturesFactory from '@natlibfi/fixura-mongo';
|
|
4
|
+
import generateTests from '@natlibfi/fixugen';
|
|
5
|
+
import createDebugLogger from 'debug';
|
|
6
|
+
//import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils';
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils';
|
|
8
|
+
|
|
9
|
+
let mongoFixtures; // eslint-disable-line functional/no-let
|
|
10
|
+
const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-blob-size:test');
|
|
11
|
+
|
|
12
|
+
generateTests({
|
|
13
|
+
callback,
|
|
14
|
+
path: [__dirname, '..', 'test-fixtures', 'mongo', 'set-blob-size'],
|
|
15
|
+
recurse: false,
|
|
16
|
+
useMetadataFile: true,
|
|
17
|
+
fixura: {
|
|
18
|
+
failWhenNotFound: true,
|
|
19
|
+
reader: READERS.JSON
|
|
20
|
+
},
|
|
21
|
+
mocha: {
|
|
22
|
+
before: async () => {
|
|
23
|
+
//debug(`<< Before`);
|
|
24
|
+
await initMongofixtures();
|
|
25
|
+
},
|
|
26
|
+
beforeEach: async () => {
|
|
27
|
+
//debug(`<< BeforeEach`);
|
|
28
|
+
await mongoFixtures.clear();
|
|
29
|
+
},
|
|
30
|
+
afterEach: async () => {
|
|
31
|
+
//debug(`<< AfterEach`);
|
|
32
|
+
await mongoFixtures.clear();
|
|
33
|
+
},
|
|
34
|
+
after: async () => {
|
|
35
|
+
//debug(`<< After`);
|
|
36
|
+
await mongoFixtures.close();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
async function initMongofixtures() {
|
|
42
|
+
mongoFixtures = await mongoFixturesFactory({
|
|
43
|
+
recurse: false,
|
|
44
|
+
rootPath: [__dirname, '..', 'test-fixtures', 'mongo', 'set-blob-size'],
|
|
45
|
+
gridFS: {bucketName: 'foobar'},
|
|
46
|
+
useObjectId: true
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async function callback({
|
|
51
|
+
getFixture,
|
|
52
|
+
functionName,
|
|
53
|
+
params,
|
|
54
|
+
expectModificationTime = false,
|
|
55
|
+
preFillDb = false,
|
|
56
|
+
expectedToThrow = false,
|
|
57
|
+
expectedErrorMessage = '',
|
|
58
|
+
expectedErrorStatus = ''
|
|
59
|
+
}) {
|
|
60
|
+
|
|
61
|
+
const mongoOperator = await getMongoOperator(mongoFixtures);
|
|
62
|
+
const expectedResult = await getFixture('expectedResult.json');
|
|
63
|
+
|
|
64
|
+
await doPreFillDb(preFillDb);
|
|
65
|
+
|
|
66
|
+
async function doPreFillDb(preFillDb) {
|
|
67
|
+
if (preFillDb) {
|
|
68
|
+
await mongoFixtures.populate(getFixture('dbContents.json'));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
if (functionName === 'setBlobSize') {
|
|
75
|
+
try {
|
|
76
|
+
debug(`setBlobSize`);
|
|
77
|
+
debug(JSON.stringify(params));
|
|
78
|
+
//{correlationId, blobSize}
|
|
79
|
+
const opResult = await mongoOperator.setBlobSize(params);
|
|
80
|
+
debug(`setBlobSize result: ${JSON.stringify(opResult)}`);
|
|
81
|
+
await compareToFirstDbEntry({mongoFixtures, expectedResult, expectModificationTime, formatDates: true});
|
|
82
|
+
} catch (error) {
|
|
83
|
+
handleError({error, expectedToThrow, expectedErrorMessage, expectedErrorStatus});
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
throw new Error(`Unknown functionName: ${functionName}`);
|
|
89
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
//import {expect} from 'chai';
|
|
2
|
+
import {READERS} from '@natlibfi/fixura';
|
|
3
|
+
import mongoFixturesFactory from '@natlibfi/fixura-mongo';
|
|
4
|
+
import generateTests from '@natlibfi/fixugen';
|
|
5
|
+
import createDebugLogger from 'debug';
|
|
6
|
+
//import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils';
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils';
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
let mongoFixtures; // eslint-disable-line functional/no-let
|
|
11
|
+
const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-import-job-state:test');
|
|
12
|
+
|
|
13
|
+
generateTests({
|
|
14
|
+
callback,
|
|
15
|
+
path: [__dirname, '..', 'test-fixtures', 'mongo', 'set-import-job-state'],
|
|
16
|
+
recurse: false,
|
|
17
|
+
useMetadataFile: true,
|
|
18
|
+
fixura: {
|
|
19
|
+
failWhenNotFound: true,
|
|
20
|
+
reader: READERS.JSON
|
|
21
|
+
},
|
|
22
|
+
mocha: {
|
|
23
|
+
before: async () => {
|
|
24
|
+
//debug(`<< Before`);
|
|
25
|
+
await initMongofixtures();
|
|
26
|
+
},
|
|
27
|
+
beforeEach: async () => {
|
|
28
|
+
//debug(`<< BeforeEach`);
|
|
29
|
+
await mongoFixtures.clear();
|
|
30
|
+
},
|
|
31
|
+
afterEach: async () => {
|
|
32
|
+
//debug(`<< AfterEach`);
|
|
33
|
+
await mongoFixtures.clear();
|
|
34
|
+
},
|
|
35
|
+
after: async () => {
|
|
36
|
+
//debug(`<< After`);
|
|
37
|
+
await mongoFixtures.close();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
async function initMongofixtures() {
|
|
43
|
+
mongoFixtures = await mongoFixturesFactory({
|
|
44
|
+
recurse: false,
|
|
45
|
+
rootPath: [__dirname, '..', 'test-fixtures', 'mongo', 'set-import-job-state'],
|
|
46
|
+
gridFS: {bucketName: 'foobar'},
|
|
47
|
+
useObjectId: true
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async function callback({
|
|
52
|
+
getFixture,
|
|
53
|
+
functionName,
|
|
54
|
+
params,
|
|
55
|
+
expectModificationTime = false,
|
|
56
|
+
preFillDb = false,
|
|
57
|
+
expectedToThrow = false,
|
|
58
|
+
expectedErrorMessage = '',
|
|
59
|
+
expectedErrorStatus = ''
|
|
60
|
+
}) {
|
|
61
|
+
|
|
62
|
+
const mongoOperator = await getMongoOperator(mongoFixtures);
|
|
63
|
+
const expectedResult = await getFixture('expectedResult.json');
|
|
64
|
+
|
|
65
|
+
await doPreFillDb(preFillDb);
|
|
66
|
+
|
|
67
|
+
async function doPreFillDb(preFillDb) {
|
|
68
|
+
if (preFillDb) {
|
|
69
|
+
await mongoFixtures.populate(getFixture('dbContents.json'));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
if (functionName === 'setImportJobState') {
|
|
77
|
+
try {
|
|
78
|
+
debug(`setImportJobState`);
|
|
79
|
+
debug(JSON.stringify(params));
|
|
80
|
+
//{correlationId, operation, importJobState}
|
|
81
|
+
const opResult = await mongoOperator.setImportJobState(params);
|
|
82
|
+
debug(`setImportJobState result: ${JSON.stringify(opResult)}`);
|
|
83
|
+
await compareToFirstDbEntry({mongoFixtures, expectedResult, expectModificationTime, formatDates: true});
|
|
84
|
+
} catch (error) {
|
|
85
|
+
handleError({error, expectedToThrow, expectedErrorMessage, expectedErrorStatus});
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
throw new Error(`Unknown functionName: ${functionName}`);
|
|
91
|
+
}
|
|
92
|
+
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
//import {expect} from 'chai';
|
|
2
|
+
import {READERS} from '@natlibfi/fixura';
|
|
3
|
+
import mongoFixturesFactory from '@natlibfi/fixura-mongo';
|
|
4
|
+
import generateTests from '@natlibfi/fixugen';
|
|
5
|
+
import createDebugLogger from 'debug';
|
|
6
|
+
//import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils';
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils';
|
|
8
|
+
|
|
9
|
+
let mongoFixtures; // eslint-disable-line functional/no-let
|
|
10
|
+
const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-operation:test');
|
|
11
|
+
|
|
12
|
+
generateTests({
|
|
13
|
+
callback,
|
|
14
|
+
path: [__dirname, '..', 'test-fixtures', 'mongo', 'set-operation'],
|
|
15
|
+
recurse: false,
|
|
16
|
+
useMetadataFile: true,
|
|
17
|
+
fixura: {
|
|
18
|
+
failWhenNotFound: true,
|
|
19
|
+
reader: READERS.JSON
|
|
20
|
+
},
|
|
21
|
+
mocha: {
|
|
22
|
+
before: async () => {
|
|
23
|
+
//debug(`<< Before`);
|
|
24
|
+
await initMongofixtures();
|
|
25
|
+
},
|
|
26
|
+
beforeEach: async () => {
|
|
27
|
+
//debug(`<< BeforeEach`);
|
|
28
|
+
await mongoFixtures.clear();
|
|
29
|
+
},
|
|
30
|
+
afterEach: async () => {
|
|
31
|
+
//debug(`<< AfterEach`);
|
|
32
|
+
await mongoFixtures.clear();
|
|
33
|
+
},
|
|
34
|
+
after: async () => {
|
|
35
|
+
//debug(`<< After`);
|
|
36
|
+
await mongoFixtures.close();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
async function initMongofixtures() {
|
|
42
|
+
mongoFixtures = await mongoFixturesFactory({
|
|
43
|
+
recurse: false,
|
|
44
|
+
rootPath: [__dirname, '..', 'test-fixtures', 'mongo', 'set-operation'],
|
|
45
|
+
gridFS: {bucketName: 'foobar'},
|
|
46
|
+
useObjectId: true
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async function callback({
|
|
51
|
+
getFixture,
|
|
52
|
+
functionName,
|
|
53
|
+
params,
|
|
54
|
+
expectModificationTime = false,
|
|
55
|
+
preFillDb = false,
|
|
56
|
+
expectedToThrow = false,
|
|
57
|
+
expectedErrorMessage = '',
|
|
58
|
+
expectedErrorStatus = ''
|
|
59
|
+
}) {
|
|
60
|
+
|
|
61
|
+
const mongoOperator = await getMongoOperator(mongoFixtures);
|
|
62
|
+
const expectedResult = await getFixture('expectedResult.json');
|
|
63
|
+
|
|
64
|
+
await doPreFillDb(preFillDb);
|
|
65
|
+
|
|
66
|
+
async function doPreFillDb(preFillDb) {
|
|
67
|
+
if (preFillDb) {
|
|
68
|
+
await mongoFixtures.populate(getFixture('dbContents.json'));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
if (functionName === 'setOperation') {
|
|
75
|
+
try {
|
|
76
|
+
debug(`setOperation`);
|
|
77
|
+
debug(JSON.stringify(params));
|
|
78
|
+
//{correlationId, operation}
|
|
79
|
+
const opResult = await mongoOperator.setOperation(params);
|
|
80
|
+
debug(`setOperation result: ${JSON.stringify(opResult)}`);
|
|
81
|
+
await compareToFirstDbEntry({mongoFixtures, expectedResult, expectModificationTime, formatDates: true});
|
|
82
|
+
|
|
83
|
+
} catch (error) {
|
|
84
|
+
handleError({error, expectedToThrow, expectedErrorMessage, expectedErrorStatus});
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
throw new Error(`Unknown functionName: ${functionName}`);
|
|
91
|
+
}
|
|
92
|
+
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
//import {expect} from 'chai';
|
|
2
|
+
import {READERS} from '@natlibfi/fixura';
|
|
3
|
+
import mongoFixturesFactory from '@natlibfi/fixura-mongo';
|
|
4
|
+
import generateTests from '@natlibfi/fixugen';
|
|
5
|
+
import createDebugLogger from 'debug';
|
|
6
|
+
//import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils';
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils';
|
|
8
|
+
|
|
9
|
+
let mongoFixtures; // eslint-disable-line functional/no-let
|
|
10
|
+
const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-operations:test');
|
|
11
|
+
|
|
12
|
+
generateTests({
|
|
13
|
+
callback,
|
|
14
|
+
path: [__dirname, '..', 'test-fixtures', 'mongo', 'set-operations'],
|
|
15
|
+
recurse: false,
|
|
16
|
+
useMetadataFile: true,
|
|
17
|
+
fixura: {
|
|
18
|
+
failWhenNotFound: true,
|
|
19
|
+
reader: READERS.JSON
|
|
20
|
+
},
|
|
21
|
+
mocha: {
|
|
22
|
+
before: async () => {
|
|
23
|
+
//debug(`<< Before`);
|
|
24
|
+
await initMongofixtures();
|
|
25
|
+
},
|
|
26
|
+
beforeEach: async () => {
|
|
27
|
+
//debug(`<< BeforeEach`);
|
|
28
|
+
await mongoFixtures.clear();
|
|
29
|
+
},
|
|
30
|
+
afterEach: async () => {
|
|
31
|
+
//debug(`<< AfterEach`);
|
|
32
|
+
await mongoFixtures.clear();
|
|
33
|
+
},
|
|
34
|
+
after: async () => {
|
|
35
|
+
//debug(`<< After`);
|
|
36
|
+
await mongoFixtures.close();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
async function initMongofixtures() {
|
|
42
|
+
mongoFixtures = await mongoFixturesFactory({
|
|
43
|
+
recurse: false,
|
|
44
|
+
rootPath: [__dirname, '..', 'test-fixtures', 'mongo', 'set-operations'],
|
|
45
|
+
gridFS: {bucketName: 'foobar'},
|
|
46
|
+
useObjectId: true
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async function callback({
|
|
51
|
+
getFixture,
|
|
52
|
+
functionName,
|
|
53
|
+
params,
|
|
54
|
+
expectModificationTime = false,
|
|
55
|
+
preFillDb = false,
|
|
56
|
+
expectedToThrow = false,
|
|
57
|
+
expectedErrorMessage = '',
|
|
58
|
+
expectedErrorStatus = ''
|
|
59
|
+
}) {
|
|
60
|
+
|
|
61
|
+
const mongoOperator = await getMongoOperator(mongoFixtures);
|
|
62
|
+
const expectedResult = await getFixture('expectedResult.json');
|
|
63
|
+
|
|
64
|
+
await doPreFillDb(preFillDb);
|
|
65
|
+
|
|
66
|
+
async function doPreFillDb(preFillDb) {
|
|
67
|
+
if (preFillDb) {
|
|
68
|
+
await mongoFixtures.populate(getFixture('dbContents.json'));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
if (functionName === 'setOperations') {
|
|
76
|
+
try {
|
|
77
|
+
debug(`setOperations`);
|
|
78
|
+
debug(JSON.stringify(params));
|
|
79
|
+
//{correlationId, addOperation, removeOperation = undefined}
|
|
80
|
+
const opResult = await mongoOperator.setOperations(params);
|
|
81
|
+
debug(`setOperations result: ${JSON.stringify(opResult)}`);
|
|
82
|
+
await compareToFirstDbEntry({mongoFixtures, expectedResult, expectModificationTime, formatDates: true});
|
|
83
|
+
} catch (error) {
|
|
84
|
+
handleError({error, expectedToThrow, expectedErrorMessage, expectedErrorStatus});
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
throw new Error(`Unknown functionName: ${functionName}`);
|
|
90
|
+
}
|
|
91
|
+
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
//import {expect} from 'chai';
|
|
2
|
+
import {READERS} from '@natlibfi/fixura';
|
|
3
|
+
import mongoFixturesFactory from '@natlibfi/fixura-mongo';
|
|
4
|
+
import generateTests from '@natlibfi/fixugen';
|
|
5
|
+
import createDebugLogger from 'debug';
|
|
6
|
+
//import {handleError, compareToFirstDbEntry, compareToDbEntry, formatQueueItem, streamToString} from './testUtils';
|
|
7
|
+
import {getMongoOperator, handleError, compareToFirstDbEntry} from './testUtils';
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
let mongoFixtures; // eslint-disable-line functional/no-let
|
|
11
|
+
const debug = createDebugLogger('@natlibfi/melinda-rest-api-commons/mongo:set-state:test');
|
|
12
|
+
|
|
13
|
+
generateTests({
|
|
14
|
+
callback,
|
|
15
|
+
path: [__dirname, '..', 'test-fixtures', 'mongo', 'set-state'],
|
|
16
|
+
recurse: false,
|
|
17
|
+
useMetadataFile: true,
|
|
18
|
+
fixura: {
|
|
19
|
+
failWhenNotFound: true,
|
|
20
|
+
reader: READERS.JSON
|
|
21
|
+
},
|
|
22
|
+
mocha: {
|
|
23
|
+
before: async () => {
|
|
24
|
+
//debug(`<< Before`);
|
|
25
|
+
await initMongofixtures();
|
|
26
|
+
},
|
|
27
|
+
beforeEach: async () => {
|
|
28
|
+
//debug(`<< BeforeEach`);
|
|
29
|
+
await mongoFixtures.clear();
|
|
30
|
+
},
|
|
31
|
+
afterEach: async () => {
|
|
32
|
+
//debug(`<< AfterEach`);
|
|
33
|
+
await mongoFixtures.clear();
|
|
34
|
+
},
|
|
35
|
+
after: async () => {
|
|
36
|
+
//debug(`<< After`);
|
|
37
|
+
await mongoFixtures.close();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
async function initMongofixtures() {
|
|
43
|
+
mongoFixtures = await mongoFixturesFactory({
|
|
44
|
+
recurse: false,
|
|
45
|
+
rootPath: [__dirname, '..', 'test-fixtures', 'mongo', 'set-state'],
|
|
46
|
+
gridFS: {bucketName: 'foobar'},
|
|
47
|
+
useObjectId: true
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async function callback({
|
|
52
|
+
getFixture,
|
|
53
|
+
functionName,
|
|
54
|
+
params,
|
|
55
|
+
expectModificationTime = false,
|
|
56
|
+
preFillDb = false,
|
|
57
|
+
expectedToThrow = false,
|
|
58
|
+
expectedErrorMessage = '',
|
|
59
|
+
expectedErrorStatus = ''
|
|
60
|
+
}) {
|
|
61
|
+
|
|
62
|
+
const mongoOperator = await getMongoOperator(mongoFixtures);
|
|
63
|
+
const expectedResult = await getFixture('expectedResult.json');
|
|
64
|
+
|
|
65
|
+
await doPreFillDb(preFillDb);
|
|
66
|
+
|
|
67
|
+
async function doPreFillDb(preFillDb) {
|
|
68
|
+
if (preFillDb) {
|
|
69
|
+
await mongoFixtures.populate(getFixture('dbContents.json'));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
if (functionName === 'setState') {
|
|
77
|
+
try {
|
|
78
|
+
debug(`setState`);
|
|
79
|
+
debug(JSON.stringify(params));
|
|
80
|
+
//{correlationId, state, errorMessage = undefined, errorStatus = undefined}
|
|
81
|
+
const opResult = await mongoOperator.setState(params);
|
|
82
|
+
debug(`setState result: ${JSON.stringify(opResult)}`);
|
|
83
|
+
await compareToFirstDbEntry({mongoFixtures, expectedResult, expectModificationTime, formatDates: true});
|
|
84
|
+
|
|
85
|
+
} catch (error) {
|
|
86
|
+
handleError({error, expectedToThrow, expectedErrorMessage, expectedErrorStatus});
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
throw new Error(`Unknown functionName: ${functionName}`);
|
|
92
|
+
}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _fixura = require("@natlibfi/fixura");
|
|
5
|
-
var _fixugen = _interopRequireDefault(require("@natlibfi/fixugen"));
|
|
6
|
-
var _fixuraMongo = _interopRequireDefault(require("@natlibfi/fixura-mongo"));
|
|
7
|
-
var _chai = require("chai");
|
|
8
|
-
var _mongoLog = _interopRequireDefault(require("./mongoLog"));
|
|
9
1
|
// import {expect} from 'chai';
|
|
2
|
+
import {READERS} from '@natlibfi/fixura';
|
|
3
|
+
import generateTests from '@natlibfi/fixugen';
|
|
4
|
+
import mongoFixturesFactory from '@natlibfi/fixura-mongo';
|
|
5
|
+
import {expect} from 'chai';
|
|
6
|
+
import createMongoLogOperator from '../src/mongoLog';
|
|
10
7
|
|
|
11
8
|
let mongoFixtures; // eslint-disable-line functional/no-let
|
|
12
9
|
|
|
13
|
-
(
|
|
10
|
+
generateTests({
|
|
14
11
|
callback,
|
|
15
12
|
path: [__dirname, '..', 'test-fixtures', 'mongoLog'],
|
|
16
13
|
recurse: false,
|
|
17
14
|
useMetadataFile: true,
|
|
18
15
|
fixura: {
|
|
19
16
|
failWhenNotFound: true,
|
|
20
|
-
reader:
|
|
17
|
+
reader: READERS.JSON
|
|
21
18
|
},
|
|
22
19
|
mocha: {
|
|
23
20
|
before: async () => {
|
|
@@ -30,12 +27,11 @@ let mongoFixtures; // eslint-disable-line functional/no-let
|
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
29
|
});
|
|
30
|
+
|
|
33
31
|
async function initMongofixtures() {
|
|
34
|
-
mongoFixtures = await (
|
|
32
|
+
mongoFixtures = await mongoFixturesFactory({
|
|
35
33
|
rootPath: [__dirname, '..', 'test-fixtures', 'mongoLog'],
|
|
36
|
-
gridFS: {
|
|
37
|
-
bucketName: 'blobs'
|
|
38
|
-
},
|
|
34
|
+
gridFS: {bucketName: 'blobs'},
|
|
39
35
|
useObjectId: true,
|
|
40
36
|
format: {
|
|
41
37
|
creationTime: v => new Date(v),
|
|
@@ -43,6 +39,7 @@ async function initMongofixtures() {
|
|
|
43
39
|
}
|
|
44
40
|
});
|
|
45
41
|
}
|
|
42
|
+
|
|
46
43
|
async function callback({
|
|
47
44
|
getFixture,
|
|
48
45
|
functionName,
|
|
@@ -50,36 +47,39 @@ async function callback({
|
|
|
50
47
|
preFillDb = false
|
|
51
48
|
}) {
|
|
52
49
|
const mongoUri = await mongoFixtures.getUri();
|
|
53
|
-
const mongoLogOperator = await (
|
|
50
|
+
const mongoLogOperator = await createMongoLogOperator(mongoUri, '');
|
|
54
51
|
const expectedResult = await getFixture('expectedResult.json');
|
|
55
52
|
// console.log(typeof mongoUri); // eslint-disable-line
|
|
56
53
|
|
|
57
|
-
if (preFillDb) {
|
|
58
|
-
// eslint-disable-line functional/no-conditional-statements
|
|
54
|
+
if (preFillDb) { // eslint-disable-line functional/no-conditional-statements
|
|
59
55
|
await mongoFixtures.populate(getFixture('dbContents.json'));
|
|
60
56
|
}
|
|
57
|
+
|
|
61
58
|
if (functionName === 'addLogItem') {
|
|
62
59
|
await mongoLogOperator.addLogItem(params);
|
|
63
60
|
const dump = await mongoFixtures.dump();
|
|
64
|
-
return
|
|
61
|
+
return expect(dump.logs[0]['0']).to.eql(expectedResult);
|
|
65
62
|
}
|
|
63
|
+
|
|
66
64
|
if (functionName === 'getListOfCatalogers') {
|
|
67
65
|
const result = await mongoLogOperator.getListOfCatalogers();
|
|
68
66
|
// console.log(result); // eslint-disable-line
|
|
69
67
|
|
|
70
|
-
return
|
|
68
|
+
return expect(result).to.eql(expectedResult);
|
|
71
69
|
}
|
|
70
|
+
|
|
72
71
|
if (functionName === 'getExpandedListOfLogs') {
|
|
73
72
|
const result = await mongoLogOperator.getExpandedListOfLogs(params);
|
|
74
73
|
// console.log(result); // eslint-disable-line
|
|
75
74
|
|
|
76
|
-
return
|
|
75
|
+
return expect(result).to.eql(expectedResult);
|
|
77
76
|
}
|
|
77
|
+
|
|
78
78
|
if (functionName === 'getListOfLogs') {
|
|
79
79
|
const result = await mongoLogOperator.getListOfLogs(params);
|
|
80
80
|
// console.log(result); // eslint-disable-line
|
|
81
|
-
return
|
|
81
|
+
return expect(result).to.eql(expectedResult);
|
|
82
82
|
}
|
|
83
83
|
throw new Error(`Unknown functionName: ${functionName}`);
|
|
84
84
|
}
|
|
85
|
-
|
|
85
|
+
|