@n8n/backend-test-utils 1.7.3 → 1.8.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.
@@ -1,5 +1,5 @@
1
1
  import { type DatabaseType } from '@n8n/db';
2
- import { DataSource, type QueryRunner } from '@n8n/typeorm';
2
+ import { DataSource, type ObjectLiteral, type QueryRunner } from '@n8n/typeorm';
3
3
  export interface TestMigrationContext {
4
4
  queryRunner: QueryRunner;
5
5
  tablePrefix: string;
@@ -11,6 +11,7 @@ export interface TestMigrationContext {
11
11
  tableName(name: string): string;
12
12
  indexName(name: string): string;
13
13
  };
14
+ runQuery: <T = unknown>(sql: string, namedParameters?: ObjectLiteral) => Promise<T>;
14
15
  }
15
16
  export declare function createTestMigrationContext(dataSource: DataSource): TestMigrationContext;
16
17
  export declare function initDbUpToMigration(beforeMigrationName: string): Promise<void>;
@@ -14,6 +14,16 @@ async function reinitializeDataConnection() {
14
14
  await dbConnection.close();
15
15
  await dbConnection.init();
16
16
  }
17
+ function getMigrationsTableName() {
18
+ const globalConfig = di_1.Container.get(config_1.GlobalConfig);
19
+ const dbType = globalConfig.database.type;
20
+ const tablePrefix = globalConfig.database.tablePrefix;
21
+ if (dbType === 'postgresdb') {
22
+ const schema = globalConfig.database.postgresdb.schema;
23
+ return `${schema}."${tablePrefix}migrations"`;
24
+ }
25
+ return `"${tablePrefix}migrations"`;
26
+ }
17
27
  function createTestMigrationContext(dataSource) {
18
28
  const globalConfig = di_1.Container.get(config_1.GlobalConfig);
19
29
  const dbType = globalConfig.database.type;
@@ -30,6 +40,26 @@ function createTestMigrationContext(dataSource) {
30
40
  tableName: (name) => queryRunner.connection.driver.escape(`${tablePrefix}${name}`),
31
41
  indexName: (name) => queryRunner.connection.driver.escape(`IDX_${tablePrefix}${name}`),
32
42
  },
43
+ runQuery: async (sql, namedParameters) => {
44
+ if (namedParameters) {
45
+ if (dbType === 'postgresdb') {
46
+ let paramIndex = 1;
47
+ const paramValues = [];
48
+ const convertedSql = sql.replace(/(?<!:):(\w+)/g, (_, paramName) => {
49
+ paramValues.push(namedParameters[paramName]);
50
+ return `$${paramIndex++}`;
51
+ });
52
+ return (await queryRunner.query(convertedSql, paramValues));
53
+ }
54
+ else {
55
+ const [query, parameters] = queryRunner.connection.driver.escapeQueryWithParameters(sql, namedParameters, {});
56
+ return (await queryRunner.query(query, parameters));
57
+ }
58
+ }
59
+ else {
60
+ return (await queryRunner.query(sql));
61
+ }
62
+ },
33
63
  };
34
64
  }
