fix https://github.com/elastic/kibana/issues/192052
## Summary
Internal APIs will be
[restricted](https://github.com/elastic/kibana/issues/163654) from
public access as of 9.0.0. In non-serverless environments, this breaking
change will result in a 400 error if an external request is made to an
internal Kibana API (route `access` option as `"internal"` or
`"public"`).
This PR allows API owners of non-xpack plugins to run their `ftr` API
integration tests against the restriction and adds examples of how to
handle it.
### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
Note to reviewers: The header needed to allow access to internal apis
shouldn't change your test output, with or without the restriction
enabled.
### How to test the changes work:
#### Non x-pack:
1. Set `server.restrictInternalApis: true` in `test/common/config.js`
2. Ensure your tests pass
#### x-pack:
1. Set `server.restrictInternalApis: true` in
`x-pack/test/api_integration/apis/security/config.ts`
2. Ensure the spaces tests pass
---------
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
## Summary
Resolves https://github.com/elastic/kibana/issues/143335.
Some history: A similar issue was reported a few years back
(https://github.com/elastic/kibana/issues/76811). The solution
(https://github.com/elastic/kibana/pull/93319) was to use the `--cache`
PEG.js [parameter](https://pegjs.org/documentation#generating-a-parser)
when generating the parser. Back when this was added, we were still
manually building the parser on demand when it was changed. Eventually
we added support for dynamically building the parser during the build
process (https://github.com/elastic/kibana/pull/145615). I'm not sure
where along the process the `cache` parameter got lost but it didn't
appear to be used when we switched.
This PR re-adds this parameter which increases performance considerably
(metrics shown in ops/sec):
```
Before using cache:
● kuery AST API › fromKueryExpression › performance › with simple expression
Received: 7110.68990544415
● kuery AST API › fromKueryExpression › performance › with complex expression
Received: 40.51361746242248
● kuery AST API › fromKueryExpression › performance › with many subqueries
Received: 17.071767133068473
After using cache:
● kuery AST API › fromKueryExpression › performance › with simple expression
Received: 8275.49109867502
● kuery AST API › fromKueryExpression › performance › with complex expression
Received: 447.0459218892934
● kuery AST API › fromKueryExpression › performance › with many subqueries
Received: 115852.43643466769
```
### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
## Summary
Attempt to fix https://github.com/elastic/kibana/issues/156581
The best explanation I have is that the two retrieved visualisations are
not necessarily retrieved in the expected order.
Sorting the results should ensure the expected order.
Will use the flaky test runner to check the fix.
* Add deferred migrations parameter.
* Update outdated documents query to take into account deferred migrations.
* Update outdated documents query to take into account the core migration version.
* Update read operations in the saved objects repository to perform deferred migrations.
* [kbnArchiver] convert archive names to root-relative paths
* ensure that newly multiline hooks are explicitly async
* missed a newly multiline hook
* fix exists check
* avoid extra lines by wrapping arrow body in {}
* one block more
* fix errant `name` variable
Co-authored-by: spalger <spalger@users.noreply.github.com>
* step 1 to add aggs in the find function of saved object
* setp 2 - add specific unit test to aggs + fix bug found during integrations
* step 3 - add security api_integration arounds aggs
* fix types
* unit test added for aggs_utils
* add documentation
* fix docs
* review I
* doc
* try to fix test
* add the new property to the saved object globaltype
* fix types
* delete old files
* fix types + test api integration
* type fix + test
* Update src/core/server/saved_objects/types.ts
Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
* review I
* change our validation to match discussion with Pierre and Rudolph
* Validate multiple items nested filter query through KueryNode
* remove unused import
* review + put back test
* migrate added tests to new TS file
* fix documentation
* fix license header
* move stuff
* duplicating test mappings
* rename some stuff
* move ALL the things
* cast to aggregation container
* update generated doc
* add deep nested validation
* rewrite the whole validation mechanism
* some cleanup
* minor cleanup
* update generated doc
* adapt telemetry client
* fix API integ tests
* fix doc
* TOTO-less
* remove xpack tests
* list supported / unsupported aggregations
* typo fix
* extract some validation function
* fix indent
* add some unit tests
* adapt FTR assertions
* update doc
* fix doc
* doc again
* cleanup test names
* improve tsdoc on validation functions
* perf nit
Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [KQL] Use cache and other performance improvements
* Fix test
* Fix jest tests
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Revert "Revert "Migrations v2: don't auto-create indices + FTR/esArchiver support (#85778)""
This reverts commit f97958043f.
* Fix flaky saved objects management test #89953
* If a clone target exists, wait for yellow, not green, index status
* Fix test after master merge
* Fix types
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Migrations V2 on by default
* esArchiver delete migrations v2 indices
* Fix saved_objects_management api_integration tests
* Try to fix v2 migrations for pre-release builds
* esArchiver delete auto-created v2 migration indices like .kibana_8.0.0
* Try to fix v2 migrations for pre-release builds
* Use require_alias to prevent auto-created saved objects index
* Wrap SO routes until core logs all internal errors
* Fix api_integration tests requiring an empty kibana index
* Delete corrupt saved object from lens archives
* Update docs
* Fix ui_settings tests
* Fix core jest tests
* Fix type errors
* Fix accessibility tests
* Fix plugin functional tests
* Fix api_integration tests after merging in master
* Fix plugin functional tests #2
* EsArchiver: Don't reset ui settings after the .kibana index was deleted
* Fix functional management/visualize tests
* Fix oss security functional tests
* EsArchiver clean task manager indices to fix alerting api integration tests
* migrationsv2 correctly handle unknown saved object type mappings
* Revert "Try to fix v2 migrations for pre-release builds"
This reverts commit a1a1567501.
* Revert "Try to fix v2 migrations for pre-release builds"
This reverts commit a9a935558c.
* Re-enable v2 migrations in tests after merging in master
* Try to fix async dashboard functional test
* Restore UiSettings defaults after emptyKibanaIndex()
* Review feedback: rename test to match behaviour