agent.socket.disconnect(); agent.log.error('Disconnect...'); }); this.reconnecting = true; if (agent.socket != null) { agent.socket.disconnect(); agent.connected = false;
disconnect() { if (this.socket) { this.socket.disconnect(); } }
describe('Successful connection', () => { it('Should emit connected', (done) => { const socket = io(`${socketURL}?browserId=someBrowserId`); socket.on('connected', (data) => { expect(data.message).to.equal('connected'); socket.disconnect(); done(); }); }); });
it('Should force one coil', function(done) { var socket = io.connect(socketURL, options); socket.on('connect', function() { socket.emit('writeCoil', { "unit": 1, "address": 8, "state": true }); }); socket.on('data', function(data){ expect(data).to.have.property('data'); expect(data.data).to.equal(true); socket.disconnect(); done() }); });
describe('The application server', function() { it('should serve webpages over HTTP', async function() { var result = await client.get('index.html'); expect(result.statusCode).to.equal(200); }); it('should have a socket.io server', async function() { var socket = socketClient(config.SELF_URL); await new Promise(function(resolve) { socket.on('connect', resolve); }); socket.disconnect(); }); });
function bob_create(ready) { var user_payload = { id: 'bob', admin: false, anonymous: false, username: 'bob', displayname: 'bob', }; var socket = io.connect('http://localhost:3000', {'force new connection': true}); socket.on('connect', function() { socket.removeListener('connect', this); socket.emit('fruum:auth', { app_id: 'test', user: user_payload, }); socket.on('fruum:auth', function(payload) { socket.removeListener('fruum:auth', this); socket.removeListener('connect', this); socket.disconnect(); socket = null; ready(); }); }); }
describe('Socketio Events', () => { beforeEach((done) => { ioOptions.extraHeaders['X-Real-Ip'] = '192.168.0.2'; client = io(`http://localhost:${config.node.port}/`, ioOptions); done(); }); afterEach((done) => { client.disconnect(); done(); }); describe('Connection', () => { it('Broadcasts add-ip event', (done) => { const otherIp = '192.168.0.3'; client.on('add-ip', (ip) => { expect(ip).to.be.a('number'); done(); }); setTimeout(() => { ioOptions.extraHeaders['X-Real-Ip'] = otherIp; const otherClient = io(`http://localhost:${config.node.port}/`, ioOptions); setTimeout(() => { otherClient.disconnect(); }, 3000); }, 10000); }); }); });
it('Should get coils after force one coil', function(done) { var socket = io.connect(socketURL, options); socket.on('connect', function() { socket.emit('readDiscreteInputs', { "unit": 1, "address": 8, "length": 8 }); }); socket.on('data', function(data){ expect(data).to.have.property('flag'); expect(data.type).to.equal(2); expect(data.flag).to.equal('get'); expect(data).to.have.property('data'); expect(data.data[0]).to.equal(true); expect(data.data[7]).to.equal(false); socket.disconnect(); done() }); });
it('Should get input registers', function(done) { var socket = io.connect(socketURL, options); socket.on('connect', function() { socket.emit('readInputRegisters', { "unit": 1, "address": 8, "length": 3 }); }); socket.on('data', function(data){ expect(data).to.have.property('flag'); expect(data.flag).to.equal('get'); expect(data).to.have.property('data').with.length(3); expect(data.data.toString()).to.equal([8, 9, 10].toString()); socket.disconnect(); done() }); });
it('Should get input status', function(done) { var socket = io.connect(socketURL, options); socket.on('connect', function() { socket.emit('readDiscreteInputs', { "unit": 1, "address": 1, "length": 8 }); }); socket.on('data', function(data){ expect(data).to.have.property('flag'); expect(data.type).to.equal(2); expect(data.flag).to.equal('get'); expect(data).to.have.property('data'); expect(data.data[7]).to.equal(true); socket.disconnect(); done() }); });
it('Should set holding registers', function(done) { var socket = io.connect(socketURL, options); socket.on('connect', function() { socket.emit('writeRegisters', { "unit": 1, "address": 8, "values": [88,123,47] }); }); socket.on('data', function(data){ expect(data).to.have.property('flag'); expect(data.flag).to.equal('set'); socket.disconnect(); done() }); });
agent.socket.disconnect(); agent.log.error('Disconnect...'); }); this.reconnecting = true; if (agent.socket != null) { agent.socket.disconnect(); agent.connected = false;
it('Should get holding registers with the new values', function(done) { var socket = io.connect(socketURL, options); socket.on('connect', function() { socket.emit('readHoldingRegisters', { "unit": 1, "address": 8, "length": 3 }); }); socket.on('data', function(data){ expect(data).to.have.property('flag'); expect(data.flag).to.equal('get'); expect(data).to.have.property('data').with.length(3); expect(data.data.toString()).to.equal([88,123,47].toString()); socket.disconnect(); done() }); });
it('Should get holding registers from cache', function(done) { var socket = io.connect(socketURL, options); socket.on('connect', function() { socket.emit('readHoldingRegisters', { "unit": 1, "address": 8, "length": 3 }); }); socket.on('data', function(data){ expect(data).to.have.property('flag'); expect(data.flag).to.equal('get'); expect(data).to.have.property('data').with.length(3); expect(data.data.toString()).to.equal([88,123,47].toString()); socket.disconnect(); done() }); });
it('Should get input status from cache', function(done) { var socket = io.connect(socketURL, options); socket.on('connect', function() { socket.emit('readDiscreteInputs', { "unit": 1, "address": 1, "length": 8 }); }); socket.on('data', function(data){ expect(data).to.have.property('flag'); expect(data.type).to.equal(2); expect(data.flag).to.equal('get'); expect(data).to.have.property('data'); expect(data.data[0]).to.equal(false); expect(data.data[7]).to.equal(true); socket.disconnect(); done() }); });