diff --git a/lib/sauce_connect.js b/lib/sauce_connect.js index deb45d3..e76d055 100644 --- a/lib/sauce_connect.js +++ b/lib/sauce_connect.js @@ -7,16 +7,8 @@ var SauceConnect = function(emitter, logger) { var alreadyRunningDefered; var alreadyRunningProces; - this.start = function(username, accessKey, tunnelIdentifier, done) { - var options = { - username: username, - accessKey: accessKey, - verbose: false, - logfile: null, - logger: log.debug.bind(log), - no_progress: false, - tunnelIdentifier: tunnelIdentifier - }; + this.start = function(connectOptions, done) { + connectOptions.logger = log.debug.bind(log); // TODO(vojta): if different username/accessKey, start a new process if (alreadyRunningDefered) { @@ -25,7 +17,7 @@ var SauceConnect = function(emitter, logger) { } alreadyRunningDefered = q.defer(); - launchSauceConnect(options, function(err, p) { + launchSauceConnect(connectOptions, function(err, p) { if (err) { return alreadyRunningDefered.reject(err); } diff --git a/lib/sauce_launcher.js b/lib/sauce_launcher.js index 50a50f5..5761ca4 100644 --- a/lib/sauce_launcher.js +++ b/lib/sauce_launcher.js @@ -28,6 +28,13 @@ var SauceLauncher = function(args, sauceConnect, /* config.sauceLabs */ config, tunnelIdentifier = 'karma' + Math.round(new Date().getTime() / 1000); } + var connectOptions = config.connectOptions || {}; + connectOptions = helper.merge(connectOptions, { + username: username, + accessKey: accessKey, + tunnelIdentifier: tunnelIdentifier + }); + this.name = browserName + ' on SauceLabs'; var pendingHeartBeat; @@ -103,7 +110,7 @@ var SauceLauncher = function(args, sauceConnect, /* config.sauceLabs */ config, } if (startConnect) { - sauceConnect.start(username, accessKey, tunnelIdentifier).then(function() { + sauceConnect.start(connectOptions).then(function() { if (pendingCancellations > 0) { pendingCancellations--; return;