Implement WebSocketServer Adapter (#5866)

* Implement WebSocketServerAdapter

* lint

* clean up
This commit is contained in:
Diamond Lewis
2019-07-30 09:05:41 -05:00
committed by GitHub
parent 7c8e940f53
commit 218c3499f9
10 changed files with 571 additions and 522 deletions

View File

@@ -9,26 +9,26 @@ describe('ParseWebSocket', function() {
expect(parseWebSocket.ws).toBe(ws);
});
it('can handle events defined in typeMap', function() {
it('can handle disconnect event', function(done) {
const ws = {
on: jasmine.createSpy('on'),
onclose: () => {},
};
const callback = {};
const parseWebSocket = new ParseWebSocket(ws);
parseWebSocket.on('disconnect', callback);
expect(parseWebSocket.ws.on).toHaveBeenCalledWith('close', callback);
parseWebSocket.on('disconnect', () => {
done();
});
ws.onclose();
});
it('can handle events which are not defined in typeMap', function() {
it('can handle message event', function(done) {
const ws = {
on: jasmine.createSpy('on'),
onmessage: () => {},
};
const callback = {};
const parseWebSocket = new ParseWebSocket(ws);
parseWebSocket.on('open', callback);
expect(parseWebSocket.ws.on).toHaveBeenCalledWith('open', callback);
parseWebSocket.on('message', () => {
done();
});
ws.onmessage();
});
it('can send a message', function() {

View File

@@ -1,5 +1,4 @@
const ParseWebSocketServer = require('../lib/LiveQuery/ParseWebSocketServer')
.ParseWebSocketServer;
const { ParseWebSocketServer } = require('../lib/LiveQuery/ParseWebSocketServer');
describe('ParseWebSocketServer', function() {
beforeEach(function(done) {
@@ -19,14 +18,14 @@ describe('ParseWebSocketServer', function() {
const parseWebSocketServer = new ParseWebSocketServer(
server,
onConnectCallback,
5
{ websocketTimeout: 5 }
).server;
const ws = {
readyState: 0,
OPEN: 0,
ping: jasmine.createSpy('ping'),
};
parseWebSocketServer.emit('connection', ws);
parseWebSocketServer.onConnection(ws);
// Make sure callback is called
expect(onConnectCallback).toHaveBeenCalled();