In order for the runbld project we use in CI to auto-discover the junit reports we generate they need to match `TEST-*.xml`, which will allow us to include more details in the failure emails, and push failure info to the build-stats cluster.
(cherry picked from commit 8d0b7e7f7e)
* [dev/mocha/junit] report real skipped test count and errors from hooks (#15465)
* [dev/mocha/junit] report real skipped test count and errors from hooks
* typo
* [grunt/simplemocha] update simplemocha patterns to exclude fixtures
* [CI] Produce junit test reports (#15281)
* [mocha] use custom reporter for legible results in jenkins
* [jest] use custom result processor for legible results in jenkins
* [karma] enable junit output on CI
* [mocha/junitReporter] accept rootDirectory as configuration
* [jest/reporter] use reporters option added in jest 20
* [toolingLog] remove black/white specific colors
* [dev/mocha/junit] no reason for junit to be a "reporter"
* typos
* [dev/mocha/junit] use else if
* [karma/junit] use string#replace for explicitness
* [junit] use test file path as "classname"
* [ftr/mocha] no longer a "console" specific reporter
* [dev/jest] fix relative path to babel options
We already have "BSD-3-Clause" as a valid license, but there's a variant
with a space instead of a '-' being used by js-base64 that we need to
accomodate for.
* [partial backport] extract kbnServer test utils from #12554
* 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
(cherry picked from commit 6748b22d03)
* [testUtils/esTestCluster] use more standard api style (#13197)
(cherry picked from commit d36080bca8)
* [scanner] use new esTestConfig service
* [indexPatterns] support cross cluster patterns
* [vis] remove unused `hasTimeField` param
* [indexPatterns/create] fix method name in view
* [indexPatterns/create] disallow expanding with ccs
* [indexPatterns/create] field fetching is cheaper, react faster
* [indexPatterns/resolveTimePattern/tests] increase readability
* [tests/apiIntegration/indexPatterns] test conflict field output
* [indexPatterns/fieldCaps/readFieldCapsResponse] add unit tests
* [test/apiIntegration] ensure random word will not be valid
* [indexPatterns/ui/client] remove unused import
* remove use of auto-release-sinon
* [indexPatterns/create] don't allow expand when cross cluster
* [indexPatternsApiClient/stub] use angular promises
* [indexPatterns/create] add tests for base create ui behaviors
(cherry picked from commit e5deca679c)
* [grunt/build] refactor _build:notice task to not depend on npm
The _build:notice task used to rely on the output of `npm ls` to determine where modules were defined, but the task now just asks `license-checker` to include the `realPath` of the modules it describes in it's output, which is ultimately the same thing but works with `yarn` too.
* [grunt/licenses] convert to use lib/packages/getInstalledPackages()
* [grunt/notice/generate] test generateNoticeText()
* [grunt/licenses] tested assertLicensesValid()
* [npm] remove npm dev dep
* [tasks/lib/packages] do not include kibana in "installed packages"
* [tasks/lib/notice] join all notices with the same separator
(cherry picked from commit 5c04ff65fb)
* [tests/functional] move screenshots to their own service
* [ftr] add testFailure and testHookFailure lifecycle hooks
* [tests/functional/screenshots] cleanup old screenshots at startup
* [test/functional/screenshots] take screenshots when tests fail
* [cli_plugin/install] fix test
* [ui/scanner] fix test
(cherry picked from commit 2e7fed87fd)
* [ftr] remove digdug, use chromedriver directly
why?
- digdug is meant to be used by intern, and expects a certain lifecycle that the FTR has tried and continuously fails to mimic
- rather than continue trying to force digdug into the stack, just spawn chromedriver ourselves. We know how to handle it
- cleans up verbose remote logging while we're in there, since selenium-standalone-server went with digdug, which was previously doing the verbose logging
- deprecate config.servers.webdriver
- add config.chromedriver.url
- if url at config.chromedriver.url points to a server that responds to http requests use it as the chromedriver instance, enables running chrome in a VM or container
- if pings to config.chromedriver.url fail a local chromedriver is started
* address review requests
(cherry picked from commit f76bef46c0)
* Refactor sorting capabilities
* clean up and comments
* Move to ui_framework/services
- add tests
- address code review feedback
- Include new folders in build output.
* Rename to sortableProperties
Require initial sorted property name.
* fix a refactor miss
* [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()
* Create KuiButton, KuiLinkButton, KuiSubmitButton, and KuiButtonIcon React components in UI Framework.
* Add Jest test coverage for UI Framework, generate report in ui_framework/jest/report.
* Add UI Framework to linting task.
* Update UI Framework README with instructions on creating and testing React components.
* Add both React and HTML examples.
* Add UI Framework Jest tests to npm test script. Create separate scripts for watching and generating coverage reports.
* Fix appearance of kuiButtons with icons throughout Kibana, by adding a flexbox wrapper.
* Improve accessibility of kuiButtonIcon.
* Remove disabled attribute from KuiLinkButton.
* Remove kuiButton-isDisabled class from KuiButton and KuiSubmitButton.
* Integrate angular-translate globalization framework with i18n engine
* Provide template for enabling translations in an AngularJS view by translating a view
* Verification tool for translation keys used in angular-translate
* Documentation
Backports PR #10670
**Commit 1:**
Moving front-end code out of devDependencies
* Original sha: 6d4e7288cd
* Authored by Chris Cowan <chris@chriscowan.us> on 2017-03-02T23:41:51Z
**Commit 2:**
removing range specifier
* Original sha: fe7cbe57d7
* Authored by Chris Cowan <chris@chriscowan.us> on 2017-03-03T13:20:14Z
**Commit 3:**
overriding ua-parser-js@0.7.12 to MIT
* Original sha: 21cf790e7e
* Authored by Chris Cowan <chris@chriscowan.us> on 2017-03-03T13:21:51Z
**Commit 4:**
upgrading react-color; upgrading react; upgrading pui-tooltip;
* Original sha: 183b71c458
* Authored by Chris Cowan <chris@chriscowan.us> on 2017-03-03T15:39:17Z
* [npm] upgrade babel
The upgrade to babel 6 requires an upgrade to all of the associated modules, which meant that a few other things changed at the same time. The most notable is the way that we handle our babel-options, which is now done with an npm module and includes using the babel-loader's "presets" query string param.
This meant changes to the babel_options.js module and extending it to help setting up the "babel-register" module, which was previously copy-pasted in several places.
* [mtodules] upgrade to support babel6 module semantics
* [eslint] fix lint errors
* [babel] ignoer massive fixture files
* [cli/errors] use Object.setPrototypeOf since subclassing Error is broken
* [babel] Upgrading core babel libraries
[babel] Use WIP babel-6-fix branch of babel-preset-kibana
* Fix broken test
* [babel] Reverse unnecessary module.exports changes
* Fix notifier
* Use babel presets and plugins directly
* [babel/options] resolve preset/plugins paths for better plugin compatibility
* [babel/options] use babel-preset-env for correct node settings
* [babel] cache babel compilation in webpack like we thought we were
Remove libsass as a dependency
libsass is platform specific, therefore we can not ship it as a dependency. Instead, we will commit the compiled CSS for the UI Framework to the repository. This is updated when running `npm run uiFramework:start` which also starts the docs site.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Adds support for Tribe nodes
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* @spalger review feedback
* Close create{Admin,Data}Cluster handles closing the connection
* Remove callAsKibanaUser argument from tests
* ClientLogger uses ES6 properties for tags and logQueries
* Ensure were destructuring cluster to access callAsKibanaUser
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* [tribe] Use class syntax on new data sources
* [tribe] Use includes instead of indexOf in call_client
* [tribe] DocRequest --> AbstractDocRequest
* [tribe] Fix AbstractDoc test rename
* Removes factory objects and adds addClientPlugin to Cluster (#9467)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Resolves eslint error
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Use properties on the instance instead of class properties
Class properties are still in the very eary stages and not widely supported.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* [tribe] Remove disabled dev tools app, do not bundle console when tribe is enabled
* [tribe] Use destructuring, don't reassign args
* [tribe] Use class syntax for client request wrapper
* [tribe] callAsKibanaUser -> callWithInternalUser
* [tribe] Remove clients from module context, service is a singleton
* [tribe] Use instance property shorthand for admin and data DocRequests
* Removes questions
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Fixes typo in tests
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Correctly names test case
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Revert "Use properties on the instance instead of class properties"
This reverts commit ebd06ae591.
* Adds tests for create_{admin,data}_cluster
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Persists clusters to server
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* [tribe] Move cluster config requests to distinct getters
* Adds getClient and removes addClientPlugin
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Expose createClient, consolidate config parsing
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Removes createClients from Cluster
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Prevent status change from red to red
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Updates esvm:tribe ports to be consistant with dev
9200 is admin
9201:9202 are both data clusters
9203 is a tribe node connecting to both data clusters
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* [tribe] Get ssl.ca from serverConfig
* [tribe/esvm] Remove plugin configuration
* Removes unused variable
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* [tribe] Named exports for creating clusters
* [tribe] Named exports for client logger, cluster
* [tribe] Named exports for health check
* Remove invalid comment
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* [tribe] Comment explaining difference between admin and data browser clients
* Rename ES checks to be consistant with functionality
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Organize NOOP functions
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Removing function comments
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Explicitly check for presence of url in tribe
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
Backports PR #9463
**Commit 1:**
[uiFramework] include sass deps in production so we can rebuild
* Original sha: aae8eecade
* Authored by spalger <spalger@users.noreply.github.com> on 2016-12-13T19:08:06Z
**Commit 2:**
[build] do not copy the doc_site source into the final build
* Original sha: fccbe49622
* Authored by spalger <spalger@users.noreply.github.com> on 2016-12-13T19:08:31Z
**Commit 3:**
[licenses] allow code that uses the `Unlicense`
* Original sha: 9406b9e9f3
* Authored by spalger <spalger@users.noreply.github.com> on 2016-12-13T20:46:19Z
Backports PR #9357
**Commit 1:**
upgrade eslint, all related deps, and config files
* Original sha: 054e798a93
* Authored by spalger <email@spalger.com> on 2016-08-24T23:39:11Z
* Committed by spalger <spalger@users.noreply.github.com> on 2016-12-02T23:04:20Z
**Commit 2:**
replace gruntify-eslint with basic eslint-cli wrapper
* Original sha: 71732e770f
* Authored by spalger <email@spalger.com> on 2016-09-02T21:33:02Z
* Committed by spalger <spalger@users.noreply.github.com> on 2016-12-02T23:41:36Z
**Commit 3:**
arrow-IIFEs must be invoked outside of the parens
* Original sha: b05662cd29
* Authored by spalger <email@spalger.com> on 2016-08-25T17:47:57Z
* Committed by spalger <spalger@users.noreply.github.com> on 2016-12-02T23:41:40Z
**Commit 4:**
move import statements before their use
* Original sha: 3572ab8e17
* Authored by spalger <email@spalger.com> on 2016-08-25T17:48:30Z
* Committed by spalger <spalger@users.noreply.github.com> on 2016-12-02T23:41:40Z
**Commit 5:**
reindent to satisfy new indentation check algorithm
* Original sha: b31dae18f5
* Authored by spalger <email@spalger.com> on 2016-08-25T17:49:47Z
* Committed by spalger <spalger@users.noreply.github.com> on 2016-12-02T23:41:58Z
**Commit 6:**
place missing semicolon
* Original sha: 7b39475116
* Authored by spalger <email@spalger.com> on 2016-09-06T22:27:10Z
* Committed by spalger <spalger@users.noreply.github.com> on 2016-12-02T23:42:04Z
**Commit 7:**
ignore copy-pasted decode geohash code
* Original sha: 3c02df9f4f
* Authored by spalger <email@spalger.com> on 2016-09-10T01:49:42Z
* Committed by spalger <spalger@users.noreply.github.com> on 2016-12-02T23:42:04Z
**Commit 8:**
Merge branch 'master' of github.com:elastic/kibana into upgrade/eslint-try2
* Original sha: 1224b1829a
* Authored by spalger <spalger@users.noreply.github.com> on 2016-12-10T04:14:32Z
**Commit 9:**
[grunt/eslint] fix argument spacing
* Original sha: 6fa2c6cad0
* Authored by spalger <spalger@users.noreply.github.com> on 2016-12-10T04:22:42Z
**Commit 10:**
[gurnt/eslint] add comment about contents of report
* Original sha: 71834ca7ec
* Authored by spalger <spalger@users.noreply.github.com> on 2016-12-10T07:59:11Z
**Commit 11:**
Merge branch 'master' of github.com:elastic/kibana into upgrade/eslint-try2
* Original sha: 76e77a7576
* Authored by spalger <spalger@users.noreply.github.com> on 2016-12-12T20:17:05Z
**Commit 12:**
[grunt/tasks] use `export default`
* Original sha: 803c0dacba
* Authored by spalger <spalger@users.noreply.github.com> on 2016-12-12T20:19:27Z
Backports PR #9327
**Commit 1:**
build: remove deepModules hackery
The deepModules hacks in the build system were added to support the long
paths that resulted from npm2, but npm3 fundamentally addresses that
problem, so deepModules is no longer necessary. In practical terms, npm3
shouldn't ever cause path lengths to become so long that they trigger
path length problems on certain operating systems.
* Original sha: 19fcc93ad3
* Authored by Court Ewing <court@epixa.com> on 2016-12-02T00:13:13Z
Backports PR #7746
**Commit 1:**
fix#7136 - check SHA of downloaded node binaries
* Original sha: 955972b2b5
* Authored by ppisljar <peter.pisljar@gmail.com> on 2016-07-11T19:17:08Z
**Commit 2:**
only skipping download if --skip-download cli argument is present
* Original sha: 325e17245c
* Authored by ppisljar <peter.pisljar@gmail.com> on 2016-09-07T10:54:23Z
**Commit 3:**
updating log messages based on epixas comments
* Original sha: 20b5c4dca2
* Authored by ppisljar <peter.pisljar@gmail.com> on 2016-09-23T06:24:55Z
**Commit 4:**
updating based on courts review
* Original sha: 78c124c0ac
* Authored by ppisljar <peter.pisljar@gmail.com> on 2016-10-29T14:44:43Z
---------
**Commit 1:**
[tests/functional] auto-rebuild assets in test:ui:server task
While working on some functional tests I had to re-run the `test:ui:server` task several times to rebuild the front-end assets. I'm not sure why that should be necessary, so this updates the server used in that specific task to auto-rebuild the assets.
* Original sha: ea303935a1
* Authored by spalger <email@spalger.com> on 2016-09-19T20:15:04Z
The tests in master are currently failing regularly because our current browser tests are serious memory hogs. Investigation reveals that nearly every test is retaining all of the memory it causes to be allocated. We have made some progress to being able to diagnose the problems, but we expect that problem to take some serious work to fix. We need a short-term solution though, and this is it.
Rather than modify the bundling process, we will shard the top-level test suites by name. For now, we've created 4 shards, but adding new shards is trivial if we need to.
Sharding is accomplished by creating a murmur3 hash of the top level suite names, then bucketing based on the hash output. If a test suite resolves to shard2, but we are running shard1, we simply never pass the function to `mocha.describe()`. Rather than redefine every describe statement, we have shimmed the global `window.describe()` function to accomplish this.
Currently, `npm start` and `npm run test:dev` use the same webpack "working directory". This allows them to share assets, which seems great, but when webpack writes it's record-keeping files to disk it can lead to difficult to debug "Property call of undefined is not a function" errors. By writing it's optimization output to a different directory we prevent those collisions so that both the test server and the dev server can be run side-by-side