@backstage/backend-test-utils
Version:
Test helpers library for Backstage backends
41 lines (35 loc) • 1.05 kB
JavaScript
;
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