UNPKG

raptor-client

Version:

A transport-agnostic RPC client that follows the JSON-RPC 2.0 spec. Works in the browser and on the server.

43 lines (32 loc) 1.01 kB
/* eslint-env mocha */ var createClient = require('../') var RaptorServer = require('raptor-rpc') var testCases = require('./_testcases') var WebSocket = require('ws') var WebSocketServer = WebSocket.Server var PORT = 40001 describe('raptor#ws', function () { var client, server, transport before(function (done) { client = createClient('ws://localhost:' + PORT, { WebSocket: WebSocket }) server = new RaptorServer() transport = new WebSocketServer({ port: PORT }) transport.on('connection', function (ws) { var connection = server.connection(ws) ws.on('message', function (message) { connection.handleBuffer(message).then(function (response) { if (response) ws.send(JSON.stringify(response)) }) }) }) transport.on('listening', done) }) after(function (done) { transport.close(done) }) testCases.forEach(function (testCase) { it(testCase[0], function () { return testCase[1](server, client) }) }) })