kibana/tasks/config/run.js
Spencer 6748b22d03 Implement esTestCluster test util (#13099)
* [es/tests] remove unused module

* [testUtil/es] add utility for starting es nodes in tests

* [ftr/tests] use esTestCluster util to start es

* [es/tests/routes] use esTestCluster to start own es

* [testUtils/kbnServer] disable uiSettings unless plugins are enabled

* [testUtils/esTestCluster] use standard test es port by default

* [server/http/tests] add esTestCluster to setup

* [test/config] unify es test config into a single module

* [testUtils/esTestCluster] directory is no longer configurable

* [testUtils/esTestCluster] throw when es.start() is called again without es.stop()

* [testUtils/esTestCluster] is* checks should not mutate state
2017-07-28 09:47:41 -07:00

191 lines
4.5 KiB
JavaScript

import { esTestConfig } from '../../src/test_utils/es';
import { kibanaTestServerUrlParts } from '../../test/kibana_test_server_url_parts';
module.exports = function (grunt) {
const platform = require('os').platform();
const binScript = /^win/.test(platform) ? '.\\bin\\kibana.bat' : './bin/kibana';
const buildScript = /^win/.test(platform) ? '.\\build\\kibana\\bin\\kibana.bat' : './build/kibana/bin/kibana';
const pkgVersion = grunt.config.get('pkg.version');
const releaseBinScript = `./build/kibana-${pkgVersion}-linux-x86_64/bin/kibana`;
const stdDevArgs = [
'--env.name=development',
'--logging.json=false',
];
const buildTestsArgs = [
...stdDevArgs,
'--plugins.initialize=false',
'--optimize.bundleFilter=tests',
];
const kbnServerFlags = grunt.option.flags().reduce(function (flags, flag) {
if (flag.startsWith('--kbnServer.')) {
flags.push(`--${flag.slice(12)}`);
}
return flags;
}, []);
return {
testServer: {
options: {
wait: false,
ready: /Server running/,
quiet: false,
failOnError: false
},
cmd: binScript,
args: [
...buildTestsArgs,
'--server.port=5610',
...kbnServerFlags,
]
},
apiTestServer: {
options: {
wait: false,
ready: /Server running/,
quiet: false,
failOnError: false
},
cmd: binScript,
args: [
...stdDevArgs,
'--optimize.enabled=false',
'--elasticsearch.url=' + esTestConfig.getUrl(),
'--server.port=' + kibanaTestServerUrlParts.port,
'--server.xsrf.disableProtection=true',
...kbnServerFlags,
]
},
devApiTestServer: {
options: {
wait: false,
ready: /Server running/,
quiet: false,
failOnError: false
},
cmd: binScript,
args: [
...stdDevArgs,
'--dev',
'--no-base-path',
'--optimize.enabled=false',
'--elasticsearch.url=' + esTestConfig.getUrl(),
'--server.port=' + kibanaTestServerUrlParts.port,
'--server.xsrf.disableProtection=true',
...kbnServerFlags,
]
},
testUIServer: {
options: {
wait: false,
ready: /Server running/,
quiet: false,
failOnError: false
},
cmd: binScript,
args: [
...stdDevArgs,
'--server.port=' + kibanaTestServerUrlParts.port,
'--elasticsearch.url=' + esTestConfig.getUrl(),
...kbnServerFlags,
]
},
testUIReleaseServer: {
options: {
wait: false,
ready: /Server running/,
quiet: false,
failOnError: false
},
cmd: releaseBinScript,
args: [
...stdDevArgs,
'--server.port=' + kibanaTestServerUrlParts.port,
'--elasticsearch.url=' + esTestConfig.getUrl(),
...kbnServerFlags,
]
},
testUIDevServer: {
options: {
wait: false,
ready: /Server running/,
quiet: false,
failOnError: false
},
cmd: binScript,
args: [
...stdDevArgs,
'--server.port=' + kibanaTestServerUrlParts.port,
'--elasticsearch.url=' + esTestConfig.getUrl(),
'--dev',
'--no-base-path',
'--optimize.lazyPort=5611',
'--optimize.lazyPrebuild=true',
'--optimize.bundleDir=optimize/testUiServer',
...kbnServerFlags,
]
},
testCoverageServer: {
options: {
wait: false,
ready: /Server running/,
quiet: false,
failOnError: false
},
cmd: binScript,
args: [
...buildTestsArgs,
'--server.port=5610',
'--tests_bundle.instrument=true',
...kbnServerFlags,
]
},
devTestServer: {
options: {
wait: false,
ready: /Server running/,
quiet: false,
failOnError: false
},
cmd: binScript,
args: [
...buildTestsArgs,
'--dev',
'--no-watch',
'--no-base-path',
'--server.port=5610',
'--optimize.lazyPort=5611',
'--optimize.lazyPrebuild=true',
'--optimize.bundleDir=optimize/testdev',
...kbnServerFlags,
]
},
optimizeBuild: {
options: {
wait: false,
ready: /Optimization .+ complete/,
quiet: true
},
cmd: buildScript,
args: [
'--env.name=production',
'--logging.json=false',
'--plugins.initialize=false',
'--server.autoListen=false',
...kbnServerFlags,
]
}
};
};