@n8n/backend-test-utils 1.6.0 → 1.7.1
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/dist/build.tsbuildinfo +1 -1
- package/dist/migration-test-helpers.d.ts +0 -1
- package/dist/migration-test-helpers.js +0 -1
- package/dist/migration-test-helpers.js.map +1 -1
- package/dist/test-db.d.ts +1 -1
- package/dist/test-db.js +25 -38
- package/dist/test-db.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-test-helpers.js","sourceRoot":"","sources":["../src/migration-test-helpers.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"migration-test-helpers.js","sourceRoot":"","sources":["../src/migration-test-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/test-db.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { entities } from '@n8n/db';
|
|
2
2
|
import type { DataSourceOptions } from '@n8n/typeorm';
|
|
3
3
|
export declare const testDbPrefix = "n8n_test_";
|
|
4
|
-
export declare const getBootstrapDBOptions: (
|
|
4
|
+
export declare const getBootstrapDBOptions: () => DataSourceOptions;
|
|
5
5
|
export declare function init(): Promise<void>;
|
|
6
6
|
export declare function isReady(): boolean;
|
|
7
7
|
export declare function terminate(): Promise<void>;
|
package/dist/test-db.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.getBootstrapDBOptions = exports.testDbPrefix = void 0;
|
|
4
7
|
exports.init = init;
|
|
@@ -9,18 +12,19 @@ const config_1 = require("@n8n/config");
|
|
|
9
12
|
const db_1 = require("@n8n/db");
|
|
10
13
|
const di_1 = require("@n8n/di");
|
|
11
14
|
const typeorm_1 = require("@n8n/typeorm");
|
|
15
|
+
const assert_1 = __importDefault(require("assert"));
|
|
12
16
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
13
17
|
exports.testDbPrefix = 'n8n_test_';
|
|
14
18
|
let isInitialized = false;
|
|
15
|
-
const getBootstrapDBOptions = (
|
|
19
|
+
const getBootstrapDBOptions = () => {
|
|
16
20
|
const globalConfig = di_1.Container.get(config_1.GlobalConfig);
|
|
17
|
-
|
|
21
|
+
(0, assert_1.default)(globalConfig.database.type === 'postgresdb', 'Database type must be postgresdb');
|
|
18
22
|
return {
|
|
19
|
-
type,
|
|
20
|
-
...di_1.Container.get(db_1.DbConnectionOptions).
|
|
21
|
-
database:
|
|
23
|
+
type: 'postgres',
|
|
24
|
+
...di_1.Container.get(db_1.DbConnectionOptions).getPostgresOverrides(),
|
|
25
|
+
database: globalConfig.database.postgresdb.database,
|
|
22
26
|
entityPrefix: globalConfig.database.tablePrefix,
|
|
23
|
-
schema:
|
|
27
|
+
schema: globalConfig.database.postgresdb.schema,
|
|
24
28
|
};
|
|
25
29
|
};
|
|
26
30
|
exports.getBootstrapDBOptions = getBootstrapDBOptions;
|
|
@@ -31,17 +35,11 @@ async function init() {
|
|
|
31
35
|
const dbType = globalConfig.database.type;
|
|
32
36
|
const testDbName = `${exports.testDbPrefix}${(0, n8n_workflow_1.randomString)(6, 10).toLowerCase()}_${Date.now()}`;
|
|
33
37
|
if (dbType === 'postgresdb') {
|
|
34
|
-
const bootstrapPostgres = await new typeorm_1.DataSource((0, exports.getBootstrapDBOptions)(
|
|
38
|
+
const bootstrapPostgres = await new typeorm_1.DataSource((0, exports.getBootstrapDBOptions)()).initialize();
|
|
35
39
|
await bootstrapPostgres.query(`CREATE DATABASE ${testDbName}`);
|
|
36
40
|
await bootstrapPostgres.destroy();
|
|
37
41
|
globalConfig.database.postgresdb.database = testDbName;
|
|
38
42
|
}
|
|
39
|
-
else if (dbType === 'mysqldb' || dbType === 'mariadb') {
|
|
40
|
-
const bootstrapMysql = await new typeorm_1.DataSource((0, exports.getBootstrapDBOptions)('mysqldb')).initialize();
|
|
41
|
-
await bootstrapMysql.query(`CREATE DATABASE ${testDbName} DEFAULT CHARACTER SET utf8mb4`);
|
|
42
|
-
await bootstrapMysql.destroy();
|
|
43
|
-
globalConfig.database.mysqldb.database = testDbName;
|
|
44
|
-
}
|
|
45
43
|
const dbConnection = di_1.Container.get(db_1.DbConnection);
|
|
46
44
|
await dbConnection.init();
|
|
47
45
|
await dbConnection.migrate();
|
|
@@ -60,36 +58,25 @@ async function terminate() {
|
|
|
60
58
|
}
|
|
61
59
|
async function truncate(entities) {
|
|
62
60
|
const connection = di_1.Container.get(typeorm_1.DataSource);
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const metadata = connection.getMetadata(name);
|
|
72
|
-
for (const relation of metadata.manyToManyRelations) {
|
|
73
|
-
if (relation.junctionEntityMetadata) {
|
|
74
|
-
const junctionTableName = relation.junctionEntityMetadata.tablePath;
|
|
75
|
-
junctionTablesToClean.add(junctionTableName);
|
|
76
|
-
}
|
|
61
|
+
const junctionTablesToClean = new Set();
|
|
62
|
+
for (const name of entities) {
|
|
63
|
+
try {
|
|
64
|
+
const metadata = connection.getMetadata(name);
|
|
65
|
+
for (const relation of metadata.manyToManyRelations) {
|
|
66
|
+
if (relation.junctionEntityMetadata) {
|
|
67
|
+
const junctionTableName = relation.junctionEntityMetadata.tablePath;
|
|
68
|
+
junctionTablesToClean.add(junctionTableName);
|
|
77
69
|
}
|
|
78
70
|
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
}
|
|
81
71
|
}
|
|
82
|
-
|
|
83
|
-
await connection.query(`DELETE FROM ${tableName}`);
|
|
84
|
-
}
|
|
85
|
-
for (const name of entities) {
|
|
86
|
-
await connection.getRepository(name).delete({});
|
|
72
|
+
catch (error) {
|
|
87
73
|
}
|
|
88
74
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
75
|
+
for (const tableName of junctionTablesToClean) {
|
|
76
|
+
await connection.query(`DELETE FROM ${tableName}`);
|
|
77
|
+
}
|
|
78
|
+
for (const name of entities) {
|
|
79
|
+
await connection.getRepository(name).delete({});
|
|
93
80
|
}
|
|
94
81
|
}
|
|
95
82
|
//# sourceMappingURL=test-db.js.map
|
package/dist/test-db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-db.js","sourceRoot":"","sources":["../src/test-db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-db.js","sourceRoot":"","sources":["../src/test-db.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/backend-test-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "src/index.ts",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist/**/*",
|
|
9
|
-
"
|
|
10
|
-
"
|
|
9
|
+
"LICENSE_EE.md",
|
|
10
|
+
"LICENSE.md"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@n8n/typeorm": "0.3.20-15",
|
|
14
14
|
"jest-mock-extended": "^3.0.4",
|
|
15
15
|
"reflect-metadata": "0.2.2",
|
|
16
16
|
"uuid": "10.0.0",
|
|
17
|
-
"@n8n/backend-common": "1.
|
|
18
|
-
"@n8n/
|
|
19
|
-
"@n8n/
|
|
17
|
+
"@n8n/backend-common": "1.7.0",
|
|
18
|
+
"@n8n/config": "2.6.0",
|
|
19
|
+
"@n8n/constants": "0.17.0",
|
|
20
20
|
"@n8n/di": "0.10.0",
|
|
21
|
-
"@n8n/permissions": "0.
|
|
22
|
-
"
|
|
23
|
-
"n8n
|
|
21
|
+
"@n8n/permissions": "0.48.0",
|
|
22
|
+
"n8n-workflow": "2.7.0",
|
|
23
|
+
"@n8n/db": "1.7.1"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@n8n/typescript-config": "1.3.0"
|