This commit accompanies the four that precede it. Rather than squash
them altogether, the four previous commits all do nothing except move
files to help avoid conflicts.
* Translate Spaces component
* fix one little error
* update Spaces component
* update translation of Spaces components
* Update snapshots
* update Space translation - intl type
* update Space translation - remove view/views id namespace
* rename ids
* use testing helper functions instead of shallow, render, mount from enzyme
* fix unit tests
* fix ts path for enzyme test helpers
* fix path to enzyme helpers test functions
* Update snapshots
* fix path to enzyme test helpers
* Remove unused dependency.
I'd really like to upgrade to Typescript 3 for its `unknown` type, but we need to upgrade to `jest@23` to support a recent version of `ts-jest@23`.
The [jest changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) breaks down the breaking changes in 23.x, but I found it to be slightly incomplete so I've broken down the changes that actually caused breaks for us here, and addressed each in individual commits to make review a little easier:
- the `testURL` config default was changed from `about:blank` to `http://localhost`
- this cause some XHR requests powered by JSdom to start failing. It seems these requests just do nothing in master but start to fail when JSdom is initialized with an actual URL... I think we would ideally stop sending meaningless XHR requests in the tests, but it was a lot easier to just set the config to `about:blank` for now, and we can worry about cleanup later if necessary
- `expect(...).toThrow()` only passes if an actual error was thrown.
- In two places in the index pattern code we were throwing strings, which broke the assertions. Fortunately/Unfortunately the errors are not being consumed by anything, so I was able to wrap them in `new Error()` without causing any issues.
- snapshots of mock functions now include a `results` array, detailing the return values of the function
- React fragments are now serialized as `<React.Fragment>` instead of `<UNDEFINED>`
- undefined props in React components are now stripped from snapshots
- minor changes to the ordering of mocks, imports resolution, and before hooks caused the uiSettings API tests to start breaking, but I'm replacing them with totally new tests in #22694 so I just deleted them here
- mocks created with `jest.spyOn()` that are restored now have their `mock.calls` reset, so some of the kbn-pm tests stated failing. This was fixed by restoring them with `jest.restoreAllMocks()` rather than trying to do it before the assertions
/api/_xpack/usage was added as a target for 6.4.0 but it will not be
used. Instead, the /api/stats response will include usage info on
everything that gets registered with the usage service in
/src/server/usage
/api/_kibana/v1/stats is a GET API that was added in 6.2, during a point
where we thought providing usage stats through a public API would be OK
for capturing internally, with the benefit of having it be visible.
However, we've pivoted away from that idea because it doesn't line up
too well with the existing flow of data, where usage stats are combined
with the "Kibana stats" such as process uptime and number of requests.
We want to shift how we collect stats from Kibana, but it will be
gradual. It might be a while before we have an architecture that makes
sense for a standalone public API for the usage stats
This endpoint was never documented, and isn't used anywhere in the code.
It does incur a maintenance cost though.
Therefore, instead of waiting for a next major version to remove this
API, I'm removing it for 6.4. It will be marked in the release notes as
a breaking change. Since it was never documented, it should not provide
a problem.
* Adding very basic audit logging for auth success/failure
* Extracting security specific audit logger from the AuditLogger
* Using short auditLogger in authenticate in one more place
* Logging some information from the request during success/failure
* Adding AuditLogger tests
* Removing the security audit logger, this is out of scope...
* Better asserts, thanks Aleh
* Adding `audit` to the default events
* Using `info` with the audit logger, emulating with ES does
* [typescript] add typescript support for the server and browser
* [ts-jest] upgrade to latest version
* [jest] support test.tsx files
* [jest/ts] modify `ts-jest.tsConfigFile` config based on filePath
* [types] use correct major version of minimatch types
* [jest] add ts support to x-pack jest config
* [ts/projects] fix tsconfig.json not found error message
* [optimizer/ts] use lowercase jsx option
* [tsconfig] remove ui/* alias
* [plguin-helpers] remove mention of `buildSourcePatterns`
* [plugin-helpers] expect typescript to be a devDep
* [dev/build] place transpile tasks next to each other
* [ts/x-pack] add common and server directories to ts project
* [dev/ts/project] use a limited set of globs to find tsconfig files
Restructure testing with kbn-test package
- Run with multiple configs, move cli options to config
- Package-ify kbn-test
- Eventually we'll have functional_test_runner live in a package
of its own, and then this kbn-test will use that as a dependency,
probably still as a devDependency.
- Implement functional_tests_server
- Collapse single and multiple config apis into one command
Use kbn-es
Replace es_test_cluster + es_test_config with kbn/test utils
Implement new createEsTestCluster
Improve scripts, jsdocs, cli top-level tools
Lift error handling to the top level
* [x-pack/ftr] call fatalErrorHandler when functional tests fail
* [kbn/dev-tools/withProcRunner] require a log as the first arg
* [kbn/dev-tools/procRunner] use correct promise, convert to getter
* [x-pack/ftr] avoid race condition that prevents success message logging
When starting the kibana server it is possible for log messages to come
after the server is started, so we added a pause that waits for 5
seconds of logging silence before logging the success message. The
observable used fails to complete though if a log message is never
written AFTER the Kibana server starts. To counter this the observable
is started with `null` so it will always start at least one 5 second
timer and always complete even if there is no log data after Kibana
server starts.
* fix typo