35
65
  async function initDbUpToMigration(beforeMigrationName) {
@@ -55,7 +85,7 @@ async function initDbUpToMigration(beforeMigrationName) {
55
85
  }
56
86
  async function undoLastSingleMigration() {
57
87
  const dataSource = di_1.Container.get(typeorm_1.DataSource);
58
- const executedMigrations = await dataSource.query('SELECT * FROM migrations ORDER BY timestamp DESC LIMIT 1');
88
+ const executedMigrations = await dataSource.query(`SELECT * FROM ${getMigrationsTableName()} ORDER BY timestamp DESC LIMIT 1`);
59
89
  if (executedMigrations.length === 0) {
60
90
  throw new n8n_workflow_1.UnexpectedError('No migrations found to undo');
61
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"migration-test-helpers.js","sourceRoot":"","sources":["../src/migration-test-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration-test-helpers.js","sourceRoot":"","sources":["../src/migration-test-helpers.ts"],"names":[],"mappings":";;AAgDA,gEA4CC;AASD,kDA6BC;AAMD,0DAmCC;AASD,gDAwBC;AA5MD,wCAA2C;AAC3C,gCAA0E;AAC1E,gCAAoC;AACpC,0CAAgF;AAChF,+CAA+C;AAE/C,KAAK,UAAU,0BAA0B;IACxC,MAAM,YAAY,GAAG,cAAS,CAAC,GAAG,CAAC,iBAAY,CAAC,CAAC;IACjD,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;IAC3B,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAKD,SAAS,sBAAsB;IAC9B,MAAM,YAAY,GAAG,cAAS,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC1C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;IAEtD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QACvD,OAAO,GAAG,MAAM,KAAK,WAAW,aAAa,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,WAAW,aAAa,CAAC;AACrC,CAAC;AAuBD,SAAgB,0BAA0B,CAAC,UAAsB;IAChE,MAAM,YAAY,GAAG,cAAS,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC1C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtD,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAEnD,OAAO;QACN,WAAW;QACX,WAAW;QACX,MAAM;QACN,QAAQ,EAAE,MAAM,KAAK,QAAQ;QAC7B,UAAU,EAAE,MAAM,KAAK,YAAY;QACnC,MAAM,EAAE;YACP,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAChE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC;YAClF,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,WAAW,GAAG,IAAI,EAAE,CAAC;SACtF;QACD,QAAQ,EAAE,KAAK,EAAK,GAAW,EAAE,eAA+B,EAAE,EAAE;YACnE,IAAI,eAAe,EAAE,CAAC;gBACrB,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBAI7B,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,MAAM,WAAW,GAAc,EAAE,CAAC;oBAClC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,SAAiB,EAAE,EAAE;wBAC1E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAY,CAAC,CAAC;wBACxD,OAAO,IAAI,UAAU,EAAE,EAAE,CAAC;oBAC3B,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAM,CAAC;gBAClE,CAAC;qBAAM,CAAC;oBAEP,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,yBAAyB,CAClF,GAAG,EACH,eAAe,EACf,EAAE,CACF,CAAC;oBACF,OAAO,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAM,CAAC;gBAC1D,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAM,CAAC;YAC5C,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC;AASM,KAAK,UAAU,mBAAmB,CAAC,mBAA2B;IACpE,MAAM,UAAU,GAAG,cAAS,CAAC,GAAG,CAAC,oBAAU,CAAC,CAAC;IAE7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,8BAAe,CAAC,sCAAsC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,UAAyB,CAAC;IACnE,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;IAEnF,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,8BAAe,CAAC,cAAc,mBAAmB,aAAa,CAAC,CAAC;IAC3E,CAAC;IAGD,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3D,UAAU,CAAC,OAAuC,CAAC,UAAU,GAAG,eAAe,CAAC;IAEjF,IAAI,CAAC;QAEJ,MAAM,0BAA0B,EAAE,CAAC;QAEnC,MAAM,cAAS,CAAC,GAAG,CAAC,iBAAY,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7C,CAAC;YAAS,CAAC;QAET,UAAU,CAAC,OAAuC,CAAC,UAAU,GAAG,aAAa,CAAC;QAE/E,MAAM,0BAA0B,EAAE,CAAC;IACpC,CAAC;AACF,CAAC;AAMM,KAAK,UAAU,uBAAuB;IAC5C,MAAM,UAAU,GAAG,cAAS,CAAC,GAAG,CAAC,oBAAU,CAAC,CAAC;IAG7C,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,KAAK,CAChD,iBAAiB,sBAAsB,EAAE,kCAAkC,CAC3E,CAAC;IAEF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,8BAAe,CAAC,6BAA6B,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAQrD,MAAM,SAAS,GAAI,UAAU,CAAC,OAAO,CAAC,UAA+B,CAAC,IAAI,CACzE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CACnC,CAAC;IAGF,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QACjC,sBAAsB,GAAG,QAAQ,CAAC,WAAW,KAAK,KAAK,CAAC;IACzD,CAAC;IAGD,MAAM,UAAU,CAAC,iBAAiB,CAAC;QAClC,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;KACrD,CAAC,CAAC;AACJ,CAAC;AASM,KAAK,UAAU,kBAAkB,CAAC,aAAqB;IAC7D,MAAM,UAAU,GAAG,cAAS,CAAC,GAAG,CAAC,oBAAU,CAAC,CAAC;IAE7C,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,UAAyB,CAAC;IACnE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAEtE,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,IAAI,8BAAe,CAAC,cAAc,aAAa,aAAa,CAAC,CAAC;IACrE,CAAC;IAGA,UAAU,CAAC,OAAuC,CAAC,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7E,IAAI,CAAC;QAEJ,MAAM,0BAA0B,EAAE,CAAC;QAEnC,MAAM,cAAS,CAAC,GAAG,CAAC,iBAAY,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7C,CAAC;YAAS,CAAC;QAET,UAAU,CAAC,OAAuC,CAAC,UAAU,GAAG,aAAa,CAAC;QAE/E,MAAM,0BAA0B,EAAE,CAAC;IACpC,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/backend-test-utils",
3
- "version": "1.7.3",
3
+ "version": "1.8.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
@@ -14,13 +14,13 @@
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.7.1",
18
- "@n8n/db": "1.7.3",
19
- "@n8n/config": "2.6.0",
20
- "@n8n/constants": "0.17.0",
17
+ "@n8n/config": "2.7.0",
18
+ "@n8n/backend-common": "1.8.0",
21
19
  "@n8n/di": "0.10.0",
22
- "@n8n/permissions": "0.48.1",
23
- "n8n-workflow": "2.7.1"
20
+ "@n8n/permissions": "0.49.0",
21
+ "@n8n/constants": "0.18.0",
22
+ "n8n-workflow": "2.8.0",
23
+ "@n8n/db": "1.8.1"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@n8n/typescript-config": "1.3.0"