From c34aaec367b3404c7173225ab481b79e2d21d454 Mon Sep 17 00:00:00 2001 From: Tokesh Date: Sun, 1 Dec 2024 13:35:44 +0500 Subject: [PATCH] adding tests for search templates Signed-off-by: Tokesh --- spec/namespaces/_core.yaml | 2 + tests/default/indices/template.yaml | 95 +++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 tests/default/indices/template.yaml diff --git a/spec/namespaces/_core.yaml b/spec/namespaces/_core.yaml index 8149f7cf4..6b032fc2f 100644 --- a/spec/namespaces/_core.yaml +++ b/spec/namespaces/_core.yaml @@ -3266,6 +3266,8 @@ components: $ref: '../schemas/_core.search.yaml#/components/schemas/Suggest' terminated_early: type: boolean + status: + type: number required: - _shards - hits diff --git a/tests/default/indices/template.yaml b/tests/default/indices/template.yaml new file mode 100644 index 000000000..a4da97080 --- /dev/null +++ b/tests/default/indices/template.yaml @@ -0,0 +1,95 @@ +$schema: ../../../json_schemas/test_story.schema.yaml + +description: Test search with templates using both index-specific and global endpoints via GET and POST methods. +epilogues: + - path: /movies + method: DELETE + status: [200, 404] +prologues: + - path: /_bulk + method: POST + parameters: + refresh: true + request: + content_type: application/x-ndjson + payload: + - {create: {_index: movies, _id: movie1}} + - {director: Quentin Tarantino, title: Pulp Fiction, year: 1994} + - {create: {_index: movies, _id: movie2}} + - {director: Christopher Nolan, title: Inception, year: 2010} + - path: /_scripts/movie_template + method: POST + request: + content_type: application/json + payload: + script: + lang: mustache + source: > + { + "query": { + "match": { + "{{field}}": "{{value}}" + } + } + } + +chapters: + - synopsis: Perform a global search using a template with GET. + path: /_search/template + method: GET + request: + payload: + id: movie_template + params: + field: + value: year + value: + value: 1994 + response: + status: 200 + + - synopsis: Perform a global search using a template with POST. + path: /_search/template + method: POST + request: + payload: + id: movie_template + params: + field: + value: year + value: + value: 2010 + response: + status: 200 + + - synopsis: Perform a search using a template with GET (index-specific). + path: /{index}/_search/template + method: GET + parameters: + index: [movies] + request: + payload: + id: movie_template + params: + field: + value: director + value: + value: Quentin Tarantino + response: + status: 200 + + - synopsis: Perform a search using a template with POST (index-specific). + path: /{index}/_search/template + method: POST + parameters: + index: [movies] + request: + payload: + id: movie_template + params: + field: + value: title + value: + value: Inception + response: + status: 200 \ No newline at end of file