You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
886 B
JavaScript
39 lines
886 B
JavaScript
'use strict';
|
|
|
|
const databaseError = require("../");
|
|
|
|
const Promise = require("bluebird");
|
|
const knex = require("knex");
|
|
const util = require("util");
|
|
const path = require("path");
|
|
|
|
const createTables = require("./create-tables");
|
|
|
|
let db = knex({
|
|
client: "pg",
|
|
connection: {
|
|
host: "localhost",
|
|
user: "sven",
|
|
password: "password",
|
|
database: "database_error"
|
|
},
|
|
debug: true
|
|
});
|
|
|
|
return Promise.try(() => {
|
|
return createTables.down(db, true);
|
|
}).then(() => {
|
|
return createTables.up(db);
|
|
}).then(() => {
|
|
let testcase = require(path.join(process.cwd(), process.argv[2]));
|
|
return testcase(db);
|
|
}).catch(databaseError.rethrow).catch((err) => {
|
|
console.log("__________________\n");
|
|
console.error(util.inspect(err, {colors: true, depth: 1}));
|
|
console.log("__________________\n");
|
|
}).finally(() => {
|
|
return createTables.down(db);
|
|
}).finally(() => {
|
|
return db.destroy();
|
|
});
|