UNPKG

hermione-sauce

Version:

Plugin for starting up Sauce Connect when running tests with hermione

37 lines (29 loc) 863 B
const uuid = require('uuid'); const { promisify } = require('util'); const sauceConnectLauncher = require('sauce-connect-launcher'); const launchSauceConnect = promisify(sauceConnectLauncher); module.exports = class Sauce { static create(config) { return new this(config); } constructor(config) { this._config = config; this._sauceConnectProcess = null; } async start() { const { username, accessKey, verbose } = this._config; const gridUrl = `http://${username}:${accessKey}@ondemand.saucelabs.com:80/wd/hub`; const tunnelIdentifier = uuid.v4(); this._sauceConnectProcess = await launchSauceConnect({ username, accessKey, logger: console.log, verbose, tunnelIdentifier }); return { gridUrl, tunnelIdentifier }; } stop() { return this._sauceConnectProcess.close(); } };