Skip to content

Commit 3fd6a50

Browse files
committed
test: seed DB with test schema before running
1 parent eafd8ec commit 3fd6a50

File tree

3 files changed

+31
-1
lines changed

3 files changed

+31
-1
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
],
1212
"main": "index.js",
1313
"scripts": {
14+
"pretest": "node pretest.js",
1415
"test": "mocha -R spec --timeout 10000 --require test/init.js test/*.test.js"
1516
},
1617
"dependencies": {

pretest.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
if (!process.env.TEST_POSTGRESQL_USER && !process.env.CI) {
2+
console.log('not seeding DB with test db');
3+
return;
4+
}
5+
6+
var fs = require('fs');
7+
var cp = require('child_process');
8+
9+
var sql = fs.createReadStream(require.resolve('./test/schema.sql'));
10+
var stdio = ['pipe', process.stdout, process.stderr];
11+
process.env.PGHOST = process.env.TEST_POSTGRESQL_HOST ||
12+
process.env.POSTGRESQL_HOST || process.env.PGHOST || 'localhost';
13+
process.env.PGPORT = process.env.TEST_POSTGRESQL_PORT ||
14+
process.env.POSTGRESQL_PORT || process.env.PGPORT || 5432;
15+
process.env.PGUSER = process.env.TEST_POSTGRESQL_USER ||
16+
process.env.POSTGRESQL_USER || process.env.PGUSER || 'test';
17+
process.env.PGPASSWORD = process.env.TEST_POSTGRESQL_PASSWORD ||
18+
process.env.POSTGRESQL_PASSWORD || process.env.PGPASSWORD || 'test';
19+
20+
console.log('seeding DB with test db...');
21+
var psql = cp.spawn('psql', {stdio: stdio});
22+
sql.pipe(psql.stdin);
23+
psql.on('exit', function(code) {
24+
console.log('done seeding DB');
25+
setTimeout(function() {
26+
process.exit(code);
27+
}, 200);
28+
});

test/postgresql.discover.test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ var DataSource = require('loopback-datasource-juggler').DataSource;
1212
var db;
1313

1414
before(function () {
15-
var config = require('rc')('loopback', {dev: {postgresql: {}}}).dev.postgresql;
15+
var config = getDBConfig();
16+
config.database = 'strongloop';
1617
db = new DataSource(require('../'), config);
1718
});
1819

0 commit comments

Comments
 (0)