kibana/test/plugin_functional
Mikhail Shustov e01e682917
Add execution context service (#102039)
* add execution context service on the server-side

* integrate execution context service into http service

* add integration tests for execution context + http server

* update core code

* update integration tests

* update settings docs

* add execution context test plugin

* add a client-side test

* remove requestId from execution context

* add execution context service for the client side

* expose execution context service to plugins

* add execution context service for the server-side

* update http service

* update elasticsearch service

* move integration tests from http to execution_context service

* integrate in es client

* expose to plugins

* refactor functional tests

* remove x-opaque-id from create_cluster tests

* update test plugin package.json

* fix type errors in the test mocks

* fix elasticsearch service tests

* add escaping to support non-ascii symbols in description field

* improve test coverage

* update docs

* remove unnecessary import

* update docs

* Apply suggestions from code review

Co-authored-by: Josh Dover <1813008+joshdover@users.noreply.github.com>

* address comments

* remove execution context cleanup

* add option to disable execution_context service on the server side

* put x-opaque-id test back

* put tests back

* add header size limitation to the server side as well

* fix integration tests

* address comments

Co-authored-by: Josh Dover <1813008+joshdover@users.noreply.github.com>
2021-07-07 17:46:35 +02:00
..
plugins Add execution context service (#102039) 2021-07-07 17:46:35 +02:00
services
test_suites Add execution context service (#102039) 2021-07-07 17:46:35 +02:00
config.ts [esArchiver] drop support for --dir, use repo-relative paths instead (#101345) 2021-06-08 17:37:42 -04:00
README.md

Plugin Functional Tests

This folder contains plugin functional tests, i.e. functional tests that should be executed against a Kibana instance with specific test plugins available.

To add a plugin to the instance, just place the plugin folder in the plugins directory.

Add new test suites into the test_suites folder and reference them from the config.js file. These test suites work the same as regular functional test except that they are executed against a Kibana with all plugins (from the plugins directory) installed.

Run the test

To run these tests during development you can use the following commands:

# Start the test server (can continue running)
node scripts/functional_tests_server.js --config test/plugin_functional/config.ts
# Start a test run
node scripts/functional_test_runner.js --config test/plugin_functional/config.ts

Run Kibana with a test plugin

In case you want to start Kibana with one of the test plugins (e.g. for developing the test plugin), you can just run:

yarn start --plugin-path=test/plugin_functional/plugins/<plugin_folder>

If you wish to start Kibana with multiple test plugins, you can run:

yarn start --plugin-path=test/plugin_functional/plugins/<plugin_folder1> --plugin-path=test/plugin_functional/plugins/<plugin_folder2> ... 

If you wish to load up specific es archived data for your test, you can do so via the es_archiver script detailed in the Scripts README.md

Another option, which will automatically use any specific settings the test environment may rely on, is to boot up the functional test server pointing to the plugin configuration file.

node scripts/functional_tests_server --config test/plugin_functional/config.ts

Note: you may still need to use the es_archiver script to boot up any required data.