pdfer-job-pusher
Version:
Push new pdf extract jobs out to workers
51 lines (45 loc) • 1.33 kB
JavaScript
var inspect = require('eyespect').inspector();
var path = require('path');
var fs = require('fs');
var assert = require('assert');
var seaport = require('seaport');
var configFilePath = path.join(__dirname, 'config.json');
var fork = require('child_process').fork;
assert.ok(fs.existsSync(configFilePath), 'config file not found at path: ' + configFilePath);
var config = require('docparse-config')(configFilePath);
describe('start pusher', function () {
var seaportServer;
before(function(done) {
seaportServer = startSeaport(config);
done();
});
after(function() {
seaportServer.close();
});
it('should start pusher', function (done) {
this.slow('4s');
this.timeout('8s');
var pushData = {
config: config
};
var spinUpPath = path.join(__dirname, '..', 'spinUpPusher.js');
var opts = {
silent: true
};
var child = fork(spinUpPath, ['--config', configFilePath], opts);
child.stderr.pipe(process.stderr);
child.stdout.pipe(process.stdout);
var pattern = /pusher started/;
child.stdout.on('data', function(data) {
if (pattern.test(data)) {
done();
}
});
});
});
function startSeaport(config) {
var port = config.get('seaport:port');
var server = seaport.createServer();
server.listen(port);
return server;
}