UNPKG

@backstage/backend-test-utils

Version:

Test helpers library for Backstage backends

41 lines (35 loc) 1.05 kB
'use strict'; var knexFactory = require('knex'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var knexFactory__default = /*#__PURE__*/_interopDefaultCompat(knexFactory); class SqliteEngine { static async create(properties) { return new SqliteEngine(properties); } #properties; #instances; constructor(properties) { this.#properties = properties; this.#instances = []; } async createDatabaseInstance() { const instance = knexFactory__default.default({ client: this.#properties.driver, connection: ":memory:", useNullAsDefault: true }); instance.client.pool.on("createSuccess", (_eventId, resource) => { resource.run("PRAGMA foreign_keys = ON", () => { }); }); this.#instances.push(instance); return instance; } async shutdown() { for (const instance of this.#instances) { await instance.destroy(); } } } exports.SqliteEngine = SqliteEngine; //# sourceMappingURL=sqlite.cjs.js.map