kibana/x-pack/plugins/enterprise_search
Constance 641a5ad77f
[Enterprise Search] Request handler refactors/enhancements + update existing routes to use shared handler (#76106)
* Refactor enterprise_search_request_handler to a class that stores config/log

- So that routes don't have to continuously pass it in - just params that actually change (paths, queries)

+ misc refactors/lint fixes from code review

* Update mocks/dependencies so other tests pass type checks

* Update /api/workplace_search/overview endpoint to use new request handler

* Update /api/app_search/engines route to use new handler

- This required updating the shared handler to accept custom params set by the route, since the engines route transmutes some param names
- createRequest mock also had to be updated to correctly reflect a curried function in order to get tests passing

* DRY out hasValidData to a reusable/cleaner call

* Update shared handler to output specific message for auth errors

- Check for /login URL (indicates auth issue)
- Refactor final catch return to allow being passed messages from previous throw
- Change hasValidData fallback to only log (potentially sensitive?) JSON data to server, not to client
- Minor test cleanup - move error tests to single describe block, minor URL/newline cleanup

* Update handler to pass method & body requests + pass back response code

- This will support future POST requests as well as support (e.g.) 404 responses

Minor test refactors:
- Set up new request defaults (method, empty body) + expected output & convert KibanaAuthHeader to string since they're set so close to one another
- group request pass tests into a describe block, remove response body portion of their tests (since we don't really care about that for those tests)
- group response tests into describe block
- clarify how passed handler params arg overrides request.params

* PR feedback: Update custom params arg to take an object instead of a query string
2020-08-28 08:38:23 -07:00
..
common [Enterprise Search] Adds app logic file to Workplace Search (#76009) 2020-08-26 16:21:11 -05:00
public Fixes App Search documentation links (#76133) 2020-08-27 16:11:18 -04:00
server [Enterprise Search] Request handler refactors/enhancements + update existing routes to use shared handler (#76106) 2020-08-28 08:38:23 -07:00
kibana.json [Home] Elastic home page redesign (#70571) 2020-08-26 13:00:00 -07:00
README.md Workplace Search in Kibana MVP (#70979) 2020-07-13 13:10:35 -05:00

Enterprise Search

Overview

This plugin's goal is to provide a Kibana user interface to the Enterprise Search solution's products (App Search and Workplace Search). In it's current MVP state, the plugin provides the following with the goal of gathering user feedback and raising product awareness:

  • App Search: A basic engines overview with links into the product.
  • Workplace Search: A simple app overview with basic statistics, links to the sources, users (if standard auth), and product settings.

Development

  1. When developing locally, Enterprise Search should be running locally alongside Kibana on localhost:3002.
  2. Update config/kibana.dev.yml with enterpriseSearch.host: 'http://localhost:3002'
  3. For faster QA/development, run Enterprise Search on elasticsearch-native auth and log in as the elastic superuser on Kibana.

Testing

Unit tests

From kibana-root-folder/x-pack, run:

yarn test:jest plugins/enterprise_search

E2E tests

See our functional test runner README.