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

'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();
});