kibana/x-pack/test/functional_enterprise_search
Constance 3ffd6af7c5
[Enterprise Search] Set up basic scaffolding for Cypress tests in Kibana (#108560)
* Set up tsconfigs

- Required if we're going to have several different Cypress suites (one for each plugin/product essentially) in order for global cy.() commands and it()/describe() to register as expected

@see https://docs.cypress.io/guides/tooling/typescript-support#Clashing-types-with-Jest

* Set up shared commands and routes

NOTE: Unlike ent-search, shared/ will *not* have its own set of tests - rather, shared/cypress is a resource/set of helpers for other test suites to extend/import/etc.

* Create basic Enterprise Search Overview E2E tests

- For happy path testing, we _likely_ shouldn't need more than these tests going forward

- If we ever want to add an error connecting test however, this is likely where it should go (or alternatively, use Kibana's FTR with Enterprise Search host set but not spun up)

* Set up App Search Cypress test scaffolding

- placeholder/hello world test only

* Set up Workplace Search Cypress test scaffolding

- placeholder/hello world test only

* Add helper script and update README

* Add config setup & documentation for potentially running Cypress against Kibana functional server

* PR feedback: Fix typescript project names

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-08-16 16:30:46 -04:00
..
apps/enterprise_search
page_objects
services
base_config.ts
cypress.config.ts [Enterprise Search] Set up basic scaffolding for Cypress tests in Kibana (#108560) 2021-08-16 16:30:46 -04:00
ftr_provider_context.d.ts
README.md
with_host_configured.config.ts
without_host_configured.config.ts

Enterprise Search Functional E2E Tests

Running these tests

Follow the Functional Test Runner instructions.

There are two suites available to run, a suite that requires a Kibana instance without an enterpriseSearch.host configured, and one that does. The later also requires a running Enterprise Search instance, and a Private API key from that instance set in an Environment variable.

Ex.

# Run specs from the x-pack directory
cd x-pack

# Run tests that do not require enterpriseSearch.host variable
node scripts/functional_tests --config test/functional_enterprise_search/without_host_configured.config.ts

# Run tests that require enterpriseSearch.host variable
APP_SEARCH_API_KEY=[use private key from local App Search instance here] node scripts/functional_tests --config test/functional_enterprise_search/with_host_configured.config.ts

Enterprise Search Requirement

The with_host_configured tests will not currently start an instance of App Search automatically. As such, they are not run as part of CI and are most useful for local regression testing.

The easiest way to start Enterprise Search for these tests is to check out the ent-search project and use the following script.

cd script/stack_scripts
/start-with-license-and-expiration.sh platinum 500000

Requirements for Enterprise Search:

  • Running on port 3002 against a separate Elasticsearch cluster.
  • Elasticsearch must have a platinum or greater level license (or trial).
  • Must have Standard or Native Auth configured with an enterprise_search user with password changeme.
  • There should be NO existing Engines or Meta Engines.