From e90ef6a460eed3a2f15a26cfb9a84894a26d00e3 Mon Sep 17 00:00:00 2001 From: Fernando Briano Date: Thu, 4 Jul 2024 16:13:21 +0100 Subject: [PATCH 1/5] Adds entsearch tests for connectors and sync_jobs --- tests/entsearch/10_basic.yml | 23 ++ tests/entsearch/20_connector.yml | 57 ++++ tests/entsearch/30_sync_jobs_serverless.yml | 50 ++++ tests/entsearch/30_sync_jobs_stack.yml | 74 ++++++ tests/entsearch/40_connector_secret.yml | 26 ++ tests/entsearch/50_connector_updates.yml | 244 ++++++++++++++++++ .../entsearch/60_connector_updates_stack.yml | 35 +++ 7 files changed, 509 insertions(+) create mode 100644 tests/entsearch/10_basic.yml create mode 100644 tests/entsearch/20_connector.yml create mode 100644 tests/entsearch/30_sync_jobs_serverless.yml create mode 100644 tests/entsearch/30_sync_jobs_stack.yml create mode 100644 tests/entsearch/40_connector_secret.yml create mode 100644 tests/entsearch/50_connector_updates.yml create mode 100644 tests/entsearch/60_connector_updates_stack.yml diff --git a/tests/entsearch/10_basic.yml b/tests/entsearch/10_basic.yml new file mode 100644 index 0000000..e5de22d --- /dev/null +++ b/tests/entsearch/10_basic.yml @@ -0,0 +1,23 @@ +--- +requires: + serverless: false + stack: true +--- +"Enterprise Search loaded": + - do: + cluster.state: {} + - set: { master_node: master } + + - do: + nodes.info: {} + - contains: { nodes.$master.modules: { name: x-pack-ent-search } } + + - do: + xpack.usage: { } + - match: + enterprise_search: + enabled: true + available: true + search_applications: { count: 0 } + analytics_collections: { count: 0 } + query_rulesets: { total_count: 0, total_rule_count: 0, min_rule_count: 0, max_rule_count: 0 } diff --git a/tests/entsearch/20_connector.yml b/tests/entsearch/20_connector.yml new file mode 100644 index 0000000..89b99e4 --- /dev/null +++ b/tests/entsearch/20_connector.yml @@ -0,0 +1,57 @@ +--- +requires: + serverless: true + stack: true +--- +teardown: + - do: + indices.delete: + index: connectors-test + ignore: 404 +--- +"Connector": + - do: + connector.put: + connector_id: test-connector-1 + body: + index_name: connectors-test + - match: { result: 'created' } + + - do: + connector.check_in: + connector_id: test-connector-1 + - match: { result: updated } + + - do: + connector.last_sync: + connector_id: test-connector-1 + body: + last_sync_error: "oh no error" + last_access_control_sync_scheduled_at: "2023-05-25T12:30:00.000Z" + - match: { result: updated } + + - do: + connector.get: + connector_id: test-connector-1 + - match: { index_name: connectors-test } + - match: { last_sync_error: "oh no error" } + - match: { last_access_control_sync_scheduled_at: "2023-05-25T12:30:00.000Z" } + + - do: + connector.list: {} + - gte: { count: 1 } + + - do: + connector.post: { } + - set: { id: id } + - match: { id: $id } + + - do: + connector.get: + connector_id: $id + - match: { id: $id } + + - do: + connector.delete: + connector_id: test-connector-1 + - match: { acknowledged: true } diff --git a/tests/entsearch/30_sync_jobs_serverless.yml b/tests/entsearch/30_sync_jobs_serverless.yml new file mode 100644 index 0000000..7a25830 --- /dev/null +++ b/tests/entsearch/30_sync_jobs_serverless.yml @@ -0,0 +1,50 @@ +--- +requires: + serverless: true + stack: false +--- +setup: + - do: + connector.put: + connector_id: test-connector + body: + index_name: sync-jobs-test + name: my-connector + language: de + is_native: false + service_type: super-connector +--- +teardown: + - do: + connector.delete: + connector_id: test-connector +--- +"connector.sync_jobs (serverless)": + - do: + connector.sync_job_post: + body: + id: test-connector + job_type: full + trigger_method: on_demand + - set: { id: id } + - match: { id: $id } + + - do: + connector.sync_job_get: + connector_sync_job_id: $id + - match: { connector.id: test-connector } + - set: { last_seen: last_seen_before_check_in } + + - do: + connector.sync_job_cancel: + connector_sync_job_id: $id + - match: { result: updated } + + - do: + connector.sync_job_list: {} + - gte: { count: 1 } + + - do: + connector.sync_job_delete: + connector_sync_job_id: $id + - match: { acknowledged: true } diff --git a/tests/entsearch/30_sync_jobs_stack.yml b/tests/entsearch/30_sync_jobs_stack.yml new file mode 100644 index 0000000..a3722d4 --- /dev/null +++ b/tests/entsearch/30_sync_jobs_stack.yml @@ -0,0 +1,74 @@ +--- +requires: + serverless: false + stack: true +--- +setup: + - do: + connector.put: + connector_id: test-connector + body: + index_name: sync-jobs-test + name: my-connector + language: de + is_native: false + service_type: super-connector +--- +"connector.sync_jobs (stack)": + - do: + connector.sync_job_post: + body: + id: test-connector + job_type: full + trigger_method: on_demand + - set: { id: id } + - match: { id: $id } + + - do: + connector.sync_job_get: + connector_sync_job_id: $id + - match: { connector.id: test-connector } + - set: { last_seen: last_seen_before_check_in } + + - do: + connector.sync_job_check_in: + connector_sync_job_id: $id + - match: { result: updated } + + - do: + connector.sync_job_cancel: + connector_sync_job_id: $id + - match: { result: updated } + + - do: + connector.sync_job_update_stats: + connector_sync_job_id: $id + body: + deleted_document_count: 10 + indexed_document_count: 20 + indexed_document_volume: 1000 + + - match: { result: updated } + + - do: + connector.sync_job_get: + connector_sync_job_id: $id + - match: { deleted_document_count: 10 } + - match: { indexed_document_count: 20 } + - match: { indexed_document_volume: 1000 } + + - do: + connector.sync_job_list: {} + - gte: { count: 1 } + + - do: + connector.sync_job_claim: + connector_sync_job_id: $id + body: + worker_hostname: "host-name" + - match: { result: updated } + + - do: + connector.sync_job_delete: + connector_sync_job_id: $id + - match: { acknowledged: true } diff --git a/tests/entsearch/40_connector_secret.yml b/tests/entsearch/40_connector_secret.yml new file mode 100644 index 0000000..d9962a5 --- /dev/null +++ b/tests/entsearch/40_connector_secret.yml @@ -0,0 +1,26 @@ +--- +requires: + serverless: false + stack: true +--- +'connector secret': + - do: + connector.secret_post: + body: + value: my-secret + - set: { id: id } + - match: { id: $id } + - do: + connector.secret_get: + id: $id + - match: { value: my-secret } + - do: + connector.secret_put: + id: $id + body: + value: my-secret-2 + - match: { result: 'updated' } + - do: + connector.secret_get: + id: $id + - match: { value: my-secret-2 } diff --git a/tests/entsearch/50_connector_updates.yml b/tests/entsearch/50_connector_updates.yml new file mode 100644 index 0000000..a57715f --- /dev/null +++ b/tests/entsearch/50_connector_updates.yml @@ -0,0 +1,244 @@ +--- +requires: + stack: true + serverless: true +--- +setup: + - do: + connector.put: + connector_id: test-connector-updates + body: + index_name: search-1-test + name: my-connector + language: pl + is_native: false + service_type: super-connector +--- +teardown: + - do: + connector.delete: + connector_id: test-connector-updates +--- +"Update Connector Name": + - do: + connector.update_name: + connector_id: test-connector-updates + body: + name: test-name + - match: { result: updated } + + - do: + connector.update_filtering: + connector_id: test-connector-updates + body: + advanced_snippet: + created_at: "2023-05-25T12:30:00.000Z" + updated_at: "2023-05-25T12:30:00.000Z" + value: + - tables: + - some_table + query: 'SELECT id, st_geohash(coordinates) FROM my_db.some_table;' + rules: + - created_at: "2023-06-25T12:30:00.000Z" + field: _ + id: DEFAULT + order: 0 + policy: include + rule: regex + updated_at: "2023-05-25T12:30:00.000Z" + value: ".*" + - match: { result: updated } + + - do: + connector.update_filtering_validation: + connector_id: test-connector-updates + body: + validation: + state: valid + errors: [] + - match: { result: updated } + + + - do: + connector.update_active_filtering: + connector_id: test-connector-updates + - match: { result: updated } + + - do: + connector.get: + connector_id: test-connector-updates + - match: { filtering.0.draft.advanced_snippet.created_at: "2023-05-25T12:30:00.000Z" } + - match: { filtering.0.draft.advanced_snippet.value.0.tables.0.: "some_table" } + - match: { filtering.0.draft.rules.0.created_at: "2023-06-25T12:30:00.000Z" } + - match: { filtering.0.active.advanced_snippet.created_at: "2023-05-25T12:30:00.000Z" } + - match: { filtering.0.active.advanced_snippet.value.0.tables.0.: "some_table" } + - match: { filtering.0.active.rules.0.created_at: "2023-06-25T12:30:00.000Z" } + + - do: + connector.update_error: + connector_id: test-connector-updates + body: + error: "some error" + - match: { result: updated } + + - do: + connector.update_configuration: + connector_id: test-connector-updates + body: + configuration: + some_field: + default_value: null + depends_on: + - field: some_field + value: 31 + display: numeric + label: Very important field + options: [ ] + order: 4 + required: true + sensitive: false + tooltip: Wow, this tooltip is useful. + type: str + ui_restrictions: [ ] + validations: + - constraint: 0 + type: greater_than + value: 123 + yet_another_field: + default_value: null + depends_on: + - field: some_field + value: 31 + display: numeric + label: Another important field + options: [ ] + order: 4 + required: true + sensitive: false + tooltip: Wow, this tooltip is useful. + type: str + ui_restrictions: [ ] + validations: + - constraint: 0 + type: greater_than + value: "peace & love" + + - do: + connector.get: + connector_id: test-connector-updates + - match: { configuration.some_field.value: 123 } + - match: { configuration.some_field.sensitive: false } + - match: { configuration.some_field.display: numeric } + - match: { status: configured } + - match: { configuration.yet_another_field.value: "peace & love" } + + - do: + connector.update_index_name: + connector_id: test-connector-updates + body: + index_name: search-2-test + - match: { result: updated } + + - do: + connector.get: + connector_id: test-connector-updates + - match: { index_name: search-2-test } + + - do: + connector.put: + connector_id: test-connector-native + body: + index_name: search-3-test + name: my-connector + language: pl + is_native: false + service_type: super-connector + + - do: + connector.update_native: + connector_id: test-connector-native + body: + is_native: true + - match: { result: updated } + + - do: + connector.get: + connector_id: test-connector-native + - match: { is_native: true } + - match: { status: configured } + + - do: + connector.update_pipeline: + connector_id: test-connector-updates + body: + pipeline: + extract_binary_content: true + name: test-pipeline + reduce_whitespace: true + run_ml_inference: false + - match: { result: updated } + + - do: + connector.get: + connector_id: test-connector-updates + - match: { pipeline.extract_binary_content: true } + - match: { pipeline.name: test-pipeline } + - match: { pipeline.reduce_whitespace: true } + - match: { pipeline.run_ml_inference: false } + + - do: + connector.update_scheduling: + connector_id: test-connector-updates + body: + scheduling: + access_control: + enabled: true + interval: 1 0 0 * * ? + full: + enabled: false + interval: 2 0 0 * * ? + incremental: + enabled: false + interval: 3 0 0 * * ? + - match: { result: updated } + + - do: + connector.get: + connector_id: test-connector-updates + - match: { scheduling.access_control.enabled: true } + - match: { scheduling.access_control.interval: "1 0 0 * * ?" } + - match: { scheduling.full.enabled: false } + - match: { scheduling.full.interval: "2 0 0 * * ?" } + - match: { scheduling.incremental.enabled: false } + - match: { scheduling.incremental.interval: "3 0 0 * * ?" } + + - do: + connector.update_status: + connector_id: test-connector-updates + body: + status: needs_configuration + - match: { result: updated } + + - do: + connector.get: + connector_id: test-connector-updates + - match: { status: needs_configuration } + + - do: + connector.update_service_type: + connector_id: test-connector-updates + body: + service_type: even-better-connector + - match: { result: updated } + + - do: + connector.get: + connector_id: test-connector-updates + - match: { service_type: even-better-connector } + + - do: + connector.update_api_key_id: + connector_id: test-connector-updates + body: + api_key_id: test-api-key-id + - match: { result: updated } diff --git a/tests/entsearch/60_connector_updates_stack.yml b/tests/entsearch/60_connector_updates_stack.yml new file mode 100644 index 0000000..b8b1016 --- /dev/null +++ b/tests/entsearch/60_connector_updates_stack.yml @@ -0,0 +1,35 @@ +--- +requires: + stack: true + serverless: false +--- +setup: + - do: + connector.put: + connector_id: test-connector-updates + body: + index_name: search-1-test + name: my-connector + language: pl + is_native: false + service_type: super-connector +--- +teardown: + - do: + connector.delete: + connector_id: test-connector-updates +--- +'connector updates stack': + - do: + connector.update_features: + connector_id: test-connector-updates + body: + features: + document_level_security: { enabled: true } + - match: { result: updated } + + + - do: + connector.get: + connector_id: test-connector-updates + - match: { features.document_level_security.enabled: true } From c8a230f9381f50ef98792505adc08ef0da669d55 Mon Sep 17 00:00:00 2001 From: Fernando Briano Date: Thu, 4 Jul 2024 16:34:17 +0100 Subject: [PATCH 2/5] Adds roles tests --- tests/security/40_roles.yml | 94 +++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 tests/security/40_roles.yml diff --git a/tests/security/40_roles.yml b/tests/security/40_roles.yml new file mode 100644 index 0000000..3e38746 --- /dev/null +++ b/tests/security/40_roles.yml @@ -0,0 +1,94 @@ +--- +requires: + serverless: false + stack: true +--- +setup: + - do: + security.put_user: + username: "joe" + body: > + { + "password": "s3krit-password", + "roles" : [ "admin_role" ] + } + +--- +teardown: + - do: + security.delete_user: + username: "joe" + ignore: 404 + - do: + security.delete_role: + name: "admin_role" + ignore: 404 +--- +"Test put role api": + - do: + security.put_role: + name: "admin_role" + body: > + { + "metadata": { + "key1" : "val1", + "key2" : "val2" + }, + "indices": [ + { + "names": "*", + "privileges": ["all"] + } + ] + } + - match: { role: { created: true } } + + - do: + security.get_role: + name: "admin_role" + - match: { admin_role.metadata.key1: "val1" } + - match: { admin_role.metadata.key2: "val2" } + - match: { admin_role.indices.0.names.0: "*" } + - match: { admin_role.indices.0.privileges.0: "all" } + + - do: + security.query_role: + body: > + { + "query": { "match_all": {} }, "sort": ["name"] + } + - gte: { total: 1 } + - gte: { count: 1 } + - match: { roles.0.name: "admin_role" } + - do: + security.bulk_put_role: + body: > + { + "roles": { + "test_admin_role": { + "description": "This is my test role", + "metadata": { + "key1": "val1", + "key2": "val2" + }, + "indices": [ + { + "names": "*", + "privileges": [ "all" ] + } + ] + } + } + } + - match: { created: ["test_admin_role"] } + + - do: + security.get_role: + name: "test_admin_role" + - match: { test_admin_role.description: "This is my test role" } + + - do: + security.bulk_delete_role: + body: + names: ["test_admin_role"] + - match: { deleted.0: "test_admin_role" } From 7c5b001c271e31dfc207201c0c1ef095528b21d0 Mon Sep 17 00:00:00 2001 From: Fernando Briano Date: Thu, 4 Jul 2024 18:34:10 +0100 Subject: [PATCH 3/5] Adds behavioral analytics event test --- .../30_behavioral_analytics_event.yml | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/search_application/30_behavioral_analytics_event.yml diff --git a/tests/search_application/30_behavioral_analytics_event.yml b/tests/search_application/30_behavioral_analytics_event.yml new file mode 100644 index 0000000..caaab29 --- /dev/null +++ b/tests/search_application/30_behavioral_analytics_event.yml @@ -0,0 +1,28 @@ +--- +requires: + serverless: false + stack: true +--- +setup: + - do: + search_application.put_behavioral_analytics: + name: my-test-analytics-collection +--- +teardown: + - do: + search_application.delete_behavioral_analytics: + name: my-test-analytics-collection +--- +"Post page_view analytics event": + - do: + search_application.post_behavioral_analytics_event: + collection_name: my-test-analytics-collection + event_type: "page_view" + body: + session: + id: "123" + user: + id: "456" + page: + url: "https://www.elastic.co" + - is_true: accepted From ec6cbf16712e8d75edb20e938e4ae2cb0f87b534 Mon Sep 17 00:00:00 2001 From: Fernando Briano Date: Thu, 4 Jul 2024 23:33:02 +0100 Subject: [PATCH 4/5] Adds search_application.render_query test --- tests/search_application/40_render_query.yml | 82 ++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 tests/search_application/40_render_query.yml diff --git a/tests/search_application/40_render_query.yml b/tests/search_application/40_render_query.yml new file mode 100644 index 0000000..0c21ff1 --- /dev/null +++ b/tests/search_application/40_render_query.yml @@ -0,0 +1,82 @@ +--- +requires: + stack: true + serverless: false +--- +setup: + - do: + indices.create: + index: test-search-index1 + body: + settings: + index: + number_of_shards: 1 + number_of_replicas: 0 + + - do: + indices.create: + index: test-search-index2 + body: + settings: + index: + number_of_shards: 1 + number_of_replicas: 0 + + - do: + search_application.put: + name: test-search-application + body: + indices: [ "test-search-index1", "test-search-index2" ] + analytics_collection_name: "test-analytics" + template: + script: + source: + query: + term: + "{{field_name}}": "{{field_value}}" + params: + field_name: field1 + field_value: value1 + + - do: + index: + index: test-search-index1 + id: doc1 + body: + field1: value1 + field2: value1 + refresh: true + + - do: + index: + index: test-search-index2 + id: doc2 + body: + field1: value1 + field3: value3 + refresh: true +--- +teardown: + - do: + search_application.delete: + name: test-search-application + ignore: 404 + + - do: + indices.delete: + index: test-search-index1 + ignore: 404 + + - do: + indices.delete: + index: test-search-index2 + ignore: 404 +--- +'search_application.render_query': + - do: + search_application.render_query: + name: test-search-application + body: + params: + field_name: field2 + - match: { query: { term: { field2: {value: "value1"} } } } From 53a1ce5f52f36edbaa130500bb52b995fcae5316 Mon Sep 17 00:00:00 2001 From: Fernando Briano Date: Thu, 4 Jul 2024 16:15:08 +0100 Subject: [PATCH 5/5] Updates API report 2024-07-04|16:14:32 --- apis_report.md | 246 +++++++++++++++++++++++++------------------------ 1 file changed, 126 insertions(+), 120 deletions(-) diff --git a/apis_report.md b/apis_report.md index bc9cfeb..601ce45 100644 --- a/apis_report.md +++ b/apis_report.md @@ -2,11 +2,11 @@ Endpoints that are currently being tested are marked as done and link to the test where they're being used. -* [Endpoints in Stack (elasticsearch-specification)](#stack): 499 +* [Endpoints in Stack (elasticsearch-specification)](#stack): 502 * [Endpoints in Serverless](#serverless): 237 -* [Endpoints in Stack JSON spec](#endpoints-in-stack-json-spec): 492 -* Elasticsearch Stack - **Tested**: 239 | **Untested**: 260 ![](https://geps.dev/progress/48) -* Elasticsearch Serverless - **Tested** 209 | **Untested**: 28 ![](https://geps.dev/progress/88) +* [Endpoints in Stack JSON spec](#endpoints-in-stack-json-spec): 502 +* Elasticsearch Stack - **Tested**: 283 | **Untested**: 219 ![](https://geps.dev/progress/56) +* Elasticsearch Serverless - **Tested** 234 | **Untested**: 3 ![](https://geps.dev/progress/98) * [APIs in JSON spec and not in elasticsearch-specification](#apis-in-json-spec-and-not-elasticsearch-specification) ## Endpoints in elasticsearch-specification @@ -35,31 +35,31 @@ Endpoints that are currently being tested are marked as done and link to the tes - [x] [cluster.get_component_template](./tests/cluster/component_templates.yml#L24) - [x] [cluster.info](./tests/cluster/cluster_info.yml#L8) - [x] [cluster.put_component_template](./tests/cluster/component_templates.yml#L8) - - [ ] connector.check_in - - [ ] connector.delete - - [ ] connector.get - - [ ] connector.last_sync - - [ ] connector.list - - [ ] connector.post - - [ ] connector.put - - [ ] connector.sync_job_cancel - - [ ] connector.sync_job_delete - - [ ] connector.sync_job_get - - [ ] connector.sync_job_list - - [ ] connector.sync_job_post - - [ ] connector.update_active_filtering - - [ ] connector.update_api_key_id - - [ ] connector.update_configuration - - [ ] connector.update_error - - [ ] connector.update_filtering - - [ ] connector.update_filtering_validation - - [ ] connector.update_index_name - - [ ] connector.update_name - - [ ] connector.update_native - - [ ] connector.update_pipeline - - [ ] connector.update_scheduling - - [ ] connector.update_service_type - - [ ] connector.update_status + - [x] [connector.check_in](./tests/entsearch/20_connector.yml#L21) + - [x] [connector.delete](./tests/entsearch/20_connector.yml#L55) + - [x] [connector.get](./tests/entsearch/20_connector.yml#L34) + - [x] [connector.last_sync](./tests/entsearch/20_connector.yml#L26) + - [x] [connector.list](./tests/entsearch/20_connector.yml#L41) + - [x] [connector.post](./tests/entsearch/20_connector.yml#L45) + - [x] [connector.put](./tests/entsearch/20_connector.yml#L14) + - [x] [connector.sync_job_cancel](./tests/entsearch/30_sync_jobs_serverless.yml#L39) + - [x] [connector.sync_job_delete](./tests/entsearch/30_sync_jobs_serverless.yml#L48) + - [x] [connector.sync_job_get](./tests/entsearch/30_sync_jobs_serverless.yml#L33) + - [x] [connector.sync_job_list](./tests/entsearch/30_sync_jobs_serverless.yml#L44) + - [x] [connector.sync_job_post](./tests/entsearch/30_sync_jobs_serverless.yml#L24) + - [x] [connector.update_active_filtering](./tests/entsearch/50_connector_updates.yml#L63) + - [x] [connector.update_api_key_id](./tests/entsearch/50_connector_updates.yml#L240) + - [x] [connector.update_configuration](./tests/entsearch/50_connector_updates.yml#L85) + - [x] [connector.update_error](./tests/entsearch/50_connector_updates.yml#L78) + - [x] [connector.update_filtering](./tests/entsearch/50_connector_updates.yml#L31) + - [x] [connector.update_filtering_validation](./tests/entsearch/50_connector_updates.yml#L53) + - [x] [connector.update_index_name](./tests/entsearch/50_connector_updates.yml#L136) + - [x] [connector.update_name](./tests/entsearch/50_connector_updates.yml#L24) + - [x] [connector.update_native](./tests/entsearch/50_connector_updates.yml#L158) + - [x] [connector.update_pipeline](./tests/entsearch/50_connector_updates.yml#L171) + - [x] [connector.update_scheduling](./tests/entsearch/50_connector_updates.yml#L190) + - [x] [connector.update_service_type](./tests/entsearch/50_connector_updates.yml#L228) + - [x] [connector.update_status](./tests/entsearch/50_connector_updates.yml#L216) - [x] [count](./tests/bulk/10_basic.yml#L24) - [x] [create](./tests/create/10_basic.yml#L18) - [x] [delete](./tests/delete/10_basic.yml#L16) @@ -316,36 +316,36 @@ Endpoints that are currently being tested are marked as done and link to the tes - [x] [cluster.reroute](./tests/cluster/reroute.yml#L8) - [x] [cluster.state](./tests/cluster/state.yml#L8) - [x] [cluster.stats](./tests/cluster/stats.yml#L8) - - [ ] connector.check_in - - [ ] connector.delete - - [ ] connector.get - - [ ] connector.last_sync - - [ ] connector.list - - [ ] connector.post - - [ ] connector.put - - [ ] connector.sync_job_cancel - - [ ] connector.sync_job_check_in - - [ ] connector.sync_job_claim - - [ ] connector.sync_job_delete + - [x] [connector.check_in](./tests/entsearch/20_connector.yml#L21) + - [x] [connector.delete](./tests/entsearch/20_connector.yml#L55) + - [x] [connector.get](./tests/entsearch/20_connector.yml#L34) + - [x] [connector.last_sync](./tests/entsearch/20_connector.yml#L26) + - [x] [connector.list](./tests/entsearch/20_connector.yml#L41) + - [x] [connector.post](./tests/entsearch/20_connector.yml#L45) + - [x] [connector.put](./tests/entsearch/20_connector.yml#L14) + - [x] [connector.sync_job_cancel](./tests/entsearch/30_sync_jobs_serverless.yml#L39) + - [x] [connector.sync_job_check_in](./tests/entsearch/30_sync_jobs_stack.yml#L34) + - [x] [connector.sync_job_claim](./tests/entsearch/30_sync_jobs_stack.yml#L65) + - [x] [connector.sync_job_delete](./tests/entsearch/30_sync_jobs_serverless.yml#L48) - [ ] connector.sync_job_error - - [ ] connector.sync_job_get - - [ ] connector.sync_job_list - - [ ] connector.sync_job_post - - [ ] connector.sync_job_update_stats - - [ ] connector.update_active_filtering - - [ ] connector.update_api_key_id - - [ ] connector.update_configuration - - [ ] connector.update_error - - [ ] connector.update_features - - [ ] connector.update_filtering - - [ ] connector.update_filtering_validation - - [ ] connector.update_index_name - - [ ] connector.update_name - - [ ] connector.update_native - - [ ] connector.update_pipeline - - [ ] connector.update_scheduling - - [ ] connector.update_service_type - - [ ] connector.update_status + - [x] [connector.sync_job_get](./tests/entsearch/30_sync_jobs_serverless.yml#L33) + - [x] [connector.sync_job_list](./tests/entsearch/30_sync_jobs_serverless.yml#L44) + - [x] [connector.sync_job_post](./tests/entsearch/30_sync_jobs_serverless.yml#L24) + - [x] [connector.sync_job_update_stats](./tests/entsearch/30_sync_jobs_stack.yml#L44) + - [x] [connector.update_active_filtering](./tests/entsearch/50_connector_updates.yml#L63) + - [x] [connector.update_api_key_id](./tests/entsearch/50_connector_updates.yml#L240) + - [x] [connector.update_configuration](./tests/entsearch/50_connector_updates.yml#L85) + - [x] [connector.update_error](./tests/entsearch/50_connector_updates.yml#L78) + - [x] [connector.update_features](./tests/entsearch/60_connector_updates_stack.yml#L24) + - [x] [connector.update_filtering](./tests/entsearch/50_connector_updates.yml#L31) + - [x] [connector.update_filtering_validation](./tests/entsearch/50_connector_updates.yml#L53) + - [x] [connector.update_index_name](./tests/entsearch/50_connector_updates.yml#L136) + - [x] [connector.update_name](./tests/entsearch/50_connector_updates.yml#L24) + - [x] [connector.update_native](./tests/entsearch/50_connector_updates.yml#L158) + - [x] [connector.update_pipeline](./tests/entsearch/50_connector_updates.yml#L171) + - [x] [connector.update_scheduling](./tests/entsearch/50_connector_updates.yml#L190) + - [x] [connector.update_service_type](./tests/entsearch/50_connector_updates.yml#L228) + - [x] [connector.update_status](./tests/entsearch/50_connector_updates.yml#L216) - [x] [count](./tests/bulk/10_basic.yml#L24) - [x] [create](./tests/create/10_basic.yml#L18) - [ ] dangling_indices.delete_dangling_index @@ -558,7 +558,7 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] nodes.clear_repositories_metering_archive - [ ] nodes.get_repositories_metering_info - [ ] nodes.hot_threads - - [ ] nodes.info + - [x] [nodes.info](./tests/entsearch/10_basic.yml#L12) - [ ] nodes.reload_secure_settings - [ ] nodes.stats - [ ] nodes.usage @@ -592,10 +592,10 @@ Endpoints that are currently being tested are marked as done and link to the tes - [x] [search_application.get](./tests/search_application/10_basic.yml#L48) - [x] [search_application.get_behavioral_analytics](./tests/search_application/20_behavioral_analytics.yml#L13) - [x] [search_application.list](./tests/search_application/10_basic.yml#L58) - - [ ] search_application.post_behavioral_analytics_event + - [x] [search_application.post_behavioral_analytics_event](./tests/search_application/30_behavioral_analytics_event.yml#L18) - [x] [search_application.put](./tests/search_application/10_basic.yml#L24) - [x] [search_application.put_behavioral_analytics](./tests/search_application/20_behavioral_analytics.yml#L8) - - [ ] search_application.render_query + - [x] [search_application.render_query](./tests/search_application/40_render_query.yml#L77) - [x] [search_application.search](./tests/search_application/10_basic.yml#L52) - [x] [search_mvt](./tests/search_mvt/10_basic.yml#L33) - [ ] search_shards @@ -606,6 +606,8 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] searchable_snapshots.stats - [ ] security.activate_user_profile - [x] [security.authenticate](./tests/security/20_authenticate.yml#L8) + - [x] [security.bulk_delete_role](./tests/security/40_roles.yml#L91) + - [x] [security.bulk_put_role](./tests/security/40_roles.yml#L64) - [ ] security.bulk_update_api_keys - [ ] security.change_password - [ ] security.clear_api_key_cache @@ -617,10 +619,10 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] security.create_cross_cluster_api_key - [ ] security.create_service_token - [ ] security.delete_privileges - - [ ] security.delete_role + - [x] [security.delete_role](./tests/security/40_roles.yml#L23) - [ ] security.delete_role_mapping - [ ] security.delete_service_token - - [ ] security.delete_user + - [x] [security.delete_user](./tests/security/40_roles.yml#L19) - [ ] security.disable_user - [ ] security.disable_user_profile - [ ] security.enable_user @@ -630,7 +632,7 @@ Endpoints that are currently being tested are marked as done and link to the tes - [x] [security.get_api_key](./tests/security/10_api_key_basic.yml#L19) - [ ] security.get_builtin_privileges - [ ] security.get_privileges - - [ ] security.get_role + - [x] [security.get_role](./tests/security/40_roles.yml#L47) - [ ] security.get_role_mapping - [ ] security.get_service_accounts - [ ] security.get_service_credentials @@ -648,10 +650,11 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] security.oidc_logout - [ ] security.oidc_prepare_authentication - [ ] security.put_privileges - - [ ] security.put_role + - [x] [security.put_role](./tests/security/40_roles.yml#L29) - [ ] security.put_role_mapping - - [ ] security.put_user + - [x] [security.put_user](./tests/security/40_roles.yml#L8) - [x] [security.query_api_keys](./tests/security/10_api_key_basic.yml#L24) + - [x] [security.query_role](./tests/security/40_roles.yml#L55) - [ ] security.query_user - [ ] security.saml_authenticate - [ ] security.saml_complete_logout @@ -738,7 +741,7 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] watcher.stop - [ ] watcher.update_settings - [ ] xpack.info - - [ ] xpack.usage + - [x] [xpack.usage](./tests/entsearch/10_basic.yml#L16) ## Endpoints in stack JSON spec @@ -747,6 +750,7 @@ Endpoints that are currently being tested are marked as done and link to the tes - [x] [async_search.status](./tests/async_search/10_basic.yml#L48) - [x] [async_search.submit](./tests/async_search/10_basic.yml#L35) - [x] [bulk](./tests/bulk/10_basic.yml#L9) + - [ ] capabilities - [x] [cat.aliases](./tests/cat/aliases.yml#L20) - [x] [cat.allocation](./tests/cat/allocation.yml#L6) - [x] [cat.component_templates](./tests/cat/component_templates.yml#L6) @@ -804,38 +808,40 @@ Endpoints that are currently being tested are marked as done and link to the tes - [x] [cluster.reroute](./tests/cluster/reroute.yml#L8) - [x] [cluster.state](./tests/cluster/state.yml#L8) - [x] [cluster.stats](./tests/cluster/stats.yml#L8) - - [ ] connector.check_in - - [ ] connector.delete - - [ ] connector.get - - [ ] connector.last_sync - - [ ] connector.list - - [ ] connector.post - - [ ] connector.put + - [x] [connector.check_in](./tests/entsearch/20_connector.yml#L21) + - [x] [connector.delete](./tests/entsearch/20_connector.yml#L55) + - [x] [connector.get](./tests/entsearch/20_connector.yml#L34) + - [x] [connector.last_sync](./tests/entsearch/20_connector.yml#L26) + - [x] [connector.list](./tests/entsearch/20_connector.yml#L41) + - [x] [connector.post](./tests/entsearch/20_connector.yml#L45) + - [x] [connector.put](./tests/entsearch/20_connector.yml#L14) - [ ] connector.secret_delete - - [ ] connector.secret_get - - [ ] connector.secret_post - - [ ] connector.secret_put - - [ ] connector.sync_job_cancel - - [ ] connector.sync_job_check_in - - [ ] connector.sync_job_delete + - [x] [connector.secret_get](./tests/entsearch/40_connector_secret.yml#L14) + - [x] [connector.secret_post](./tests/entsearch/40_connector_secret.yml#L8) + - [x] [connector.secret_put](./tests/entsearch/40_connector_secret.yml#L18) + - [x] [connector.sync_job_cancel](./tests/entsearch/30_sync_jobs_serverless.yml#L39) + - [x] [connector.sync_job_check_in](./tests/entsearch/30_sync_jobs_stack.yml#L34) + - [x] [connector.sync_job_claim](./tests/entsearch/30_sync_jobs_stack.yml#L65) + - [x] [connector.sync_job_delete](./tests/entsearch/30_sync_jobs_serverless.yml#L48) - [ ] connector.sync_job_error - - [ ] connector.sync_job_get - - [ ] connector.sync_job_list - - [ ] connector.sync_job_post - - [ ] connector.sync_job_update_stats - - [ ] connector.update_active_filtering - - [ ] connector.update_api_key_id - - [ ] connector.update_configuration - - [ ] connector.update_error - - [ ] connector.update_filtering - - [ ] connector.update_filtering_validation - - [ ] connector.update_index_name - - [ ] connector.update_name - - [ ] connector.update_native - - [ ] connector.update_pipeline - - [ ] connector.update_scheduling - - [ ] connector.update_service_type - - [ ] connector.update_status + - [x] [connector.sync_job_get](./tests/entsearch/30_sync_jobs_serverless.yml#L33) + - [x] [connector.sync_job_list](./tests/entsearch/30_sync_jobs_serverless.yml#L44) + - [x] [connector.sync_job_post](./tests/entsearch/30_sync_jobs_serverless.yml#L24) + - [x] [connector.sync_job_update_stats](./tests/entsearch/30_sync_jobs_stack.yml#L44) + - [x] [connector.update_active_filtering](./tests/entsearch/50_connector_updates.yml#L63) + - [x] [connector.update_api_key_id](./tests/entsearch/50_connector_updates.yml#L240) + - [x] [connector.update_configuration](./tests/entsearch/50_connector_updates.yml#L85) + - [x] [connector.update_error](./tests/entsearch/50_connector_updates.yml#L78) + - [x] [connector.update_features](./tests/entsearch/60_connector_updates_stack.yml#L24) + - [x] [connector.update_filtering](./tests/entsearch/50_connector_updates.yml#L31) + - [x] [connector.update_filtering_validation](./tests/entsearch/50_connector_updates.yml#L53) + - [x] [connector.update_index_name](./tests/entsearch/50_connector_updates.yml#L136) + - [x] [connector.update_name](./tests/entsearch/50_connector_updates.yml#L24) + - [x] [connector.update_native](./tests/entsearch/50_connector_updates.yml#L158) + - [x] [connector.update_pipeline](./tests/entsearch/50_connector_updates.yml#L171) + - [x] [connector.update_scheduling](./tests/entsearch/50_connector_updates.yml#L190) + - [x] [connector.update_service_type](./tests/entsearch/50_connector_updates.yml#L228) + - [x] [connector.update_status](./tests/entsearch/50_connector_updates.yml#L216) - [x] [count](./tests/bulk/10_basic.yml#L24) - [x] [create](./tests/create/10_basic.yml#L18) - [ ] dangling_indices.delete_dangling_index @@ -947,10 +953,10 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] indices.unfreeze - [x] [indices.update_aliases](./tests/indices/alias.yml#L41) - [x] [indices.validate_query](./tests/validate_query/10_basic.yml#L16) - - [ ] inference.delete_model - - [ ] inference.get_model + - [x] [inference.delete](./tests/inference/10_basic.yml#L37) + - [x] [inference.get](./tests/inference/10_basic.yml#L25) - [x] [inference.inference](./tests/inference/10_basic.yml#L30) - - [ ] inference.put_model + - [x] [inference.put](./tests/inference/10_basic.yml#L8) - [x] [info](./tests/info_serverless.yml#L8) - [x] [ingest.delete_pipeline](./tests/ingest/10_basic.yml#L29) - [ ] ingest.geo_ip_stats @@ -1053,7 +1059,7 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] nodes.clear_repositories_metering_archive - [ ] nodes.get_repositories_metering_info - [ ] nodes.hot_threads - - [ ] nodes.info + - [x] [nodes.info](./tests/entsearch/10_basic.yml#L12) - [ ] nodes.reload_secure_settings - [ ] nodes.stats - [ ] nodes.usage @@ -1064,10 +1070,13 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] profiling.status - [ ] profiling.topn_functions - [x] [put_script](./tests/msearch_template.yml#L10) - - [ ] query_ruleset.delete - - [ ] query_ruleset.get - - [ ] query_ruleset.list - - [ ] query_ruleset.put + - [x] [query_rules.delete_rule](./tests/query_rules/10_query_rules.yml#L46) + - [x] [query_rules.delete_ruleset](./tests/query_rules/10_query_rules.yml#L22) + - [x] [query_rules.get_rule](./tests/query_rules/10_query_rules.yml#L40) + - [x] [query_rules.get_ruleset](./tests/query_rules/20_rulesets.yml#L29) + - [x] [query_rules.list_rulesets](./tests/query_rules/20_rulesets.yml#L33) + - [x] [query_rules.put_rule](./tests/query_rules/10_query_rules.yml#L27) + - [x] [query_rules.put_ruleset](./tests/query_rules/10_query_rules.yml#L8) - [x] [rank_eval](./tests/rank_eval.yml#L20) - [x] [reindex](./tests/reindex/10_basic.yml#L23) - [ ] reindex_rethrottle @@ -1088,10 +1097,10 @@ Endpoints that are currently being tested are marked as done and link to the tes - [x] [search_application.get](./tests/search_application/10_basic.yml#L48) - [x] [search_application.get_behavioral_analytics](./tests/search_application/20_behavioral_analytics.yml#L13) - [x] [search_application.list](./tests/search_application/10_basic.yml#L58) - - [ ] search_application.post_behavioral_analytics_event + - [x] [search_application.post_behavioral_analytics_event](./tests/search_application/30_behavioral_analytics_event.yml#L18) - [x] [search_application.put](./tests/search_application/10_basic.yml#L24) - [x] [search_application.put_behavioral_analytics](./tests/search_application/20_behavioral_analytics.yml#L8) - - [ ] search_application.render_query + - [x] [search_application.render_query](./tests/search_application/40_render_query.yml#L77) - [x] [search_application.search](./tests/search_application/10_basic.yml#L52) - [x] [search_mvt](./tests/search_mvt/10_basic.yml#L33) - [ ] search_shards @@ -1102,6 +1111,8 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] searchable_snapshots.stats - [ ] security.activate_user_profile - [x] [security.authenticate](./tests/security/20_authenticate.yml#L8) + - [x] [security.bulk_delete_role](./tests/security/40_roles.yml#L91) + - [x] [security.bulk_put_role](./tests/security/40_roles.yml#L64) - [ ] security.bulk_update_api_keys - [ ] security.change_password - [ ] security.clear_api_key_cache @@ -1113,10 +1124,10 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] security.create_cross_cluster_api_key - [ ] security.create_service_token - [ ] security.delete_privileges - - [ ] security.delete_role + - [x] [security.delete_role](./tests/security/40_roles.yml#L23) - [ ] security.delete_role_mapping - [ ] security.delete_service_token - - [ ] security.delete_user + - [x] [security.delete_user](./tests/security/40_roles.yml#L19) - [ ] security.disable_user - [ ] security.disable_user_profile - [ ] security.enable_user @@ -1126,7 +1137,7 @@ Endpoints that are currently being tested are marked as done and link to the tes - [x] [security.get_api_key](./tests/security/10_api_key_basic.yml#L19) - [ ] security.get_builtin_privileges - [ ] security.get_privileges - - [ ] security.get_role + - [x] [security.get_role](./tests/security/40_roles.yml#L47) - [ ] security.get_role_mapping - [ ] security.get_service_accounts - [ ] security.get_service_credentials @@ -1144,10 +1155,11 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] security.oidc_logout - [ ] security.oidc_prepare_authentication - [ ] security.put_privileges - - [ ] security.put_role + - [x] [security.put_role](./tests/security/40_roles.yml#L29) - [ ] security.put_role_mapping - - [ ] security.put_user + - [x] [security.put_user](./tests/security/40_roles.yml#L8) - [x] [security.query_api_keys](./tests/security/10_api_key_basic.yml#L24) + - [x] [security.query_role](./tests/security/40_roles.yml#L55) - [ ] security.query_user - [ ] security.saml_authenticate - [ ] security.saml_complete_logout @@ -1206,6 +1218,7 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] text_structure.find_structure - [ ] text_structure.test_grok_pattern - [x] [transform.delete_transform](./tests/cat/transform.yml#L28) + - [ ] transform.get_node_stats - [x] [transform.get_transform](./tests/transform/10_basic.yml#L40) - [x] [transform.get_transform_stats](./tests/transform/10_basic.yml#L43) - [x] [transform.preview_transform](./tests/transform/10_basic.yml#L46) @@ -1233,18 +1246,11 @@ Endpoints that are currently being tested are marked as done and link to the tes - [ ] watcher.stop - [ ] watcher.update_settings - [ ] xpack.info - - [ ] xpack.usage + - [x] [xpack.usage](./tests/entsearch/10_basic.yml#L16) ### APIs in JSON spec and not elasticsearch-specification -- [ ] inference.delete_model -- [ ] inference.get_model -- [ ] inference.put_model -- [ ] query_ruleset.delete -- [ ] query_ruleset.get -- [ ] query_ruleset.list -- [ ] query_ruleset.put ### Internal APIs (Not tracked)