diff --git a/lib/SauceBrowser.js b/lib/SauceBrowser.js index 0457590..18d9d58 100644 --- a/lib/SauceBrowser.js +++ b/lib/SauceBrowser.js @@ -52,7 +52,7 @@ SauceBrowser.prototype.start = function() { return self.shutdown(err); } - self.emit('init', conf); + self.emit('init', conf, url); var init_conf = xtend({ build: conf.build, diff --git a/test/integration/sauce-connect-loopback.js b/test/integration/sauce-connect-loopback.js new file mode 100644 index 0000000..f31c1e4 --- /dev/null +++ b/test/integration/sauce-connect-loopback.js @@ -0,0 +1,74 @@ +var Zuul = require('../../'); + +var auth = require('../auth'); +var assert = require('assert'); +var URL = require('url'); + +test('sauce connect without loopback option', function(done) { + var config = { + ui: 'mocha-bdd', + sauce_connect: true, + username: auth.username, + key: auth.key + }; + + var zuul = Zuul(config); + + zuul.browser({ + name: 'internet explorer', + version: '11' + }); + + var browser = zuul._browsers[0]; + + browser.on('init', function(browserConfig, url) { + assert.equal(zuul._config.sauce_connect, true) + assert.equal(zuul._config.tunnel, false) + assert.equal(URL.parse(url).hostname, 'localhost') + + browser.shutdown(); + }); + + browser.on('done', function(/*stats*/) { + done(); + }); + + browser.on('error', done); + + browser.start(); +}); + +test('sauce connect with loopback option', function(done) { + var config = { + ui: 'mocha-bdd', + sauce_connect: true, + loopback: 'test.local', + username: auth.username, + key: auth.key + }; + + var zuul = Zuul(config); + + zuul.browser({ + name: 'internet explorer', + version: '11' + }); + + var browser = zuul._browsers[0]; + + browser.on('init', function(browserConfig, url) { + assert.equal(zuul._config.sauce_connect, true) + assert.equal(zuul._config.tunnel, false) + assert.equal(URL.parse(url).hostname, 'test.local') + + browser.shutdown(); + }); + + browser.on('done', function(/*stats*/) { + done(); + }); + + browser.on('error', done); + + browser.start(); +});