Files
zpc-bulletin-board/ZpcBulletinBoard/wwwroot/lib/popper/farms/saucelabs/index.js
David Štaleker 28d1630749 prvi
2024-02-23 12:56:54 +01:00

39 lines
1.1 KiB
JavaScript

const { extend, str } = require('utilise/pure')
, browsers = require('./browsers.json')
, err = require('utilise/err')('[popper][saucelabs]')
, log = require('utilise/log')('[popper][saucelabs]')
module.exports = { browsers, connect, status, parse }
function connect(wd) {
const env = process.env
, key = env.SAUCE_ACCESS_KEY
, user = env.SAUCE_USERNAME
, host = 'ondemand.saucelabs.com'
return !user || !key
? (err('Please provide your SauceLabs Credentials'), false)
: wd.remote(host, 80, user, key)
}
function status(browser, platform) {
browser.vm
.sauceJobStatus(browser.passed, e => {
e ? err(e) : log(
'status updated'
, platform.uid.bold
, str(browser.passed)[browser.passed ? 'green' : 'red']
, str(browser.build).grey
)
browser.vm.quit()
})
}
function parse(opts) {
return extend(opts)({
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
, build: process.env.TRAVIS_BUILD_NUMBER || ~~(Math.random()*100000000)
, username: process.env.SAUCE_USERNAME
, accessKey: process.env.SAUCE_ACCESS_KEY
})
}