* [Dashboard] Transfer state when drilldown is opened in a new tab (#124770)
* Translate dashboard state to URL conditionally
* Add functional tests
* Fix typo in functional test descriptions
* Remove deprecated references
* Rename useUrl to be more specific
(cherry picked from commit 17a997cccb)
# Conflicts:
# src/plugins/dashboard/public/index.ts
* Fix lint
* [Screenshotting] Add functional test for report generation of dashboard with Maps embeddable (#122887)
* [Screenshotting] Add functional test for report with Maps embeddable
* make checkIfPngsMatch shareable
* add baseline file
* add functional test with new map saved object
* add .gitignore
* file structure corrections
* add ciGroup to test
* revert unintentional change
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit fddd1aafb4)
* update layerListJSON for map
* 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>
* Initial commit, very WIP
- added link to the integrations UI instead of add integration
in fleet
- added a new piece of route state that gets passed to integration
from fleet when browsing integrations for a policy
- when the integration is being added the page will send the user
back to the policy overview instead of back to integrations UI
* remove unnecessary agent policy clear function
* added # to path so that navigation is correctly handled
* added logic to read the forward agent policy id
* remove inline select integration package from fleet add integration
* updated toast notification
* using query parameter to pass policy id back to create policy package page
* removed policyId from route path
* fix type issue
* updated the select agent field layout per the designs
* simpified item rendering in combobox and fixed combobox z-index issue
* added comment
* fix types and i18n
* updated icon and removed unused i18n
* refactor to using styled components for cusomt z-index styling
* attempt to fix integration test
* added scroll functionality for dealing with fixed footers that might be obstructing content
* fix scroll direction!
* attempting another scroll algorithm
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* bump dependency, add edge support in ftr services
* add config files
* fix browser version for msedge
* use npm ms-chromium-edge-driver
* download edge driver aside from session creation
* move dependency to dev
* update dist/index file
* bump edge-driver version
* change type to msedge to match w3c spec
* fix discover tests for Edge
* Revert "fix discover tests for Edge"
This reverts commit 87e7fdd256.
* bump driver version up
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Add option for Internet Explorer IE11
* WIP trying to figure out IE options/capabilities
* more attempts to get IE tests working
* more work, but still can't set font size in Dev Tools Console
* two changes for IE
* revert skip in console test
* this change *appears* to set absolute times but they don't stick
* Shakespeare passing on all 3 browsers
* add config.ie.js, change 'internet explorer' to 'ie'
* increase notifications:lifetime so ew have a chance to see the message
* fix lint error remove unused Options
* updates from PR review, remove console.log
* cleanup + reuse existing code
* make iedriver path work for x-pack tests
* try to avoid changing notification timeout
* resolve path and add correct delimiter
* remove unused code, make timepicker work on IE11
* work-around 45333 for IE11
* [WIP] removing some work-arounds
* revert work-arounds
* cleanup
* remove debugging code
* remove debugging code
* removed unused code
* reverting 2 files that didn't have any material changes
* use new setScreenshotSize
* change tolerance from 1% to 2% (originally 5%)
* retake baseline without notification dialog
* close add and save notifications
* wait for render complete when going in to FullScreen mode
* add 5 second sleep to see if it ever goes to full screen mode
* add debugging screenshots and sleeps
* try reloading the Kibana index before this test
* 30 iterations with only the first test enabled
* revert multi-run changes
* ran node scripts/build_renovate_config
* fix tslint errors
* fix tslint error
* update xpack dependency to match oss
* update yarn.lock
* revert notifications:lifetime:info change by reducing some other timeouts
* remove commented-out code
* fixed and Unskipped 2nd test
* re-arrange order of dashboard tests to pass :-(
* removed commented-out sleep
Hopefully this won't be an issue
* Add comment about the order of tests
```
loadTestFile(require.resolve('./view_edit'));
// Order of test suites *shouldn't* be important but there's a bug for the view_edit test above
// https://github.com/elastic/kibana/issues/46752
// The dashboard_snapshot test below requires the timestamped URL which breaks the view_edit test.
// If we don't use the timestamp in the URL, the colors in the charts will be different.
loadTestFile(require.resolve('./dashboard_snapshots'));
```
* [services/web_element_wrapper] add actions API methods
* fixes
* [services/browser] fix dragAnDrop to work in both w3c/non-w3c modes
* small review changes
* dragAndDrop: add default values for offset
* [Logs UI] Make column configurations reorderable
* Improve typing aand memoize callback
* Guard against index bounds and rename reorderLogColumns
* Fix useCallback memoization
* Add functional test for reordering log columns
* Use browser.keys instead of Key in functional test
* [services/lib/web_element_wrapper] use Generics in replyCall
* [services/lib/web_element_wrapper] remove redundant return types
* [services/lib/web_element_wrapper/] set retryCall timeout to 200 ms
* [services/find] explcitly pass element to have locator===null by default
* use static method to create WebElementWrapper
* missed a couple uses
* move some values to constants
* remove some unnecessary type info
* [ts] upgrade to 3.5.2
* [ts] run from cwd so that relative paths are correct
* move eslint-disable-line comment into jsx attribute
* autofix eslint violations
* avoid generic type, it's not necessary and problematic
* make elasticsearch.cluster optional, many instances don't have them
* remove invalid prop
* expand AllowUnknownProperties to cleanly handle arrays
* esfilter values can sometimes be an array of strings
* allow exception objects to have unknown properties
* define accumulator as a boolean
* fix return type
* return a 404 if beat isn't found after update
* use Object.values for better types
* define return type of get() call
* define value type for Set
* define return value of get()
* define State property type
* use less get(), so ts can infer types
* define Set item type
* map state type
* make default_operator optional, since it's not always defined
* remove seemingly unused prop
* define return type of get() fn
* define inner type for state
* don't define base types are objects with index signatues
* regenerate public api docs
* make indices privileges optional too
* remove unnecessary index-signature from Exception interface
* use variadic _arg instead
* [core/plugin] use Record<string, any> rather than {}
* replace a couple more instances of {}
* revert some unnecessary changes
* remove unused types
* [reporting] output, payload, and meta are required properties
* bump to latest patch version
* skip and adjust functional tests for Firefox
* downgrade geckodriver to 0.22.0
* [ftr] add firefox specific config file
* remove hard coded firefox adjustments
* remove firefox specific screenshot directory
* run functional tests in firefox in x-pack
* pass the logger to readConfigFile()
* rename local var
* skip xpack firefox config
* run xpack firefox functional tests in separate command
* update report name for XPack firefox results
* adjust viz shared item test
* skip shared item test
* [test/feature_controls] increase timeout to 20 sec & use forceLogout
* FF timeout on TSVB, refresh page on failure for url navigation
* [feature_controls/visualize_security] increase timeout to 20 sec
* skip dev_tools_spaces tests on FF
* run all groups 3 times
* skip more func tests
* skip more tests
* skip all feature controls tests for Firefox
* revert back changes in feature controls tests
* rename xpack report for chrome
* skip tile map for FF, wait for render before saving
* Revert "run all groups 3 times"
This reverts commit 12b4f69627.
* revert refresh on login
* apply feedback
Solution for use cases that need a query bar without a submit button or date picker that still want KQL and autocomplete. Necessary for the KQL in TSVB and KQL in filters aggregation efforts.
* [services/lib/web_element_wrapper] set custom wait for findAll
* [services/remote] print browser name and version on init
* [services/combo_box] fix return statement
* fix lint error
* use css selector instead of className, set implicit wait to 0
* set implicitWait to 2 sec
* set default implicitWait to WAIT_FOR_EXISTS_TIME
* set timeout to 1 sec, retry for query bar test
* sleep 5 sec waiting zoom is finished
* sleep is the only way to wait
* run x-pack-ciGroup3 20x times
* Revert "run x-pack-ciGroup3 20x times"
This reverts commit 55482de330.
I'd like to add another custom eslint rule, but there isn't a very good place to do that right now. We have the `eslint-plugin-kibana-custom` package, which is super simple but isn't in the `@kbn` namespace and isn't included in the root eslint config, and `@kbn/eslint-plugin-license-header` is too specific, so I've merged those two packages into `@kbn/eslint-plugin-eslint`, which is a little redundant but allows is to refer to the rules within it as `@kbn/eslint/{rule}`, which feels nice.
Thoughts?
_**NOTE:**_ merging the eslint rules from the two packages means enabling prettier for the code from `@kbn/eslint-plugin-license-header`, all those changes are made in 42c7da6fe2. [View the changes without the prettier updates](b647f2b...74e07a0)
* Restore webdriver-based functional test runner driver
* run all function test suites 6 times per build, to help spot flakiness
* [tests/reporting] fix flaky click on report generation
* [#31446] stabilize x-pack-ciGroup6 (#31447)
* rerun x-pack-ciGroup6 40 times
* improve reporting tests stability (#31454)
* Revert "rerun x-pack-ciGroup6 40 times"
This reverts commit 63026b1a53.
* Fix Dashboard Save tests (#32112)
* [page_objects/dashboard_page] add waitDialogIsClosed to manage dashboard popup behaviour
* [page_objects/dashboard_page] add waitDialogIsClosed flag
* services: leadfoot -> webdriver
* [services/lib/web_element_wrapper] extend type with charByChar input (#32305)
* Revert "run all function test suites 6 times per build, to help spot flakiness"
This reverts commit 477099337a.
* Revert "Replace Leadfoot with WebDriver API (#26477)"
This reverts commit 0bd3b4fdfb.
* leadfoot expectes execute args to be an array
* disable flaky graphql tests
* [services/browser] switch to webdriver API
* [services/find] switch to webdriver API
* [services/remote] update to use webdriver service
* rename WebDriver service
* [services/remote] remove browser_driver_api
* [services/find] update to use WebDriver element wrapper
* [services/web_element_wrapper] use wrapped elements
* [services/find] use element wrapped moveMouseTo function
* [services/find] fix webdriver service init, add missing functions
* add missing functions for Leadfoot Element API
* [services/web_element_wrapper] add search by tag name
* tune WebDriver API calls to match Leadfoot
* Fixed implementation of moveMouseTo that is causing el.getClientRect error.
* fix references to WebElementWrapper
* [services/find] fix findElement call on webElementWrapper object
* fix issues in find and test_subject services
* [web_element_wrapper] add search by partial link text
* [services/find] adjust wrapper functions with Leadfoot API to support tests
* fix dragAnDrop & filer on elements displayed
* [visualise_page] improve searching of bucket element
* [discover_page] wait for visualisation loaded + dragAndDrop
* [service/find] fix exists, add pressKey for element
* fixes for visualize tests
* [services/browser] update dragAnddrop
* Made change to test to use move() code path in drag and drop.
* tune page objects for chart tests
* fix discover & xpack tests
* [page_objects/upgrade_assistant] fix locator
* [page_objects/discover_page] retry on brushHistogram to fix staleElementException
* update dragAndDrop, retry on getHeaders
* retry on getTextTag
* [services/screenshots] fix webdriver image take
* skip histogram brushed test & remove --bail
* use legacyAction for dragAndDrop with offset
* add missing await
* page objects update
* increase mocha timeout to 5 min
* use data-rendering-count to track visualization loading completion
* adjust waitForVisualizationRenderingCompleted
* [page_objects/visualize_page] add waiting for visualization
* fixes for xpack functional tests
* improve logging in find & testSubjects
* [services/find] fix wrapped element usage
* [page_objects/visual_builder_page] use BACK_SPACE key, supported by WebDriver
* page objects fix
* [services/test_subjects] add async/await
* [visualize/_tile_map] add missing await in tests
* fix tile_map tests for webdriver
* replace bluebird.prop with async/await
* try to wait for rendering in openLegendOptionColors
* additional logs in find.allByCssSelector
* [services/find] fix implicit wait handling
* fix mapping in getRowsFromTable
* add timeouts and waitForVisualisation in failed tests
* [services/test_subjects] set default timeout to FIND_TIME
* [services/test_subjects] replace bluebird.filter with for loop
* replace retry.try with waitForVisualisation
* add 'visualize' PO import
* [services/web_element_wrapper] add scrollIntoView support
* fixing kibana-intake
* fixes after merging master
* Switching browser temporarily to firefox to get a CI run on FF.
* set chrome back to default browser
* print logs for some WebElementWrapper functions
* fix _wrap function
* update NOTICE.txt
* Fixed some firefox config to get the browser working. Consolidated some of the calls to build out the driver.
* Cleaning driver instance creation
* Added network throttling option for chrome.
* fix implicit wait setting
* uncomment bail
* adjust waiting for timepicker popup
* [services/inspector] process table in sequence
* Added conditional for TEST_THROTTLE_NETWORK option along with updating the speed and comments.
* add cheerio checks
* [services/apps_menu] get links quicker via innerHtml
* install webdriver dependency via yarn
* [services/combo_box] wrap getComboBoxSelectedOptions with retry
* remove leadfoot
* [testSubjects] remove unnecessary method
* [ftr/browser] explicitly export specific keys, keep `BACKSPACE` name
* Revert "[ftr/browser] explicitly export specific keys, keep `BACKSPACE` name"
This reverts commit 779335f2d4.
* [ftr/filterBar] allow finding filters even if they're off the page
* [webdriver] write verbose logs
* [webdriver] shim executor to run all commands in series
Best we can tell WebDriver locks up sometimes when we send too many
commands at once, sometimes... It causes random lockups where we never
receive another response from WedDriver and we don't want to live with
that risk, so for now I've shimmed the Executor class in WebDiver to
queue all calls to Executor#send() if there is already a call in
progress.
* [webdriver] add comment about why we're shimming
* [webdriver] fix queue, actually put things there and take things off
* run all functional four times per build
* [webdriver] extract preventParallelCalls to test it
* Revert "run all functional four times per build"
This reverts commit f91996d977.
* use cheerio to parse table innerHtml in functional tests
* rename function to parseDomContent
* test Bar charts by parsing Dom
* test X & Y axis data by parsing Dom
* get X Axis data for dashboard tests with Dom parsing
* [Maps] add saved objects for all sample data sets
* add functional tests that compare sample data maps to baseline images
* add check for layer loading in functional tests
* try something out in CI
* try map without EMS regions
* add weblogs test but hide region layer
* skip tests with EMS vector layers
* gis-map to map and ES_GEOHASH_GRID to ES_GEO_GRID
* add resolution property to ES_GEO_GRID source descriptor
* move alphaValue from style descriptor to layer descriptor and rename to alpha
* terms join label change 'group by' to 'of'
* ensure sample data sets work with no internet access
* get functional tests working with updated full screen snapshots
* delete gis folder left overs
* give time for visibility to toggle to fire
* make web logs screen comparision more forgiving
* wait for layers to load on full screen