mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
* [esArchiver] combine elasticDump and ScenarioManager (#10359) * As a part of bringing functional testing to plugins, esArchiver gives these plugins a way to capture and reload es indexes without needing to write a bunch of custom code. It works similarly to the elasticDump and ScenarioManager tools that it replaces. Differences: - Streaming implementation allows for much larger archives - CLI for creating and using archives - Configurable archive location - Stores the data in gzipped files (better for source control, searching, large archives) - Automatically identifies and upgrades Kibana config documents Methods: - `#load(name)`: import an archive - `#loadIfNeeded(name)`: import an archive, but skip the documents what belong to any existing index - `#unload(name)`: delete the indexes stored in an archive CLI operations: - `./bin/es_archiver save <name> [index patterns...]`: save the mapping and documents in one or more indexes that match the wild-card patterns into an the `<name>` archive - `./bin/es_archiver load <name>`: load the mapping and documents from the `<name>` archive * [functional_tests/common/nagivate] check for statusPage * [es_archiver] move bins into new scripts dir * [functional_tests/apps/context] use esArchiver * [esArchiver] general improvements after showing to a few folks - remove auto-upgrading config doc logic (until we have better access to kibana version info) - export unload command - remove preemptive checks in favor of reacting to errors - use type "doc" vs "hit" for doc records (consistency) - wrote a bunch of pending tests to think though and plan * [esArchiver] make log a stream that writes to itself * [esArchiver] fill in stats and archive format tests * [esArchiver] splitup action logic * [esArchiver/cli] fix cli --help output and comment * [esArchiver] remove type-based param coercion * [esArchiver/log] use strings for log levels * [esArchvier] remove unused var * [esArchiver/indexDocRecordsStream] add tests * [esArchive] fill in remaining tests * [esArchiver] fix dem tests * [eslint] remove unused vars * [esArchiver/loadIfNeeded] fix call to load() * [esArchiver] remove loadDumpData helpers * [esArchiver] update archives for 5.x * [functionalTestRunner] replace intern (#10910) * [functional_test_runner] replace functional testing tools with custom/pluggable solution * [functional_test_runner] Convert unit tests to commonjs format * [functional_test_runner] Fix dashboard test in wrong mode * [functional_test_runner] Add dashboardLandingPage test subject * [functional_test_runner] Get Visualize page object * [functional_test_runner] Fix outdated references * [functional_test_runner] Fix more outdated refs * [functional_test_runner] Remove duplicate tests * [functional_test_runner] Improve test readability * [functional_test_runner] 😞 So many duplicate methods * [functional_test_runner] Move mgmt `before` outside toplevel describe * [functional_test_runner] Settings page obj missing methods * [functional_test_runner] Add improvements from @gammon * [functional_test_runner] Fix return statements in async funcs * [functional_test_runner] Move before() to correct scope * [functional_test_runner] Add after() hooks to remove index patterns * [functional_test_runner] Attempt to fix vertical bar chart tests * [functional_test_runner] Clean up * [functional_test_runner] Reinstate unit tests * [functional_test_runner] Set default loglevel back to info * [functional_test_runner] Replace `context`s with `describe`s * [functional_test_runner] Better error handling * [functional_test_runner] Add in new Tile Map tests * Incorporate changes from master * [functional_test_runner] validate that every test file has a single top-level suite * Update contributing doc with link to full doc * [docs] Spelling and grammar fixes * docs: writing and running functional tests * [docs] Move plugin doc to plugin area * [docs] Housekeeping. Doc in wrong place * [docs] Remove dup doc file * [grunt] Only run mocha_setup when running tests, not every grunt task * [eslint] remove use of context()
67 lines
2.1 KiB
JavaScript
67 lines
2.1 KiB
JavaScript
require('./src/optimize/babel/register');
|
|
|
|
module.exports = function (grunt) {
|
|
// set the config once before calling load-grunt-config
|
|
// and once during so that we have access to it via
|
|
// grunt.config.get() within the config files
|
|
const config = {
|
|
pkg: grunt.file.readJSON('package.json'),
|
|
root: __dirname,
|
|
src: __dirname + '/src',
|
|
buildDir: __dirname + '/build', // temporary build directory
|
|
plugins: __dirname + '/src/core_plugins',
|
|
server: __dirname + '/src/server',
|
|
target: __dirname + '/target', // location of the compressed build targets
|
|
testUtilsDir: __dirname + '/src/test_utils',
|
|
configFile: __dirname + '/src/config/kibana.yml',
|
|
|
|
karmaBrowser: (function () {
|
|
if (grunt.option('browser')) {
|
|
return grunt.option('browser');
|
|
}
|
|
|
|
switch (require('os').platform()) {
|
|
case 'win32':
|
|
return 'IE';
|
|
default:
|
|
return 'Chrome';
|
|
}
|
|
}()),
|
|
|
|
nodeVersion: grunt.file.read('.node-version').trim(),
|
|
|
|
meta: {
|
|
banner: '/*! <%= package.name %> - v<%= package.version %> - ' +
|
|
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
|
|
'<%= package.homepage ? " * " + package.homepage + "\\n" : "" %>' +
|
|
' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= package.author.company %>;' +
|
|
' Licensed <%= package.license %> */\n'
|
|
},
|
|
};
|
|
|
|
grunt.config.merge(config);
|
|
|
|
// must run before even services/platforms
|
|
grunt.config.set('build', require('./tasks/config/build')(grunt));
|
|
|
|
config.packageScriptsDir = __dirname + '/tasks/build/package_scripts';
|
|
// ensure that these run first, other configs need them
|
|
config.services = require('./tasks/config/services')(grunt);
|
|
config.platforms = require('./tasks/config/platforms')(grunt);
|
|
|
|
grunt.config.merge(config);
|
|
|
|
// load plugins
|
|
require('load-grunt-config')(grunt, {
|
|
configPath: __dirname + '/tasks/config',
|
|
init: true,
|
|
config: config,
|
|
loadGruntTasks: {
|
|
pattern: ['grunt-*', '@*/grunt-*', 'gruntify-*', '@*/gruntify-*']
|
|
}
|
|
});
|
|
|
|
// load task definitions
|
|
grunt.task.loadTasks('tasks');
|
|
grunt.task.loadTasks('tasks/build');
|
|
};
|