UNPKG

1.15 kBJavaScriptView Raw
1var assert = require('assert'),
2 WebSocket = require('ws'),
3 koa = require('koa'),
4 route = require('koa-route');
5
6var koaws = require('..');
7
8describe('should route ws messages seperately', function() {
9 var app = koaws(koa());
10 app.ws.use(route.all('/abc', function*(next) {
11 this.on('message', function(message) {
12 this.send(message);
13 }.bind(this));
14 }));
15
16 app.ws.use(route.all('/def', function*(next) {
17 this.on('message', function(message) {
18 this.send(message);
19 }.bind(this));
20 }));
21
22 var server = app.listen();
23
24 it("sends abc message to abc route", function(done){
25 var ws = new WebSocket('ws://localhost:' + server.address().port + '/abc');
26 ws.on('open', function() {
27 ws.send("abc");
28 });
29 ws.on('message', function(message) {
30 assert(message === 'abc');
31 done();
32 });
33 });
34
35 it("sends def message to def route", function(done){
36 var ws = new WebSocket('ws://localhost:' + server.address().port + '/def');
37 ws.on('open', function() {
38 ws.send("def");
39 });
40 ws.on('message', function(message) {
41 assert(message === 'def');
42 done();
43 });
44 });
45});