From b9e9c01fcdc505753073b5a9733309fa621c5d79 Mon Sep 17 00:00:00 2001 From: Niyazbek Torekeldi <78027392+Tokesh@users.noreply.github.com> Date: Tue, 17 Dec 2024 23:03:23 +0500 Subject: [PATCH] Term vectors API tests (#734) * added tests for term vectors and removed id from required of termvectors@200 Signed-off-by: Tokesh * added type for term vectors, fixing lint Signed-off-by: Tokesh * hotfix path Signed-off-by: Tokesh * adding multi term vectors Signed-off-by: Tokesh * renaming folder and lint fix Signed-off-by: Tokesh * adding type to mterm vector specs Signed-off-by: Tokesh * hotfix of string Signed-off-by: Tokesh * added type to wrong place of specs Signed-off-by: Tokesh * adding core mtermvectors Signed-off-by: Tokesh * using multiple method, fix grammar in changelog Signed-off-by: Tokesh --------- Signed-off-by: Tokesh Signed-off-by: Niyazbek Torekeldi <78027392+Tokesh@users.noreply.github.com> --- CHANGELOG.md | 2 + spec/namespaces/_core.yaml | 3 +- spec/schemas/_core.mtermvectors.yaml | 2 + tests/default/_core/mtermvectors.yaml | 44 ++++++++++++++++++++ tests/default/indices/mtermvectors.yaml | 45 +++++++++++++++++++++ tests/default/indices/termvectors.yaml | 53 +++++++++++++++++++++++++ 6 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 tests/default/_core/mtermvectors.yaml create mode 100644 tests/default/indices/mtermvectors.yaml create mode 100644 tests/default/indices/termvectors.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 10b6dbbce..32d445c24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Added response schema for `GET /_plugins/_knn/warmup/{index}` ([#717](https://github.com/opensearch-project/opensearch-api-specification/pull/717)) - Added support for multiple test verbs ([#724](https://github.com/opensearch-project/opensearch-api-specification/pull/724)) - Added support for using a certificate and key in tests ([#731](https://github.com/opensearch-project/opensearch-api-specification/pull/731)) +- Added `_type` to `termvector` and `mtermvector` ([#734](https://github.com/opensearch-project/opensearch-api-specification/pull/734)) ### Removed - Removed unsupported `_common.mapping:SourceField`'s `mode` field and associated `_common.mapping:SourceFieldMode` enum ([#652](https://github.com/opensearch-project/opensearch-api-specification/pull/652)) @@ -45,6 +46,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Removed unsupported `cause` and `create` from `/_index_template/_simulate_index/{name}` ([#691](https://github.com/opensearch-project/opensearch-api-specification/pull/691)) - Removed `mappings` from `required` in `indices.simulate_template#Template` ([#691](https://github.com/opensearch-project/opensearch-api-specification/pull/691)) - Removed `HealthStatusCapatilized` and merged it with `HealthStatus` ([#725](https://github.com/opensearch-project/opensearch-api-specification/pull/725)) +- Removed `id` from `required` in `indices.termvectors@200` ([#734](https://github.com/opensearch-project/opensearch-api-specification/pull/734)) ### Fixed - Spec passes OpenAPI 3.1.0 validations ([#646](https://github.com/opensearch-project/opensearch-api-specification/pull/646)) diff --git a/spec/namespaces/_core.yaml b/spec/namespaces/_core.yaml index 229fc9e55..bcbbaf8da 100644 --- a/spec/namespaces/_core.yaml +++ b/spec/namespaces/_core.yaml @@ -3338,8 +3338,9 @@ components: format: int64 _version: $ref: '../schemas/_common.yaml#/components/schemas/VersionNumber' + _type: + $ref: '../schemas/_common.yaml#/components/schemas/Type' required: - - _id - _index - _version - found diff --git a/spec/schemas/_core.mtermvectors.yaml b/spec/schemas/_core.mtermvectors.yaml index deae8eda6..503dccafb 100644 --- a/spec/schemas/_core.mtermvectors.yaml +++ b/spec/schemas/_core.mtermvectors.yaml @@ -62,6 +62,8 @@ components: $ref: '_core.termvectors.yaml#/components/schemas/TermVector' error: $ref: '_common.yaml#/components/schemas/ErrorCause' + _type: + $ref: '_common.yaml#/components/schemas/Type' required: - _id - _index diff --git a/tests/default/_core/mtermvectors.yaml b/tests/default/_core/mtermvectors.yaml new file mode 100644 index 000000000..497abd3ff --- /dev/null +++ b/tests/default/_core/mtermvectors.yaml @@ -0,0 +1,44 @@ +$schema: ../../../json_schemas/test_story.schema.yaml + +description: Test _mtermvectors APIs. +prologues: + - path: /books + method: PUT + request: + payload: + mappings: + properties: + author: + type: text + title: + term_vector: yes + type: text + year: + type: integer + - path: /_bulk + method: POST + parameters: + refresh: true + request: + content_type: application/x-ndjson + payload: + - {create: {_index: books, _id: book1}} + - {author: Harper Lee, title: To Kill a Mockingbird, year: 1960} + - {create: {_index: books, _id: book2}} + - {author: Elizabeth Rudnick, title: Beauty and the Beast, year: 1991} +epilogues: + - path: /books + method: DELETE + status: [200, 404] + +chapters: + - synopsis: Retrieve term vectors for specific documents. + path: /_mtermvectors + method: + - GET + - POST + request: + payload: + docs: + - _id: book1 + _index: books \ No newline at end of file diff --git a/tests/default/indices/mtermvectors.yaml b/tests/default/indices/mtermvectors.yaml new file mode 100644 index 000000000..e9a7978ed --- /dev/null +++ b/tests/default/indices/mtermvectors.yaml @@ -0,0 +1,45 @@ +$schema: ../../../json_schemas/test_story.schema.yaml + +description: Test _mtermvectors APIs. +prologues: + - path: /books + method: PUT + request: + payload: + mappings: + properties: + author: + type: text + title: + term_vector: yes + type: text + year: + type: integer + - path: /_bulk + method: POST + parameters: + refresh: true + request: + content_type: application/x-ndjson + payload: + - {create: {_index: books, _id: book1}} + - {author: Harper Lee, title: To Kill a Mockingbird, year: 1960} + - {create: {_index: books, _id: book2}} + - {author: Elizabeth Rudnick, title: Beauty and the Beast, year: 1991} +epilogues: + - path: /books + method: DELETE + status: [200, 404] + +chapters: + - synopsis: Retrieve term vectors for specific documents in an index. + path: /{index}/_mtermvectors + parameters: + index: books + method: + - GET + - POST + request: + payload: + docs: + - _id: book1 \ No newline at end of file diff --git a/tests/default/indices/termvectors.yaml b/tests/default/indices/termvectors.yaml new file mode 100644 index 000000000..da53e1038 --- /dev/null +++ b/tests/default/indices/termvectors.yaml @@ -0,0 +1,53 @@ +$schema: ../../../json_schemas/test_story.schema.yaml + +description: Test _termvectors APIs. +prologues: + - path: /books + method: PUT + request: + payload: + mappings: + properties: + author: + type: text + title: + term_vector: yes + type: text + year: + type: integer + - path: /_bulk + method: POST + parameters: + refresh: true + request: + content_type: application/x-ndjson + payload: + - {create: {_index: books, _id: book1}} + - {author: Harper Lee, title: To Kill a Mockingbird, year: 1960} + - {create: {_index: books, _id: book2}} + - {author: Elizabeth Rudnick, title: Beauty and the Beast, year: 1991} +epilogues: + - path: /books + method: DELETE + status: [200, 404] + +chapters: + - synopsis: Get term vectors for a specific index. + path: /{index}/_termvectors + parameters: + index: books + method: + - GET + - POST + request: + payload: + doc: + title: To kill + - synopsis: Get term vectors for a document by its ID. + path: /{index}/_termvectors/{id} + parameters: + index: books + id: book1 + method: + - GET + - POST \ No newline at end of file