* bump to a pre-8.0 version
* export KibanaClient from /lib sub-folder
* workaround the problem of the absence of estypes
* update es client usage in pacakges
* export estypes from another path
* import errors from root
* import errors from root 2
* update transport import
* update import path for /api/types
* update import path for /api/types
* import errors from top export
* use TransportResult instead if ApiResponse
* fix errors in client_config
* fix src/core/server/saved_objects/migrationsv2/actions/integration_tests/actions.test.ts
* use KibanaClient in mock. we dont export the original Client
* fix client mocks
* fix errors on SO
* fix remaining core errors
* update estype import path
* fix errors in data plugin
* fix data_views
* fix es_ui_shared
* fix errors in interactive_setup
* fix errors in ./test folder
* add @elastic/transport to the runtime deps
* fix errors in packages
* fix erros in src/core
* fix errors in test/
* fix an error in actions plugin
* woraround and fix errors in APM plugin
* fix errors in canvas
* fix errors in event_log
* fix errors in fleet
* fix errors in ILM
* fix errors in infra
* fix errors in ingest_pipeline
* fix errors in lens
* fix errors in license_management
* fix errors in licensing
* fix errors in logstash
* fix errors in ml
* fix errors in monitoring
* fix errors in observability
* fix errors in rule_registry
* fix errors in reporting
* fix errors in rule_registry
* fix errors in security
* fix errors in security_solution
* fix errors in snapshot_restore
* fix errors in transform
* fix errors in UA
* fix errors in uptime
* fix errors in x-pack/test
* fix eslint errors
* fix new errors
* use default HTTP Connection. Undici does not support agent config options keepAlive and maxSockets
* create does not accept require_alias option
* update deps
* use transport types exported from ES client package
* fix ErrorCause | string errors
* do not use enum
* fix errors in data plugin
* update x-pack code
* fix transport
* fix apm search request
* do not crash on reporting
* fix kbn-test build
* mute reporting error to start
* fix ftr build
* another attempt
* update import path
* address or mute new errors
* REMOVE me. pin transport version temporarily.
* remove deep imports from transport package
* fix jest crash
* fix product check tests
* remove unnecessary ts-expect-error
* fix a few failed unit tests
* bump to canary 24
* remove unnecessary ts-expect-error
* remove dependency on transport
* fix types in tests
* mute errors in xpack tests
* product check doesn;t spam in logs anymore
* filterPath --> filter_path
* ignoreUnavailable --> ignore_unavailable
* ignoreUnavailable --> ignore_unavailable
* trackScores --> track_scores
* trackTotalHits --> track_total_hits
* fix es-arcives
* fix data plugin crashes
* fix watcher test utils
* rollback unnecessary changes
* fix another problem in es-archiver
* fix scroll. for whatever reason scroll fails when request scroll_id in body
* add meta: true in kbn-securitysolution-es-utils
* bump client to canary 25
* fix errors in accordance with the es client spec
* update securityscolution-es-utils
* unify scroll api in reporting and fix tests
* fix unit tests in watcher
* refactor APM to abort request with AbortController API
* fix missing es client calls in tests
* fix missing meta in detection engine FTR tests
* fix another bunch of errors in js tests
* fix wrong coercion
* remove test-grep pattern
* fix apm unit test
* rename terminateAfter to terminate_after in infra plugin
* rename terminateAfter to terminate_after in uptime plugin
* rename terminateAfter to terminate_after in apm plugin
* fix security roles FTR tests
* fix reference
* fix post_privilidges test
* fix post_privilidges
* bump client to 26
* add meta for index_management test helpers
* remove ts-expect-error caused by bad type in reason
* bump client to 27
* REMOVE me. workaround until fixed in the es client
* fix incorrect type casting
* swtich from camelCase params
* use `HttpConnection` for FTR-related clients
* bump client to 29
* Revert "REMOVE me. workaround until fixed in the es client"
This reverts commit c038850c09.
* fix new util
* revert repository changes
* do not crash if cannot store event_loop data
* fix new estypes imports
* fix more types
* fix security test types and add ts-ignore for custom ES client
* fix more estypes imports
* yet more ts violations
* line by line fixing is hard
* adapt `evaluateAlert` from infra as it's also used from FTR tests
* use convertToKibanaClient in FTR test instead of meta:true in plugin code
* migrate from deprecated API in fleet
* fix intergration tests
* fix fleet tests
* fix another fleet test
* fix more tests
* let's call it a day
* Removes custom header check on 404 responses, includes es client ProductNotSupportedError in EsUnavailableError conditional (#116029)
* Removes custom header check on 404 responses, includes es client ProductNotSupportedError in EsUnavailableError conditional
* Updates proxy response integration test
* disable APM until compatible with client v8
* skip async_search FTR test
* use kbnClient in integration tests
* bump version to 29
* bump to 30
* have configureClient return a KibanaClient instead of Client, remove resolved violations.
* bump to 31
* bump to 31
* Revert "bump to 31"
This reverts commit 5ac713e640.
* trigger stop to unusubscribe
* update generated docs
* remove obsolete test
* put "as" back
* cleanup
* skip test
* remove new type errors in apm package
* remove ErrorCause casting
* update a comment
* bump version to 32
* remove unnecessary ts-expect-error in apm code
* update comments
* update to client v33
* remove outdated type definition
* bump to 34 without params mutation
* unskip the test that should not fail anymore
* remove unnecessary ts-expect-error comments
* update to v35. body can be string
* move `sort` to body and use body friendly syntax
* fix a failing test. maps register the same SO that has been already registered by home
Co-authored-by: pgayvallet <pierre.gayvallet@gmail.com>
Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co>
* Make Dashboard SO multiple-isolated
* Fix integration tests
* Fix Saved Objects API Integration Tests
* Fix more tests
* Fix even more tests
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* tmp
* tmp
* tmp
* tmp
* tmp
* use es naming
* typo
* organize files for clarity
* plugin for hits
* tmp
* initial styling
* more boilerplate
* tmp
* temp
* add size support
* remove junk
* tooltip
* edits
* too many features
* rename for clarity
* typing
* tooltip improvements
* icon
* callouts
* align count handling
* typechecks
* i18n
* tmp
* type fixes
* linting
* convert to ts and disable option
* readd test dependencies
* typescheck
* update yarn lock
* fix typecheck
* update snapshot
* fix snapshot
* fix snapshot
* fix snapshot
* fix snapshot
* fix test
* fix tests
* fix test
* add key
* fix integration test
* move test
* use centroid placement
* more text fixes
* more test fixes
* Remove top terms aggregations when switching to super fine resolution (#114667)
* [Maps] MVT metrics
* remove js file
* updateSourceProps
* i18n cleanup
* mvt labels
* remove isPointsOnly from IVectorSource interface
* move get_centroid_featues to vector_layer since its no longer used in server
* labels
* warn users when selecting scaling type that does not support term joins
* clean up scaling_form
* remove IField.isCountable method
* move pluck code from common to dynamic_style_property
* move convert_to_geojson to es_geo_grid_source folder
* remove getMbFeatureIdPropertyName from IVectorLayer
* clean up cleanTooltipStateForLayer
* use euiWarningColor for too many features outline
* update jest snapshots and eslint fixes
* update docs for incomplete data changes
* move tooManyFeatures MB layer definition from VectorLayer to TiledVectorLayer, clean up VectorSource interface
* remove commented out filter in tooltip_control add api docs for getMbLayerIds and getMbTooltipLayerIds
* revert changing getSourceTooltipContent to getSourceTooltipConfigFromGeoJson
* replace DEFAULT_MAX_RESULT_WINDOW with loading maxResultWindow as data request
* clean up
* eslint
* remove unused constants from Kibana MVT implemenation and tooManyFeaturesImage
* add better should method for tiled_vector_layer.getCustomIconAndTooltipContent jest test
* fix tooltips not being displayed for super-fine clusters and grids
* fix check in getFeatureId for es_Search_sources only
* eslint, remove __kbn_metadata_feature__ filter from mapbox style expects
* remove geoFieldType paramter for tile API
* remove searchSessionId from MVT url since its no longer used
* tslint
* vector tile scaling option copy update
* fix getTile and getGridTile API integration tests
* remove size from _mvt request body, size provided in query
* eslint, fix test expect
* stablize jest test
* track total hits for _mvt request
* track total hits take 2
* align vector tile copy
* eslint
* revert change to EsSearchSource._loadTooltipProperties with regards to handling undefined _index. MVT now provides _index
* clean up
* only send metric aggregations to mvt/getGridTile endpoint
* update snapshot, update getGridTile URLs in tests
* update request URL for getGridTile
* eslint
Co-authored-by: Nathan Reese <reese.nathan@gmail.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* correct styles for config panel (if data view is unavailable, the margins are still ok)
* temp
* fix data views bugs
* add test
* integrate feedback
* Update datapanel.tsx
* Update x-pack/plugins/lens/public/indexpattern_datasource/loader.ts
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [ML] Initial embed
* [ML] Initial embed props
* [ML] Add top nav link to data viz
* Add visible fields
* Add add data service to register links
* Renames, refactor, use constants
* Renames, refactor, use constants
* Update tests and mocks
* Embeddable
* Update hook to update upon time udpate
* Add filter support to query
* Refactor filter utilities
* Add filter support for embeddable
* Fix saved search data undefined
* Prototype aggregated view/document view switcher
* Prototype flyout
* Prototype save document view option in storage
* Fix filter and query conflict with saved search
* Minor styling edits
* [ML] Initial embed
* [ML] Initial embed props
* Add embeddable 1
* Add visible fields
* Embeddable 2
* Add filter support to query
* Refactor filter utilities
* Add filter support for embeddable
* Fix saved search data undefined
* Prototype aggregated view/document view switcher
* Prototype flyout
* Prototype save document view option in storage
* Fix filter and query conflict with saved search
* Minor styling edits
* Fix missing code after conflicts
* Remove dv locator and flyout
* Make types happy
* Fix types
* Rename toggle option
* Resolve conflicts
* [ML] Reduce size of chart
* [ML] Unbold name, switch icons of show distributions
* [ML] Make size consistent
* [ML] Make page size 25
* [ML] Switch to arrow right and down
* [ML] Make legend font smaller
* [ML] Add user setting
* [ML] Add show preview by default setting
* [ML] Match icon
* Add panels around the subcontent
* Add preference for aggregated vs doc
* Fix types
* Fix types, add constants for adv settings
* Change to data view type
* Temp fix for Kibana/EUI table overflow issue
* Modify line height so text is not cut off, modify widths for varying screen sizes
* Different width padders for different screens
* Fix CI
* Merge latest, move button to the right
* Fix width for bar charts previews
* Fix toggle buttons, fix maps
* Delete unused file
* Fix boolean styling
* Change to enum, discover mode
* Hide field stats
* Hide field stats
* Persist show mini preview/distribution settings
* Remove window size, use size observer instead
* Default to document view
* Remove bold, switch icon
* Set fixed width for top values, reduce font size in table
* Fix custom url tests
* Update width styling for panels
* Fix missing flag for Discover sidebar, jest tests
* Fix max width
* Workaround for sorting
* Fix import
* Fix styling
* Make height uniform, center alignment, fix map and keyword map not same size
Move styling
* Revert "Make height uniform, center alignment, fix map and keyword map not same size"
This reverts commit 8fc42e2f
* Revert "Make height uniform, center alignment, fix map and keyword map not same size"
This reverts commit 8fc42e2f
* Uniform height, left aligned, flex grid
* Switch top values to have labels
* Center content
* Replace fixed widths with percentage
* Fix table missing field types
* Add dashboard embeddable and filter support
* Fix file data viz styling and tests, lean up imports, remove hard coded pixels
* Add search panel/kql filter bar
* Temporarily fix scrolling
* New kql filters for data visualizer
* Set map height so it will fit the sampler shard size text
* Use eui progress labels
* Fix spacer
* Add beta badge
* Temporarily fix scrolling
* Fix grow for Top Values for
* [ML] Update functional tests to reflect new arrow icons
* [ML] Add filter buttons and KQL bars
* [ML] Update filter bar onChange behavior
* [ML] Update top values filter onChange behavior
* [ML] Update search filters when opening saved search
* [ML] Clean up
* [ML] Remove fit content for height
* [ML] Fix boolean legend
* [ML] Fix header section when browser width is small to large and when index pattern title is too large
* [ML] Hide expander icon when dimension is xs or s & css fixes
* [ML] Delete embeddables because they are not use
* [ML] Rename view mode, refactor to separate hook, add error prompt if can't show, rename wrapper, clean up & fix tests
* [ML] Make doc count 0 for empty fields, update t/f test
* [ML] Add unit testing for search utils
* Fix missing unsubscribe for embeddable output
* Remove redundant onAddFilter for this PR, fix width
* Rename Field Stats to Field stats to match convention
* [ML] Fix expand all/collapse all behavior to override individual setting
* [ML] Fix functional tests should be 0/0%
* [ML] Fix docs content spacing, rename classnames, add filters to Discover, lens, and maps
* [ML] Fix doc count for fields that exists but have no stats
* [ML] Fix icon styling to match Discover but have text/keyword/histogram
* [ML] Fix doc count for fields that exists but have no stats
* [ML] Rename classnames to BEM style
* Resolve latest changes
* [ML] Add tests for data viz in Discover
* Update tests & dashboard behavior to reflect new advanced settings
* Update telemetry
* Remove workaround after eui bump fix
* Fix missing bool clause
* Add login
* Fix saved search attributes broken with latest changes
* Update tests
* Fix import
* Match the no results found
* Fix query util to return search source's results right away. Fix texts.
* Rename old test suits to farequoteDataViewTestData
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* added page to reporting example app that contains the capture tests
* first version of PNG capture for test A
* added types file to common
* added data-shared-item attr to image, also added capture menu items
* fix image CSS by providing a fixed width and height
* explicitly add layout for print, does not seem to do anything though?
* added magic numbers of image sizes
* added reporting examples test folder
* first version of capture test for generating and comparing PNGs
* added PNG service and PNG baseline fixture
* added pdf-to-img dev dependency
* refactor compare_pngs to accept a buffer
* added comment to interface
* png service -> compare images service
* export image compare service
* added test for pdf export
* clean up log
* minor fixes and added pdf print optimized test
* added pdf and pdf print fixtures
* refactor lib function name
* Update difference thresholds
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [Observability] Make Alerts page respect timefilter service range (#111348)
* [Observability] Add useHashQuery option in UrlStateStorage
* Remove unused
* Add test for createKbnUrlStateStorage change
* Add time range test
* Add code comments
* Clean up tests
* Extend createKbnUrlStateStorage tests
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Improves FTR/e2e conflict retries with exception lists and security rules.
Fixes:
https://github.com/elastic/kibana/issues/115734https://github.com/elastic/kibana/issues/115769https://github.com/elastic/kibana/issues/115715https://github.com/elastic/kibana/issues/115702https://github.com/elastic/kibana/issues/115701
This past week we have been seeing increasing flake across tests involving `exception_lists` involving a `409 conflict` on our tests. Looking at each of the tests above and the flake it looks like we were calling Elasticsearch directly within the `.kibana` index to delete the exception list and list items as a shortcut:
```
export const deleteAllExceptions = async (es: KibanaClient): Promise<void> => {
return countDownES(async () => {
return es.deleteByQuery({
index: '.kibana',
q: 'type:exception-list or type:exception-list-agnostic',
wait_for_completion: true,
refresh: true,
body: {},
});
}, 'deleteAllExceptions');
};
```
Although I think we did everything correctly `wait_for_completion: true` and `refresh: true` within the tests there might be a slight race condition where the delete by query does not immediately happen for us. Since we should prefer to use direct REST API's where we can instead of calling into `.kibana` I changed this to using the exception list API:
```
export const deleteAllExceptions = async (
supertest: SuperTest.SuperTest<SuperTest.Test>
): Promise<void> => {
await countDownTest(
async () => {
const { body } = await supertest
.get(`${EXCEPTION_LIST_URL}/_find?per_page=9999`)
.set('kbn-xsrf', 'true')
.send();
const ids: string[] = body.data.map((exception: ExceptionList) => exception.id);
for await (const id of ids) {
await supertest.delete(`${EXCEPTION_LIST_URL}?id=${id}`).set('kbn-xsrf', 'true').send();
}
const { body: finalCheck } = await supertest
.get(`${EXCEPTION_LIST_URL}/_find`)
.set('kbn-xsrf', 'true')
.send();
return finalCheck.data.length === 0;
},
'deleteAllExceptions',
50,
1000
);
};
```
The additional final check above should ensure it sees that the data has been deleted before returning. Otherwise it will loop around again and keep trying.
I also improve both the `createRules` and `createExceptionList` by introducing a one-time, "detect if in conflict" and then "remove if in conflict" within those tests. This should help safe guard against flake if the above does not fix it. I also added more logging statements in case we do encounter this again on the CI system we can further trouble shoot it and add additional retry logic/fix logic.
A good side effect is if now you kill your tests half way through and restart them, the additional "detect if conflict" will recover your test for you as a developer. So 👍 that is an added benefit.
Example error message you would get (but not test failure) if you remove one of the cleanup sections in the `afterEach` or if you kill a test half way through and then restart it as an engineer:
```
└-: "is" operator
└-> "before all" hook for "should find all the text from the data set when no exceptions are set on the rule"
└-> should find all the text from the data set when no exceptions are set on the rule
└-> "before each" hook: global before each for "should find all the text from the data set when no exceptions are set on the rule"
└-> "before each" hook for "should find all the text from the data set when no exceptions are set on the rule"
When creating a rule found an unexpected conflict (409), will attempt a cleanup and one time re-try. This usually indicates a bad cleanup or race condition within the tests: {"message":"rule_id: \"rule-1\" already exists","status_code":409}
└- ✓ pass (7.9s)
```
### 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
* Add support for extensions using latest version of a package and forcing upgrade state for edit policy view
* Fix isUpgrade flag on integrations UI version of edit page
* Treat non-validation errors as general failures in server and UI
* Fix tests + don't call upgrade API when saving
* fix i18n
* Fix default name always appearing when editing package policies via extension UI
* Opt security solution plugin out of new extension option
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This PR fixes a few test stability issues, mostly by adding/adjusting retries.
* Stabilize data viz full time range selection
* Stabilize DFA wizard source data loading
* Stabilize feature importance service methods
* Stabilize DFA table row existence assertion
* Stabilize dashboard embeddable service methods