});
it('should connect to other client', done => {
clientA = newClient(clientAId);
clientB = newClient(clientBId);
clientB.sharedSecret(function (clientId, callback) {
debug('clientB.sharedSecret(%s)', clientId);
callback(clientId === clientAId ? sharedSecret : null);
});
clientB.connect()
.then(function () {
debug('clientB connected to broker');
return clientA.connect(clientBId, sharedSecret);
})
.then(function () {
var connectedClients = clientA.getConnected(),
connClientB;
assert.strictEqual(connectedClients.length, 1);
connClientB = connectedClients[0];
assert.strictEqual(connClientB.clientId, clientBId);
assert.isTrue(Client.isConnected(connClientB));
debug('clientA connected to ' + clientBId);
closeClients(clientA, clientB).then(() => done());
})
.catch(pcatch);
});
it('should accept connection requests from other clients', done => {
clientA = newClient(clientAId);
clientB = newClient(clientBId);
clientA.sharedSecret(function (clientId, callback) {
callback(sharedSecret);
});
clientB.sharedSecret(function (clientId, callback) {
callback(sharedSecret);
});
clientB.on('client.connect', function (clientId) {
var connectedClients = clientB.getConnected(),
connClientA = connectedClients[0];
assert.strictEqual(clientId, clientAId);
assert.strictEqual(connectedClients.length, 1);
assert.isTrue(Client.isConnected(connClientA));
closeClients(clientA, clientB).then(() => done());
});
clientB.connect()
.then(function () {
clientSpec