mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 19:13:14 -04:00
* [functional_test_runner] replace functional testing tools with custom/pluggable solution
* [functional_test_runner] Convert unit tests to commonjs format
* [functional_test_runner] Fix dashboard test in wrong mode
* [functional_test_runner] Add dashboardLandingPage test subject
* [functional_test_runner] Get Visualize page object
* [functional_test_runner] Fix outdated references
* [functional_test_runner] Fix more outdated refs
* [functional_test_runner] Remove duplicate tests
* [functional_test_runner] Improve test readability
* [functional_test_runner] 😞 So many duplicate methods
* [functional_test_runner] Move mgmt `before` outside toplevel describe
* [functional_test_runner] Settings page obj missing methods
* [functional_test_runner] Add improvements from @gammon
* [functional_test_runner] Fix return statements in async funcs
* [functional_test_runner] Move before() to correct scope
* [functional_test_runner] Add after() hooks to remove index patterns
* [functional_test_runner] Attempt to fix vertical bar chart tests
* [functional_test_runner] Clean up
* [functional_test_runner] Reinstate unit tests
* [functional_test_runner] Set default loglevel back to info
* [functional_test_runner] Replace `context`s with `describe`s
* [functional_test_runner] Better error handling
* [functional_test_runner] Add in new Tile Map tests
* Incorporate changes from master
* [functional_test_runner] validate that every test file has a single top-level suite
* Update contributing doc with link to full doc
* [docs] Spelling and grammar fixes
* docs: writing and running functional tests
* [docs] Move plugin doc to plugin area
* [docs] Housekeeping. Doc in wrong place
* [docs] Remove dup doc file
* [grunt] Only run mocha_setup when running tests, not every grunt task
41 lines
1.2 KiB
Text
41 lines
1.2 KiB
Text
[[development-elasticsearch]]
|
|
=== Communicating with Elasticsearch
|
|
|
|
Kibana exposes two clients on the server and browser for communicating with elasticsearch.
|
|
There is an 'admin' client which is used for managing Kibana's state, and a 'data' client for all
|
|
other requests. The clients use the https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html[elasticsearch.js library].
|
|
|
|
[float]
|
|
[[client-server]]
|
|
=== Server clients
|
|
|
|
Server clients are exposed through the elasticsearch plugin.
|
|
[source,javascript]
|
|
----
|
|
const adminCluster = server.plugins.elasticsearch.getCluster('admin);
|
|
const dataCluster = server.plugins.elasticsearch.getCluster('data);
|
|
|
|
//ping as the configured elasticsearch.user in kibana.yml
|
|
adminCluster.callWithInternalUser('ping');
|
|
|
|
//ping as the user specified in the current requests header
|
|
adminCluster.callWithRequest(req, 'ping');
|
|
----
|
|
|
|
[float]
|
|
[[client-browser]]
|
|
=== Browser clients
|
|
|
|
Browser clients are exposed through AngularJS services.
|
|
|
|
[source,javascript]
|
|
----
|
|
uiModules.get('kibana')
|
|
.run(function (esAdmin, es) {
|
|
es.ping()
|
|
.then(() => esAdmin.ping())
|
|
.catch(err => {
|
|
console.log('error pinging servers');
|
|
});
|
|
});
|
|
----
|