* 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> |
||
---|---|---|
.. | ||
apps/enterprise_search | ||
page_objects | ||
services | ||
base_config.ts | ||
cypress.config.ts | ||
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 passwordchangeme
. - There should be NO existing Engines or Meta Engines.