Skip to content

Commit

Permalink
Run test on SauceLabs.
Browse files Browse the repository at this point in the history
  • Loading branch information
dompuiu committed May 5, 2017
1 parent 27d43e7 commit d412c75
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 7 deletions.
8 changes: 4 additions & 4 deletions .travis.yml
@@ -1,13 +1,13 @@
language: node_js
node_js:
- "7"
before_script:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3 # give xvfb some time to start
addons:
code_climate:
repo_token: f2b3d8098cb4578112ed889d0f0f1d548b0d7832ac2aeedd91a5656873cca5ff
sauce_connect:
username: "dompuiu"
jwt:
secure: "cRP3TUZcmsC9vCF64hw0nevT4gZR6lTl2LXro4SpGEi5Ru8ckUdPjZdyMF6GeirL/r3x3F1KmkrGXfzMzzSVR9Qn5nAYgNzMJNCsousyzqCRJVCaYKxX10V+rcYlzuRmUTma/+p/SzPwfNN2sGWRU1/o3tf3REDshOy9njm8oIdpS98UTsHivIweKOAhtC5gWX3EsuW4xjPlIHj42cIUrePf4oqrzIzj0mG9uyYhtXPMqhUwPcJakCrCRReYAid5WI0LALB+RSckPAZXuKm6hx6Jt2oO6vIFbtgsEcBUi9TKCFuoAXQTRI0BJGBa6bpQ/CI/3KoaparS1RXViF43TbebDJlJC3PbmjKRQxt20I8iU0HDAooR/pbtiSC2cCpifmdzX45zRb4uou5RyeAgfM7HZsUwZAfNvTv1u0oAvXPJcDQX3F+EK0Ou61vsK+wZPPNJrSZ03rhUn2kmc2oYVQ46uohQkyNyw+VJjQHyfbB06lSRJ6S7Cq3ubkQ0AP19bFWZh+6aimPX3PHzrFjqbGcGy7r4Gyd/cvw1cc74hDdMk3PlphNF3d3WFVvO7uKSyR/UWiSBI2JqvSQAmeSKrrNytyEolgTIYz6oJy71z6JelxzpY3rpLN3ukzmc2x/7Uf2hQ63zthGiPDX4y69PYXVJBihmuutcy5SgEw9bilk="
after_script:
- "npm install -g coveralls"
- "cat coverage/lcov.dat | coveralls"
Expand Down
2 changes: 2 additions & 0 deletions README.md
Expand Up @@ -6,6 +6,8 @@
[![dependencies Status](https://david-dm.org/Adobe-Marketing-Cloud/reactor-turbine/status.svg)](https://david-dm.org/Adobe-Marketing-Cloud/reactor-turbine)
[![devDependencies Status](https://david-dm.org/Adobe-Marketing-Cloud/reactor-turbine/dev-status.svg)](https://david-dm.org/Adobe-Marketing-Cloud/reactor-turbine?type=dev)

[![Build Status](https://saucelabs.com/browser-matrix/dompuiu.svg)](https://saucelabs.com/beta/builds/d8990a524f1f4d5f91e471ec26a9a530)

Launch rule engine which processes rules on client websites and delegates logic to extensions.

## Development Setup
Expand Down
90 changes: 88 additions & 2 deletions karma.conf.js
@@ -1,12 +1,20 @@
var path = require('path');

var defaultBrowsers = ['Chrome'];
if (process.env.TRAVIS) {
var buildId =
'TRAVIS #' + process.env.TRAVIS_BUILD_NUMBER + ' (' + process.env.TRAVIS_BUILD_ID + ')';
defaultBrowsers = ['SL_IE9', 'SL_IE10', 'SL_IE11', 'SL_CHROME', 'SL_FIREFOX'];
}

var argv = require('yargs')
.array('browsers')
.default('browsers', ['Firefox'])
.default('browsers', defaultBrowsers)
.default('singleRun', true)
.default('coverage', true)
.argv;

var reporters = ['dots'];
var reporters = ['dots', 'saucelabs'];
var rules = [];

if (argv.coverage) {
Expand Down Expand Up @@ -82,6 +90,79 @@ module.exports = function(config) {
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: argv.browsers,

customLaunchers: {
'SL_CHROME': {
base: 'SauceLabs',
browserName: 'chrome',
version: 'latest'
},
'SL_CHROMEBETA': {
base: 'SauceLabs',
browserName: 'chrome',
version: 'beta'
},
'SL_FIREFOX': {
base: 'SauceLabs',
browserName: 'firefox',
version: 'latest'
},
'SL_FIREFOXBETA': {
base: 'SauceLabs',
browserName: 'firefox',
version: 'beta'
},
'SL_SAFARI': {
base: 'SauceLabs',
browserName: 'safari',
version: 'latest'
},
'SL_IE9': {
base: 'SauceLabs',
browserName: 'internet explorer',
version: '9'
},
'SL_IE10': {
base: 'SauceLabs',
browserName: 'internet explorer',
version: '10'
},
'SL_IE11': {
base: 'SauceLabs',
browserName: 'internet explorer',
version: '11'
},
'SL_EDGE': {
base: 'SauceLabs',
browserName: 'MicrosoftEdge',
version: 'latest'
},
'SL_IOS10': {
base: 'SauceLabs',
deviceName: 'iPhone 7 Simulator',
appiumVersion: '1.6.3',
browserName: 'Safari',
platformName: 'iOS',
platformVersion: '10.2'
},
'SL_ANDROID7': {
base: 'SauceLabs',
deviceName: 'Android GoogleAPI Emulator',
appiumVersion: '1.6.3',
browserName: 'Chrome',
platformName: 'Android',
platformVersion: '7.0'
}
},

sauceLabs: {
buildId: buildId,
testName: 'reactor-turbine Unit Test',
tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER,
startConnect: false,
retryLimit: 3,
recordVideo: false,
recordScreenshots: false
},

// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
Expand All @@ -98,6 +179,11 @@ module.exports = function(config) {
]
},

captureTimeout: 180000,
browserDisconnectTimeout: 180000,
browserDisconnectTolerance: 3,
browserNoActivityTimeout: 300000,

webpack: {
externals: {
window: 'window',
Expand Down
3 changes: 2 additions & 1 deletion package.json
Expand Up @@ -7,7 +7,7 @@
"build": "webpack --config webpack.dist.config.js --env && webpack --config webpack.dist.config.js --env.compress && webpack --config webpack.lib.config.js",
"prepublish": "npm run build",
"test": "karma start",
"test:watch": "npm test -- --no-single-run --no-coverage --browsers Chrome",
"test:watch": "npm test -- --no-single-run --no-coverage",
"lint": "eslint 'src/**/*.js'"
},
"author": {
Expand Down Expand Up @@ -37,6 +37,7 @@
"karma-firefox-launcher": "^1.0.1",
"karma-jasmine": "^1.1.0",
"karma-jasmine-matchers": "^3.7.0",
"karma-sauce-launcher": "^1.1.0",
"karma-webpack": "^2.0.3",
"yargs": "^8.0.1"
}
Expand Down
2 changes: 2 additions & 0 deletions testIndex.js
@@ -1,3 +1,5 @@
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;

var testsContext = require.context('./src', true, /__tests__\/.*\.test\.jsx?$/);
testsContext.keys().forEach(testsContext);

Expand Down

0 comments on commit d412c75

Please sign in to comment.