Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -3,7 +3,9 @@ const ngrok = require("ngrok")
const https = require("https")
const querystring = require("querystring")

// 91d23a26-a8be-4a7d-b1a8-ae56719d8699
const PORT = 9007
const SAUCELAB_USERNAME = "st.kao.05"
const SAUCELAB_API_TOKEN = "91d23a26-a8be-4a7d-b1a8-ae56719d8699"

const setupProxy = () => {
return new Promise((resolve, reject) => {
@@ -19,28 +21,29 @@ const setupProxy = () => {
reject(err)
})

ngrok.connect(9002)
ngrok.connect(PORT)
})
}

const startSauce = testurl => {
const startSauce = proxyURL => {
return new Promise((resolve, reject) => {
try {
const testURL = proxyURL + "/test/spec_runner.html"

const body = JSON.stringify({
platforms: [
["Windows 8", "internet explorer", "10"],
["OS X 10.8", "safari", "6"]
["Windows 8", "internet explorer", "10"]
],
url: testurl,
framework: "custom"
url: testURL,
framework: "jasmine"
})

const opt = {
hostname: "saucelabs.com",
port: 443,
path: "/rest/v1/st.kao.05/js-tests",
path: `/rest/v1/${SAUCELAB_USERNAME}/js-tests`,
method: "POST",
auth: "st.kao.05:91d23a26-a8be-4a7d-b1a8-ae56719d8699",
auth: `${SAUCELAB_USERNAME}:${SAUCELAB_API_TOKEN}`,
headers: {
"Content-Type": "application/json",
"Content-Length": Buffer.byteLength(body)
@@ -49,7 +52,7 @@ const startSauce = testurl => {

const req = https.request(opt, res => {
res.setEncoding("utf8")
res.on("data", function(chunk) {
res.on("data", chunk => {
if (res.statusCode === 200) {
return resolve(chunk)
}
@@ -62,29 +65,45 @@ const startSauce = testurl => {
})
})

req.on("error", function(e) {
req.on("error", e => {
reject(e)
})

req.on("timeout", function() {
req.on("timeout", () => {
reject("Error: Saucelab request timeout")
})

req.write(body)
req.end()

} catch (e) {
reject(e)
}
})
}

gulp.task("sauce", () => {
console.log("Starting ngrok")
var WebpackDevServer = require("webpack-dev-server")
var webpack = require("webpack")
const wpconfig = require("./webpack.config.js")

return setupProxy().then(url => {
return startSauce(url)
}).then(res => {
console.log("Saucelab test start successfully.", res)
var compiler = webpack(wpconfig)
var server = new WebpackDevServer(compiler, {
hot: true,
disableHostCheck: true
})
server.listen(PORT)

console.log("Starting ngrok")

return setupProxy()
.then(url => {
console.log("Test URL: ", url)
return startSauce(url)
})
.then(res => {
console.log("Saucelab test started. Running indefinitely", res)
return new Promise((resovle, reject) => {

})
})
})
@@ -11,12 +11,8 @@
<script src="./jasmine-2.8.0/jasmine-html.js"></script>
<script src="./jasmine-2.8.0/boot.js"></script>

<!-- include source files here... -->
<!--<script src="src/Player.js"></script>-->
<!--<script src="src/Song.js"></script>-->

<!-- include spec files here... -->
<script src="../build/test.bundle.js"></script>
<script src="./test.bundle.js"></script>
</head>

<body>

Large diffs are not rendered by default.