Skip to content

Commit b949637

Browse files
committed
Scripts in package for testing transports
1 parent 463d326 commit b949637

File tree

8 files changed

+128
-119
lines changed

8 files changed

+128
-119
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
"test-electron": "browserify test/*.js | tape-run --render=\"faucet\"",
6060
"test-chrome": "browserify test/*.js | tape-run --render=\"faucet\" --browser chrome",
6161
"test-safari": "browserify test/*.js | tape-run --render=\"faucet\" --browser safari",
62-
"test-firefox": "browserify test/*.js | tape-run --render=\"faucet\" --browser firefox"
62+
"test-firefox": "browserify test/*.js | tape-run --render=\"faucet\" --browser firefox",
63+
"test-websockets": "tap test/transports/**.js --test-arg=websockets"
6364
}
6465
}

src/env/browser/websocket.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ function websocket(dop, node, options) {
6464
dop.core.emitDisconnect(node);
6565
dop.core.setSocketToNode(node, socket);
6666
}
67-
socket.send(message_response);
67+
send(message_response);
6868
readyState = CONNECT;
6969
dop.core.emitConnect(node);
7070
sendQueue();
@@ -75,7 +75,7 @@ function websocket(dop, node, options) {
7575
}
7676

7777
function reconnect() {
78-
if (readyState !== CONNECT) {
78+
if (readyState === CLOSE) {
7979
oldSocket = socket;
8080
socket = new api(url);
8181
readyState = CONNECTING;

test/protocol/protocol_queue.js

Lines changed: 0 additions & 67 deletions
This file was deleted.
Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,16 @@ var test = require('tape');
22
var dop = require('../../dist/nodejs');
33
var dopServer = dop.create();
44
var dopClient = dop.create();
5-
var localtransportlisten = require('dop-transports').listen.local;
6-
var localtransportconnect = require('dop-transports').connect.local;
7-
var localtransportlistensocketio = require('dop-transports').listen.socketio;
8-
var localtransportconnectsocketio = require('dop-transports').connect.socketio;
95

10-
// var server = dop.listen({transport:localtransportlisten});
11-
// var client = dopClient.connect({transport:localtransportconnect, listener:server});
12-
// server = dop.listen({transport:localtransportlistensocketio});
13-
// client = dopClient.connect({transport:localtransportconnectsocketio});
6+
var transportName = process.argv[2] || 'local';
7+
var transportListen = require('dop-transports').listen[transportName];
8+
var transportConnect = require('dop-transports').connect[transportName];
9+
10+
11+
1412
var timeoutDisconnect = 2, timeoutCheck; // seconds
15-
var server = dopServer.listen({timeout:timeoutDisconnect});
16-
var nodeClient = dopClient.connect();
13+
var server = dopServer.listen({transport:transportListen, timeout:timeoutDisconnect});
14+
var nodeClient = dopClient.connect({transport:transportConnect});
1715
dopServer.env = 'SERVER'
1816
dopClient.env = 'CLIENT'
1917
var nodeServer, socketServer, socketClient;
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
var test = require('tape');
22
var dop = require('../../dist/nodejs').create();
33
var dopClient = require('../../dist/nodejs').create();
4-
var localtransportlisten = require('dop-transports').listen.local;
5-
var localtransportconnect = require('dop-transports').connect.local;
6-
7-
// Browsers
8-
// var server = dop.listen({transport:localtransportlisten});
9-
// var client = dopClient.connect({transport:localtransportconnect, listener:server});
10-
// node.js (WebSockets)
11-
var server = dop.listen();
12-
var client = dopClient.connect();
4+
5+
6+
var transportName = process.argv[2] || 'local';
7+
var transportListen = require('dop-transports').listen[transportName];
8+
var transportConnect = require('dop-transports').connect[transportName];
9+
10+
var server = dop.listen({transport:transportListen, timeout:1});
11+
var client = dopClient.connect({transport:transportConnect});
12+
1313

1414
var tend;
1515
test('Events', function(t) {

test/transports/queue.js

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
var test = require('tape');
2+
var dop = require('../../dist/nodejs');
3+
var dopServer = dop.create();
4+
var dopClient = dop.create();
5+
6+
var transportName = process.argv[2] || 'local';
7+
var transportListen = require('dop-transports').listen[transportName];
8+
var transportConnect = require('dop-transports').connect[transportName];
9+
10+
11+
var server = dopServer.listen({transport:transportListen, timeout:2});
12+
var nodeClient = dopClient.connect({transport:transportConnect});
13+
dopServer.env = 'SERVER'
14+
dopClient.env = 'CLIENT'
15+
var nodeServer, socketServer, socketClient;
16+
var tokenServer, tokenClient;
17+
var order = 0;
18+
19+
20+
21+
22+
var msg=0;
23+
function send() {
24+
nodeClient.send(String(msg));
25+
if (nodeServer)
26+
nodeServer.send(String(msg));
27+
if (msg++ < 15)
28+
setTimeout(send, 200);
29+
}
30+
send();
31+
32+
33+
34+
35+
var incS=0, incC=1;
36+
test('CONNECT TEST', function(t) {
37+
38+
server.on('connect', function(node){
39+
nodeServer = node;
40+
});
41+
server.on('message', function(node, message){
42+
if (message[0] !== '[') {
43+
t.equal(message, String(incS++), '❌ message `'+message+'`');
44+
if (incS===16 && incC===16) {
45+
server.listener.close();
46+
t.end();
47+
}
48+
}
49+
});
50+
51+
nodeClient.on('message', function(message){
52+
if (message[0] !== '[') {
53+
t.equal(message, String(incC++), '✅ message `'+message+'`');
54+
if (incS===16 && incC===16) {
55+
server.listener.close();
56+
t.end();
57+
}
58+
}
59+
});
60+
});
61+
62+
63+
64+
65+
66+
67+
setTimeout(function(){
68+
// console.log( 'closing...' );
69+
nodeClient.socket.close();
70+
setTimeout(function(){
71+
// console.log( 'reconnecting...' );
72+
nodeClient.reconnect();
73+
},500);
74+
}, 1000);
75+
76+
setTimeout(function(){
77+
// console.log( 'closing2...' );
78+
nodeClient.socket.close();
79+
setTimeout(function(){
80+
// console.log( 'reconnecting2...' );
81+
nodeClient.reconnect();
82+
},500);
83+
}, 2000);
Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,13 @@ var test = require('tape');
22
var dop = require('../../dist/nodejs');
33
var dopServer = dop.create();
44
var dopClient = dop.create();
5-
var uwstransportlisten = require('dop-transports').listen.uws;
6-
var localtransportlisten = require('dop-transports').listen.local;
7-
var localtransportconnect = require('dop-transports').connect.local;
8-
var socketiotransportlisten = require('dop-transports').listen.socketio;
9-
var socketiotransportconnect = require('dop-transports').connect.socketio;
105

11-
// var server = dop.listen({transport:localtransportlisten});
12-
// var client = dopClient.connect({transport:localtransportconnect, listener:server});
13-
// server = dop.listen({transport:socketiotransportlisten});
14-
// client = dopClient.connect({transport:socketiotransportconnect});
15-
var server = dopServer.listen({timeout:1.5});
16-
var nodeClient = dopClient.connect();
6+
var transportName = process.argv[2] || 'local';
7+
var transportListen = require('dop-transports').listen[transportName];
8+
var transportConnect = require('dop-transports').connect[transportName];
9+
10+
var server = dopServer.listen({transport:transportListen, timeout:1.5});
11+
var nodeClient = dopClient.connect({transport:transportConnect});
1712
dopServer.env = 'SERVER'
1813
dopClient.env = 'CLIENT'
1914
var nodeServer, socketServer, socketClient;
@@ -56,11 +51,11 @@ test('RECONNECT TEST', function(t) {
5651

5752
// Disconnecting
5853
setTimeout(function(){
59-
console.log( 'closing...' );
54+
// console.log( 'closing...' );
6055
nodeClient.socket.close();
6156
}, 500)
6257
// Reconnecting
6358
setTimeout(function(){
64-
console.log( 'reconnecting...' );
59+
// console.log( 'reconnecting...' );
6560
nodeClient.reconnect();
6661
}, 1000);
Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,18 @@ var test = require('tape');
22
var dop = require('../../dist/nodejs');
33
var dopServer = dop.create();
44
var dopClient = dop.create();
5-
var uwstransportlisten = require('dop-transports').listen.uws;
6-
var localtransportlisten = require('dop-transports').listen.local;
7-
var localtransportconnect = require('dop-transports').connect.local;
8-
var socketiotransportlisten = require('dop-transports').listen.socketio;
9-
var socketiotransportconnect = require('dop-transports').connect.socketio;
5+
var transportName = process.argv[2] || 'local';
6+
var transportListen = require('dop-transports').listen[transportName];
7+
var transportConnect = require('dop-transports').connect[transportName];
108

11-
// var server = dop.listen({transport:localtransportlisten});
12-
// var client = dopClient.connect({transport:localtransportconnect, listener:server});
13-
// server = dop.listen({transport:socketiotransportlisten});
14-
// client = dopClient.connect({transport:socketiotransportconnect});
15-
var server = dopServer.listen({timeout:1});
16-
var nodeClient = dopClient.connect();
9+
var server = dopServer.listen({transport:transportListen, timeout:1});
10+
var nodeClient = dopClient.connect({transport:transportConnect});
1711
dopServer.env = 'SERVER'
1812
dopClient.env = 'CLIENT'
1913
var nodeServer, socketServer, socketClient;
2014
var tokenServer, tokenClient;
2115
var order = 0;
16+
var connected2 = false;
2217

2318
test('RECONNECT TEST', function(t) {
2419

@@ -33,11 +28,17 @@ test('RECONNECT TEST', function(t) {
3328
tokenServer = node.token;
3429
t.equal(node.socket, socketServer, '❌ connect 1');
3530
}
36-
else
31+
else {
32+
connected2 = true;
3733
t.notEqual(node.socket, socketServer, '❌ connect 2');
34+
// nodeClient.disconnect();
35+
server.listener.close();
36+
t.end();
37+
}
3838
});
3939
server.on('disconnect', function(node){
40-
t.equal(node, nodeServer, '❌ disconnect');
40+
if (connected2 === false)
41+
t.equal(node, nodeServer, '❌ disconnect');
4142
});
4243
server.on('reconnect', function(node, oldSocket){
4344
t.equal(false, true, '❌ reconnect'); // this should not happen
@@ -57,8 +58,6 @@ test('RECONNECT TEST', function(t) {
5758
}
5859
else {
5960
t.notEqual(nodeClient.socket, socketClient, '✅ connect 2');
60-
t.end();
61-
// server.listener.close();
6261
}
6362
});
6463
nodeClient.on('disconnect', function() {
@@ -74,11 +73,11 @@ test('RECONNECT TEST', function(t) {
7473

7574
// Disconnecting
7675
setTimeout(function(){
77-
console.log( 'closing...' );
76+
// console.log( 'closing...' );
7877
nodeClient.socket.close();
7978
}, 500)
8079
// Reconnecting
8180
setTimeout(function(){
82-
console.log( 'late reconnecting...' );
81+
// console.log( 'late reconnecting...' );
8382
nodeClient.reconnect();
8483
}, 3000);

0 commit comments

Comments
 (0)