const { BROWSER = 'ChromeHeadlessNoSandbox', ANDROID_HOME, ANDROID_AVD_NAME } = process.env; const staticConfig = { basePath: '', frameworks: ['mocha', 'sinon', 'source-map-support'], files: [ 'build/recurly.js', 'build/test-unit.js' ], proxies: { '/api': 'http://localhost:9877' }, hostname: (BROWSER.includes('Android') ? '10.0.2.2' : 'localhost'), reporters: ['mocha', 'coverage'], port: 9876, colors: true, autoWatch: true, browsers: [BROWSER], singleRun: true, concurrency: Infinity, browserDisconnectTimeout: 800000, browserDisconnectTolerance : 4, browserNoActivityTimeout: 800000, captureTimeout: 800000, customLaunchers: { ChromeHeadlessNoSandbox: { base: 'ChromeHeadless', flags: ['--no-sandbox'] }, ChromeDebug: { base: 'Chrome', flags: ['--auto-open-devtools-for-tabs'] }, FirefoxDebug: { base: 'Firefox', flags: ['--devtools'] }, Android10: { base: 'AndroidEmulator', avdName: ANDROID_AVD_NAME || 'Pixel_3_API_29', sdkHome: ANDROID_HOME } }, client: { captureConsole: true, mocha: { timeout: 7000 // 7 seconds } }, coverageReporter: { dir : 'build/reports/', reporters: [ // { type: 'html', subdir: 'coverage' } { type: 'lcovonly', subdir: 'coverage', file: 'lcov.info' } ] } }; function runner (config) { config.set(Object.assign({}, staticConfig, { logLevel: config.LOG_INFO })); } require('@recurly/public-api-test-server'); runner.staticConfig = staticConfig; module.exports = runner;