it('should find a simulator', function(done) { var starting = Start({ connect:false, force:true }); var connecting = starting.then(function(sim) { return Connect(); }); Q.all([connecting, starting]) .spread(function(sim1, sim2) { sim1.pid.should.equal(sim2.pid); }) .then(done) .fail(done); });
it('should reuse if port matches', function(done) { var starting = Start({ connect:false, force: true, port: 8081 }); var connecting = starting.then(function(sim) { return Connect(); }); Q.all([connecting, starting]) .spread(function(sim1, sim2) { sim1.port.should.equal(sim2.port); }) .then(done) .fail(done); });
it('should reuse if release matches', function(done) { var starting = Start({ connect:false, force: true, release: ['2.1'] }); var connecting = starting.then(function(sim) { return Connect(); }); Q.all([connecting, starting]) .spread(function(sim1, sim2) { var regex = new RegExp("^(" + sim2.release + ")"); assert(regex.exec(sim1.release)); }) .then(done) .fail(done); });
it('should start new sim if port not matching', function(done) { var starting = Start({ connect:false, force: true, port: 8081 }).fail(done); var connecting = starting.then(function(sim) { return Connect({force:true, port:8082}); }).fail(done); Q.all([connecting, starting]) .spread(function(sim1, sim2) { sim1.pid.should.not.equal(sim2.pid); sim1.port.should.equal(8082); }) .then(done) .fail(done); });