happner
Version:
distributed application engine with evented storage and mesh services
57 lines (40 loc) • 1.29 kB
JavaScript
describe('Using the clientside only', function () {
this.timeout(20000);
var spawn = require('child_process').spawn;
var sep = require('path').sep;
var remote;
var assert = require('assert');
var path = require('path');
var sep = path.sep;
var libFolder = path.resolve(__dirname, '../' + sep + 'lib');
console.log(libFolder);
// Spawn mesh in another process.
before(function (done) {
remote = spawn('node', [libFolder + sep + '4-first-mesh']);
remote.stdout.on('data', function (data) {
if (!data.toString().match(/READY/)) return;
done();
});
});
after(function (done) {
remote.kill();
done();
})
context('with clientside bits', function () {
it('can ride the slippery slip', function (done) {
var happn = require('happn');
var MeshClient = require('../../lib/system/api');
new MeshClient('localhost', 3001, 'mesh', function (err, client) {
if (err) return done(err);
client.exchange
.theFarawayTree.moonface.rideTheSlipperySlip(
'one!', 'two!', 'three!', function (err, res) {
if (err) return done(err);
assert(res == 'one! two! three!, wheeeeeeeeeeeeheeee!');
done();
}
);
});
});
})
});