Skip to content

Commit

Permalink
tests: add e2e test for web socket proxying
Browse files Browse the repository at this point in the history
  • Loading branch information
shakyShane committed Jul 28, 2015
1 parent 8aa9261 commit 1ccc84a
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 9 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,14 @@
"browser-sync-spa": "^1.0.2",
"bs-snippet-injector": "^2.0.1",
"chai": "^3.2.0",
"chalk": "^1.0.0",
"chalk": "^1.1.0",
"conventional-changelog": "^0.0.17",
"graceful-fs": "^3.0.8",
"gulp": "^3.9.0",
"gulp-contribs": "0.0.3",
"gulp-filter": "^2.0.2",
"gulp-jscs": "^1.6.0",
"gulp-jshint": "^1.11.0",
"gulp-jshint": "^1.11.2",
"gulp-ruby-sass": "^1.0.5",
"gulp-yuidoc": "^0.1.2",
"istanbul": "^0.3.17",
Expand Down
21 changes: 15 additions & 6 deletions test/specs/e2e/cli/e2e.cli.proxy.ws.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"use strict";

var path = require("path");
//var request = require("supertest");
var assert = require("chai").assert;
var connect = require("connect");
var browserSync = require(path.resolve("./"));
var serveStatic = require("serve-static");
var socket = require("socket.io");
var client = require("socket.io-client");

var pkg = require(path.resolve("package.json"));
var cli = require(path.resolve(pkg.bin));
Expand All @@ -17,9 +17,9 @@ describe("E2E CLI proxy + websockets test", function () {
before(function (done) {

browserSync.reset();
var app = connect();
app.use(serveStatic("./test/fixtures"));
server = app.listen();
var app = connect();
server = app.listen();

var proxytarget = "http://localhost:" + server.address().port;

cli({
Expand All @@ -43,7 +43,16 @@ describe("E2E CLI proxy + websockets test", function () {
server.close();
instance.cleanup();
});
it("Adds the proxy.ws options", function () {
it("can proxy websocket upgrades", function (done) {

assert.equal(instance.options.getIn(["proxy", "ws"]), true);

socket(server);

server.on("upgrade", function () {
done();
});

client.connect(instance.options.getIn(["urls", "local"]), {forceNew: true});
});
});
3 changes: 2 additions & 1 deletion test/specs/e2e/e2e.sockets.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ describe("E2E Sockets test", function () {
it("should accept an event & broadcast it", function (done) {

var called;

instance.io.sockets.on("connection", function (client) {
if (!called) {
called = true;
Expand All @@ -34,7 +35,7 @@ describe("E2E Sockets test", function () {
var options = instance.options.toJS();

var connectionUrl = options.urls.local + options.socket.namespace;
var client1 = socket(connectionUrl, {path: options.socket.path});
var client1 = socket(connectionUrl, {path: options.socket.path, forceNew: true});

client1.emit("scroll", {name:"shane"});
});
Expand Down

0 comments on commit 1ccc84a

Please sign in to comment.