Commit 0a364784 by Jeremy Bowman

PLAT-1229 Support for JS tests in Docker devstack

parent 5a919f2c
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
// //
/* eslint-env node */ /* eslint-env node */
/* globals process */
'use strict'; 'use strict';
...@@ -255,6 +256,11 @@ function getBaseConfig(config, useRequireJs) { ...@@ -255,6 +256,11 @@ function getBaseConfig(config, useRequireJs) {
}); });
}; };
var hostname = 'localhost';
if (process.env.hasOwnProperty('BOK_CHOY_HOSTNAME')) {
hostname = process.env.BOK_CHOY_HOSTNAME;
}
initFrameworks.$inject = ['config.files']; initFrameworks.$inject = ['config.files'];
var customPlugin = { var customPlugin = {
...@@ -278,6 +284,7 @@ function getBaseConfig(config, useRequireJs) { ...@@ -278,6 +284,7 @@ function getBaseConfig(config, useRequireJs) {
'karma-chrome-launcher', 'karma-chrome-launcher',
'karma-firefox-launcher', 'karma-firefox-launcher',
'karma-spec-reporter', 'karma-spec-reporter',
'karma-webdriver-launcher',
'karma-webpack', 'karma-webpack',
'karma-sourcemap-loader', 'karma-sourcemap-loader',
customPlugin customPlugin
...@@ -303,7 +310,8 @@ function getBaseConfig(config, useRequireJs) { ...@@ -303,7 +310,8 @@ function getBaseConfig(config, useRequireJs) {
junitReporter: junitSettings(config), junitReporter: junitSettings(config),
// web server port // web server hostname and port
hostname: hostname,
port: 9876, port: 9876,
...@@ -333,6 +341,14 @@ function getBaseConfig(config, useRequireJs) { ...@@ -333,6 +341,14 @@ function getBaseConfig(config, useRequireJs) {
'app.update.auto': false, 'app.update.auto': false,
'app.update.enabled': false 'app.update.enabled': false
} }
},
FirefoxDocker: {
base: 'WebDriver',
browserName: 'firefox',
config: {
hostname: 'edx.devstack.firefox',
port: 4444
}
} }
}, },
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
"karma-requirejs": "^0.2.6", "karma-requirejs": "^0.2.6",
"karma-sourcemap-loader": "^0.3.7", "karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "^0.0.20", "karma-spec-reporter": "^0.0.20",
"karma-webdriver-launcher": "^1.0.5",
"karma-webpack": "^2.0.3", "karma-webpack": "^2.0.3",
"pa11y": "4.0.1", "pa11y": "4.0.1",
"pa11y-reporter-json-oldnode": "1.0.0", "pa11y-reporter-json-oldnode": "1.0.0",
......
...@@ -27,7 +27,8 @@ class TestPaverJavaScriptTestTasks(PaverTestCase): ...@@ -27,7 +27,8 @@ class TestPaverJavaScriptTestTasks(PaverTestCase):
u"--single-run={single_run} " u"--single-run={single_run} "
u"--capture-timeout=60000 " u"--capture-timeout=60000 "
u"--junitreportpath=" u"--junitreportpath="
u"{platform_root}/reports/javascript/javascript_xunit-{suite}.xml" u"{platform_root}/reports/javascript/javascript_xunit-{suite}.xml "
u"--browsers={browser}"
) )
EXPECTED_COVERAGE_OPTIONS = ( EXPECTED_COVERAGE_OPTIONS = (
u' --coverage --coveragereportpath={platform_root}/reports/javascript/coverage-{suite}.xml' u' --coverage --coveragereportpath={platform_root}/reports/javascript/coverage-{suite}.xml'
...@@ -130,6 +131,7 @@ class TestPaverJavaScriptTestTasks(PaverTestCase): ...@@ -130,6 +131,7 @@ class TestPaverJavaScriptTestTasks(PaverTestCase):
single_run='false' if dev_mode else 'true', single_run='false' if dev_mode else 'true',
suite=suite, suite=suite,
platform_root=self.platform_root, platform_root=self.platform_root,
browser=Env.KARMA_BROWSER,
), ),
) )
if is_coverage: if is_coverage:
......
...@@ -138,6 +138,9 @@ class Env(object): ...@@ -138,6 +138,9 @@ class Env(object):
# Test Ids Directory # Test Ids Directory
TEST_DIR = REPO_ROOT / ".testids" TEST_DIR = REPO_ROOT / ".testids"
# Configured browser to use for the js test suites
KARMA_BROWSER = 'FirefoxDocker' if USING_DOCKER else 'FirefoxNoUpdates'
# Files used to run each of the js test suites # Files used to run each of the js test suites
# TODO: Store this as a dict. Order seems to matter for some # TODO: Store this as a dict. Order seems to matter for some
# reason. See issue TE-415. # reason. See issue TE-415.
......
...@@ -83,6 +83,7 @@ class JsTestSubSuite(TestSuite): ...@@ -83,6 +83,7 @@ class JsTestSubSuite(TestSuite):
"--single-run={}".format('false' if self.mode == 'dev' else 'true'), "--single-run={}".format('false' if self.mode == 'dev' else 'true'),
"--capture-timeout=60000", "--capture-timeout=60000",
"--junitreportpath={}".format(self.xunit_report), "--junitreportpath={}".format(self.xunit_report),
"--browsers={}".format(Env.KARMA_BROWSER),
] ]
if self.port: if self.port:
......
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