Commit 3b2ee60e authored by yann300's avatar yann300

send test result to saucelabs

parent e7f3cf83
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
var contractHelper = require('../helpers/contracts') var contractHelper = require('../helpers/contracts')
var examples = require('../../src/app/example-contracts') var examples = require('../../src/app/example-contracts')
var init = require('../helpers/init') var init = require('../helpers/init')
var sauce = require('./sauce')
var sources = { var sources = {
'sources': { 'sources': {
...@@ -18,7 +19,8 @@ module.exports = { ...@@ -18,7 +19,8 @@ module.exports = {
}, },
'Ballot': function (browser) { 'Ballot': function (browser) {
runTests(browser) runTests(browser)
} },
tearDown: sauce
} }
function runTests (browser, testData) { function runTests (browser, testData) {
......
'use strict' 'use strict'
var init = require('../helpers/init') var init = require('../helpers/init')
var sauce = require('./sauce')
module.exports = { module.exports = {
before: function (browser, done) { before: function (browser, done) {
...@@ -10,5 +11,6 @@ module.exports = { ...@@ -10,5 +11,6 @@ module.exports = {
.waitForElementPresent('#debugger', 10000) .waitForElementPresent('#debugger', 10000)
.waitForElementPresent('#debugger #slider', 10000) .waitForElementPresent('#debugger #slider', 10000)
.end() .end()
} },
tearDown: sauce
} }
'use strict' 'use strict'
var init = require('../helpers/init') var init = require('../helpers/init')
var sauce = require('./sauce')
module.exports = { module.exports = {
before: function (browser, done) { before: function (browser, done) {
...@@ -12,5 +13,6 @@ module.exports = { ...@@ -12,5 +13,6 @@ module.exports = {
.pause('10000') .pause('10000')
.assert.containsText('.active', 'Untitled') .assert.containsText('.active', 'Untitled')
.end() .end()
} },
tearDown: sauce
} }
const https = require('https')
module.exports = function sauce (callback) {
const currentTest = this.client.currentTest
const username = this.client.options.username
const sessionId = this.client.capabilities['webdriver.remote.sessionid']
const accessKey = this.client.options.accessKey
if (!this.client.launch_url.match(/saucelabs/)) {
console.log('Not saucelabs ...')
return callback()
}
if (!username || !accessKey || !sessionId) {
console.log(this.client)
console.log('No username, accessKey or sessionId')
return callback()
}
const passed = currentTest.results.passed === currentTest.results.tests
const data = JSON.stringify({passed})
const requestPath = `/rest/v1/${username}/jobs/${sessionId}`
function responseCallback (res) {
res.setEncoding('utf8')
console.log('Response: ', res.statusCode, JSON.stringify(res.headers))
res.on('data', function onData (chunk) {
console.log('BODY: ' + chunk)
})
res.on('end', function onEnd () {
console.info('Finished updating saucelabs')
callback()
})
}
try {
console.log('Updating saucelabs', requestPath)
const req = https.request({
hostname: 'saucelabs.com',
path: requestPath,
method: 'PUT',
auth: `${username}:${accessKey}`,
headers: {
'Content-Type': 'application/json',
'Content-Length': data.length
}
}, responseCallback)
req.on('error', function onError (e) {
console.log('problem with request: ' + e.message)
})
req.write(data)
req.end()
} catch (error) {
console.log('Error', error)
callback()
}
}
'use strict' 'use strict'
var contractHelper = require('../helpers/contracts') var contractHelper = require('../helpers/contracts')
var init = require('../helpers/init') var init = require('../helpers/init')
var sauce = require('./sauce')
var sources = { var sources = {
'sources': { 'sources': {
...@@ -17,7 +18,8 @@ module.exports = { ...@@ -17,7 +18,8 @@ module.exports = {
}, },
'Simple Contract': function (browser) { 'Simple Contract': function (browser) {
runTests(browser) runTests(browser)
} },
tearDown: sauce
} }
function runTests (browser) { function runTests (browser) {
......
'use strict' 'use strict'
var init = require('../helpers/init') var init = require('../helpers/init')
var sauce = require('./sauce')
module.exports = { module.exports = {
before: function (browser, done) { before: function (browser, done) {
...@@ -12,5 +13,6 @@ module.exports = { ...@@ -12,5 +13,6 @@ module.exports = {
.pause('10000') .pause('10000')
.assert.containsText('#righthand-panel', 'Solidity version') .assert.containsText('#righthand-panel', 'Solidity version')
.end() .end()
} },
tearDown: sauce
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment