@etohq/test-utils 1.0.0 → 1.2.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.
@@ -5,6 +5,5 @@ export declare function startApp({ cwd, env, }?: {
5
5
  }): Promise<{
6
6
  shutdown: () => Promise<void>;
7
7
  container: EtoContainer;
8
- port: number;
9
8
  }>;
10
9
  //# sourceMappingURL=bootstrap-app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-app.d.ts","sourceRoot":"","sources":["../../src/eto-test-runner-utils/bootstrap-app.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AA4BrD,wBAAsB,QAAQ,CAAC,EAC7B,GAAG,EACH,GAAQ,GACT,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAO,GAAG,OAAO,CAAC;IACzD,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,SAAS,EAAE,YAAY,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACb,CAAC,CAyCD"}
1
+ {"version":3,"file":"bootstrap-app.d.ts","sourceRoot":"","sources":["../../src/eto-test-runner-utils/bootstrap-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AA0BrD,wBAAsB,QAAQ,CAAC,EAC7B,GAAG,EACH,GAAQ,GACT,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAO,GAAG,OAAO,CAAC;IACzD,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,SAAS,EAAE,YAAY,CAAA;CACxB,CAAC,CAuBD"}
@@ -4,56 +4,38 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.startApp = startApp;
7
- const express_1 = __importDefault(require("express"));
8
7
  const get_port_1 = __importDefault(require("get-port"));
9
8
  const path_1 = require("path");
10
9
  const utils_1 = require("./utils");
11
10
  const utils_2 = require("@etohq/framework/utils");
11
+ // toodo refactor ... this will not work.
12
12
  async function bootstrapApp({ cwd, env = {}, } = {}) {
13
- const app = (0, express_1.default)();
14
13
  (0, utils_1.applyEnvVarsToProcess)(env);
15
14
  const loaders = require("@etohq/eto/loaders/index").default;
16
15
  const { container, shutdown } = await loaders({
17
16
  directory: (0, path_1.resolve)(cwd || process.cwd()),
18
- expressApp: app,
19
17
  });
20
18
  const PORT = process.env.PORT ? parseInt(process.env.PORT) : await (0, get_port_1.default)();
21
19
  return {
22
20
  shutdown,
23
21
  container,
24
- app,
25
22
  port: PORT,
26
23
  };
27
24
  }
28
25
  async function startApp({ cwd, env = {}, } = {}) {
29
- const { app, port, container, shutdown: etoShutdown, } = await bootstrapApp({
26
+ const { container, shutdown: etoShutdown, } = await bootstrapApp({
30
27
  cwd,
31
28
  env,
32
29
  });
33
- let expressServer;
34
30
  const shutdown = async () => {
35
- await (0, utils_2.promiseAll)([expressServer?.shutdown(), etoShutdown()]);
31
+ await (0, utils_2.promiseAll)([etoShutdown()]);
36
32
  if (typeof global !== "undefined" && global?.gc) {
37
33
  global.gc();
38
34
  }
39
35
  };
40
- return await new Promise((resolve, reject) => {
41
- const server = app
42
- .listen(port)
43
- .on("error", async (err) => {
44
- await shutdown();
45
- return reject(err);
46
- })
47
- .on("listening", () => {
48
- process.send?.(port);
49
- resolve({
50
- shutdown,
51
- container,
52
- port,
53
- });
54
- });
55
- // TODO: fix that once we find the appropriate place to put this util
56
- expressServer = utils_2.GracefulShutdownServer.create(server);
57
- });
36
+ return {
37
+ shutdown,
38
+ container,
39
+ };
58
40
  }
59
41
  //# sourceMappingURL=bootstrap-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-app.js","sourceRoot":"","sources":["../../src/eto-test-runner-utils/bootstrap-app.ts"],"names":[],"mappings":";;;;;AA+BA,4BAgDC;AA/ED,sDAA6B;AAC7B,wDAA8B;AAC9B,+BAA8B;AAE9B,mCAA+C;AAC/C,kDAA2E;AAE3E,KAAK,UAAU,YAAY,CAAC,EAC1B,GAAG,EACH,GAAG,GAAG,EAAE,MACoC,EAAE;IAC9C,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAA;IACrB,IAAA,6BAAqB,EAAC,GAAG,CAAC,CAAA;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAA;IAE3D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC;QAC5C,SAAS,EAAE,IAAA,cAAO,EAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACxC,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,kBAAO,GAAE,CAAA;IAE5E,OAAO;QACL,QAAQ;QACR,SAAS;QACT,GAAG;QACH,IAAI,EAAE,IAAI;KACX,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,EAC7B,GAAG,EACH,GAAG,GAAG,EAAE,MACoC,EAAE;IAK9C,MAAM,EACJ,GAAG,EACH,IAAI,EACJ,SAAS,EACT,QAAQ,EAAE,WAAW,GACtB,GAAG,MAAM,YAAY,CAAC;QACrB,GAAG;QACH,GAAG;KACJ,CAAC,CAAA;IAEF,IAAI,aAAa,CAAA;IAEjB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAA,kBAAU,EAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;QAE5D,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,EAAE,EAAE,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAED,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,GAAG;aACf,MAAM,CAAC,IAAI,CAAC;aACZ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,QAAQ,EAAE,CAAA;YAChB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACpB,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAA;YAEpB,OAAO,CAAC;gBACN,QAAQ;gBACR,SAAS;gBACT,IAAI;aACL,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEJ,qEAAqE;QACrE,aAAa,GAAG,8BAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"bootstrap-app.js","sourceRoot":"","sources":["../../src/eto-test-runner-utils/bootstrap-app.ts"],"names":[],"mappings":";;;;;AA4BA,4BA6BC;AAzDD,wDAA8B;AAC9B,+BAA8B;AAE9B,mCAA+C;AAC/C,kDAAmD;AAEnD,0CAA0C;AAC1C,KAAK,UAAU,YAAY,CAAC,EAC1B,GAAG,EACH,GAAG,GAAG,EAAE,MACoC,EAAE;IAC9C,IAAA,6BAAqB,EAAC,GAAG,CAAC,CAAA;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAA;IAE3D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC;QAC5C,SAAS,EAAE,IAAA,cAAO,EAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;KACzC,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,kBAAO,GAAE,CAAA;IAE5E,OAAO;QACL,QAAQ;QACR,SAAS;QACT,IAAI,EAAE,IAAI;KACX,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,EAC7B,GAAG,EACH,GAAG,GAAG,EAAE,MACoC,EAAE;IAI9C,MAAM,EACJ,SAAS,EACT,QAAQ,EAAE,WAAW,GACtB,GAAG,MAAM,YAAY,CAAC;QACrB,GAAG;QACH,GAAG;KACJ,CAAC,CAAA;IAGF,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAA,kBAAU,EAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAEjC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,EAAE,EAAE,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAED,OAAO;QACL,QAAQ;QACR,SAAS;KACV,CAAA;AAEH,CAAC"}
@@ -3,7 +3,7 @@ import { EtoContainer } from "@etohq/framework/types";
3
3
  /**
4
4
  * Initiates the database connection
5
5
  */
6
- export declare function initDb(): Promise<any>;
6
+ export declare function initDb(): Promise<import("knex").Knex<any, any>>;
7
7
  /**
8
8
  * Migrates the database
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"use-db.d.ts","sourceRoot":"","sources":["../../src/eto-test-runner-utils/use-db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD;;GAEG;AACH,wBAAsB,MAAM,iBAS3B;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,YAAY,iBAO5D;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,YAAY,iBAexB"}
1
+ {"version":3,"file":"use-db.d.ts","sourceRoot":"","sources":["../../src/eto-test-runner-utils/use-db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD;;GAEG;AACH,wBAAsB,MAAM,2CAS3B;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,YAAY,iBAO5D;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,YAAY,iBAexB"}
@@ -1 +1 @@
1
- {"version":3,"file":"eto-test-runner.d.ts","sourceRoot":"","sources":["../src/eto-test-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAiB,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAiBpE,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,GAAG,CAAA;IACjB,YAAY,EAAE,MAAM,YAAY,CAAA;IAChC,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QACzC,QAAQ,EAAE,CAAC,OAAO,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QACzD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAC5C,CAAA;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,SAAS,EAAE,MAAM,YAAY,CAAA;CAC9B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,MAAM,EACN,aAAa,EACb,MAAiB,EACjB,GAAQ,EACR,KAAa,EACb,KAAa,EACb,SAAS,GACV,EAAE;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAA;CAC9C,QAyKA"}
1
+ {"version":3,"file":"eto-test-runner.d.ts","sourceRoot":"","sources":["../src/eto-test-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAiB,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAiBpE,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,GAAG,CAAA;IACjB,YAAY,EAAE,MAAM,YAAY,CAAA;IAChC,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QACzC,QAAQ,EAAE,CAAC,OAAO,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QACzD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAC5C,CAAA;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,SAAS,EAAE,MAAM,YAAY,CAAA;CAC9B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,MAAM,EACN,aAAa,EACb,MAAiB,EACjB,GAAQ,EACR,KAAa,EACb,KAAa,EACb,SAAS,GACV,EAAE;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAA;CAC9C,QA+KA"}
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.etoIntegrationTestRunner = etoIntegrationTestRunner;
4
- const utils_1 = require("@etohq/framework/utils");
5
- const awilix_1 = require("awilix");
4
+ // import {
5
+ // ContainerRegistrationKeys,
6
+ // // createEtoContainer,
7
+ // } from "@etohq/framework/utils"
8
+ // import { asValue } from "awilix"
6
9
  const database_1 = require("./database");
7
- const eto_test_runner_utils_1 = require("./eto-test-runner-utils");
8
10
  function etoIntegrationTestRunner({ moduleName, dbName, etoConfigFile, schema = "public", env = {}, debug = false, inApp = false, testSuite, }) {
9
11
  const tempName = parseInt(process.env.JEST_WORKER_ID || "1");
10
12
  moduleName = moduleName ?? Math.random().toString(36).substring(7);
@@ -15,7 +17,7 @@ function etoIntegrationTestRunner({ moduleName, dbName, etoConfigFile, schema =
15
17
  schema,
16
18
  debug,
17
19
  };
18
- const cwd = etoConfigFile ?? process.cwd();
20
+ // const cwd = etoConfigFile ?? process.cwd()
19
21
  let shutdown = async () => void 0;
20
22
  const dbUtils = (0, database_1.dbTestUtilFactory)();
21
23
  let globalContainer;
@@ -41,86 +43,94 @@ function etoIntegrationTestRunner({ moduleName, dbName, etoConfigFile, schema =
41
43
  },
42
44
  dbUtils,
43
45
  };
44
- let isFirstTime = true;
45
- const beforeAll_ = async () => {
46
- await (0, eto_test_runner_utils_1.configLoaderOverride)(cwd, dbConfig);
47
- (0, eto_test_runner_utils_1.applyEnvVarsToProcess)(env);
48
- const { logger, container, EtoAppLoader } = await import("@etohq/framework");
49
- const appLoader = new EtoAppLoader();
50
- container.register({
51
- [utils_1.ContainerRegistrationKeys.LOGGER]: (0, awilix_1.asValue)(logger),
52
- });
53
- try {
54
- console.log(`Creating database ${dbName}`);
55
- await dbUtils.create(dbName);
56
- dbUtils.pgConnection_ = await (0, eto_test_runner_utils_1.initDb)();
57
- }
58
- catch (error) {
59
- console.error("Error initializing database", error?.message);
60
- throw error;
61
- }
62
- console.log(`Migrating database with core migrations and links ${dbName}`);
63
- await (0, eto_test_runner_utils_1.migrateDatabase)(appLoader);
64
- await (0, eto_test_runner_utils_1.syncLinks)(appLoader, cwd, container);
65
- await (0, eto_test_runner_utils_1.clearInstances)();
66
- let containerRes = container;
67
- let serverShutdownRes;
68
- let portRes;
69
- loadedApplication = await appLoader.load();
70
- try {
71
- const { shutdown = () => void 0, container: appContainer, port, } = await (0, eto_test_runner_utils_1.startApp)({
72
- cwd,
73
- env,
74
- });
75
- containerRes = appContainer;
76
- serverShutdownRes = shutdown;
77
- portRes = port;
78
- }
79
- catch (error) {
80
- console.error("Error starting the app", error?.message);
81
- throw error;
82
- }
83
- /**
84
- * Run application migrations and sync links when inside
85
- * an application
86
- */
87
- if (inApp) {
88
- console.log(`Migrating database with core migrations and links ${dbName}`);
89
- await (0, eto_test_runner_utils_1.migrateDatabase)(appLoader);
90
- await (0, eto_test_runner_utils_1.syncLinks)(appLoader, cwd, containerRes);
91
- }
92
- const { default: axios } = (await import("axios"));
93
- const cancelTokenSource = axios.CancelToken.source();
94
- globalContainer = containerRes;
95
- shutdown = async () => {
96
- await serverShutdownRes();
97
- cancelTokenSource.cancel("Request canceled by shutdown");
98
- };
99
- apiUtils = axios.create({
100
- baseURL: `http://localhost:${portRes}`,
101
- cancelToken: cancelTokenSource.token,
102
- });
103
- };
104
- const beforeEach_ = async () => {
105
- // The beforeAll already run everything, so lets not re run the loaders for the first iteration
106
- if (isFirstTime) {
107
- isFirstTime = false;
108
- return;
109
- }
110
- const container = options.getContainer();
111
- const copiedContainer = (0, utils_1.createEtoContainer)({}, container);
112
- try {
113
- const { EtoAppLoader } = await import("@etohq/framework");
114
- const etoAppLoader = new EtoAppLoader({
115
- container: copiedContainer,
116
- });
117
- await etoAppLoader.runModulesLoader();
118
- }
119
- catch (error) {
120
- console.error("Error runner modules loaders", error?.message);
121
- throw error;
122
- }
123
- };
46
+ // let isFirstTime = true
47
+ // const beforeAll_ = async () => {
48
+ // await configLoaderOverride(cwd, dbConfig)
49
+ // applyEnvVarsToProcess(env)
50
+ // const { logger, container, EtoAppLoader } = await import(
51
+ // "@etohq/framework"
52
+ // )
53
+ // const appLoader = new EtoAppLoader(
54
+ // {
55
+ // }
56
+ // )
57
+ // container.register({
58
+ // [ContainerRegistrationKeys.LOGGER]: asValue(logger),
59
+ // })
60
+ // try {
61
+ // console.log(`Creating database ${dbName}`)
62
+ // await dbUtils.create(dbName)
63
+ // dbUtils.pgConnection_ = await initDb()
64
+ // } catch (error) {
65
+ // console.error("Error initializing database", error?.message)
66
+ // throw error
67
+ // }
68
+ // console.log(`Migrating database with core migrations and links ${dbName}`)
69
+ // await migrateDatabase(appLoader)
70
+ // await syncLinks(appLoader, cwd, container)
71
+ // await clearInstances()
72
+ // let containerRes: EtoContainer = container
73
+ // let serverShutdownRes: () => any
74
+ // let portRes: number
75
+ // loadedApplication = await appLoader.load()
76
+ // try {
77
+ // const {
78
+ // shutdown = () => void 0,
79
+ // container: appContainer,
80
+ // port,
81
+ // } = await startApp({
82
+ // cwd,
83
+ // env,
84
+ // })
85
+ // containerRes = appContainer
86
+ // serverShutdownRes = shutdown
87
+ // portRes = port
88
+ // } catch (error) {
89
+ // console.error("Error starting the app", error?.message)
90
+ // throw error
91
+ // }
92
+ // /**
93
+ // * Run application migrations and sync links when inside
94
+ // * an application
95
+ // */
96
+ // if (inApp) {
97
+ // console.log(`Migrating database with core migrations and links ${dbName}`)
98
+ // await migrateDatabase(appLoader)
99
+ // await syncLinks(appLoader, cwd, containerRes)
100
+ // }
101
+ // const { default: axios } = (await import("axios")) as any
102
+ // const cancelTokenSource = axios.CancelToken.source()
103
+ // globalContainer = containerRes
104
+ // shutdown = async () => {
105
+ // await serverShutdownRes()
106
+ // cancelTokenSource.cancel("Request canceled by shutdown")
107
+ // }
108
+ // apiUtils = axios.create({
109
+ // baseURL: `http://localhost:${portRes}`,
110
+ // cancelToken: cancelTokenSource.token,
111
+ // })
112
+ // }
113
+ // const beforeEach_ = async () => {
114
+ // // The beforeAll already run everything, so lets not re run the loaders for the first iteration
115
+ // if (isFirstTime) {
116
+ // isFirstTime = false
117
+ // return
118
+ // }
119
+ // const container = options.getContainer()
120
+ // const copiedContainer = createEtoContainer({}, container)
121
+ // try {
122
+ // const { EtoAppLoader } = await import("@etohq/framework")
123
+ // // const data = generateModulesDefinition(CORE_MODULE_DEFINITIONS)
124
+ // const etoAppLoader = new EtoAppLoader({
125
+ // container: copiedContainer,
126
+ // modulesDefinition: CORE_MODULE_DEFINITIONS,
127
+ // })
128
+ // await etoAppLoader.runModulesLoader()
129
+ // } catch (error) {
130
+ // console.error("Error runner modules loaders", error?.message)
131
+ // throw error
132
+ // }
133
+ // }
124
134
  const afterEach_ = async () => {
125
135
  try {
126
136
  await dbUtils.teardown({ schema });
@@ -131,8 +141,8 @@ function etoIntegrationTestRunner({ moduleName, dbName, etoConfigFile, schema =
131
141
  }
132
142
  };
133
143
  return describe("", () => {
134
- beforeAll(beforeAll_);
135
- beforeEach(beforeEach_);
144
+ // beforeAll(beforeAll_)
145
+ // beforeEach(beforeEach_)
136
146
  afterEach(afterEach_);
137
147
  afterAll(async () => {
138
148
  await dbUtils.shutdown(dbName);
@@ -1 +1 @@
1
- {"version":3,"file":"eto-test-runner.js","sourceRoot":"","sources":["../src/eto-test-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eto-test-runner.js","sourceRoot":"","sources":["../src/eto-test-runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etohq/test-utils",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Test utils for Eto",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -25,7 +25,7 @@
25
25
  "author": "Eto",
26
26
  "license": "MIT",
27
27
  "devDependencies": {
28
- "@etohq/framework": "^1.0.0",
28
+ "@etohq/framework": "^1.2.0",
29
29
  "@mikro-orm/core": "5.9.7",
30
30
  "@mikro-orm/knex": "5.9.7",
31
31
  "@mikro-orm/migrations": "5.9.7",
@@ -41,13 +41,12 @@
41
41
  "dependencies": {
42
42
  "@types/express": "^4.17.17",
43
43
  "axios": "^0.21.4",
44
- "express": "^4.21.0",
45
44
  "get-port": "^5.1.1",
46
45
  "randomatic": "^3.1.1"
47
46
  },
48
47
  "peerDependencies": {
49
- "@etohq/eto": "^1.0.0",
50
- "@etohq/framework": "^1.0.0",
48
+ "@etohq/eto": "^1.1.0",
49
+ "@etohq/framework": "^1.1.0",
51
50
  "@mikro-orm/postgresql": "5.9.7",
52
51
  "awilix": "^8.0.1"
53
52
  },