Add searchMeta stage tests#638
Conversation
|
🤖 Auto-triaged by documentdb-triage-tool. Applied: Reasoningcomponent from path globs (test-coverage, test-framework); effort from diff stats (3308+7 LOC, 18 files); LLM: Adds new test coverage for the $searchMeta aggregation stage, including a new external topology fixture pattern; self-contained within the test-coverage component. If a label is wrong, remove it manually and ping |
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
902ff60 to
6504ef4
Compare
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
Signed-off-by: Daniel Frankcom <frankcom@amazon.com>
| @@ -0,0 +1,366 @@ | |||
| """Tests for $searchMeta metadata and count result semantics.""" | |||
There was a problem hiding this comment.
This seems also incomplete list for operators. Can we test against all operators even it's not supported?
Following are missing: autocomplete, in, regex, geoWithin, geoShape, queryString, moreLikeThis, term, span
|
It seems all path field tested with $searchMeta only has one format from string. Can we also test other conditions even though it's not supported? (array of strings, {value} document, {wildcard} document, {value, multi} multi-analyzer) |
| @@ -0,0 +1,198 @@ | |||
| """Tests for $searchMeta stage options (concurrent, returnScope).""" | |||
There was a problem hiding this comment.
can we also add success path case for returnScope? currently it's most validation the field itself but not functionality
This change adds tests for the
$searchMetaaggregation stage.This is the first operator which uses the external
mongottopology to provide a required search index. I defined a number of file-scoped pytest fixtures to define the necessary indexed collections for these tests, as an index of this type is far more expensive to set up than the ones we use elsewhere (on the order of 30-60 secs). Using a module scoped fixture allows us to amortize this cost across the test cases rather than taking the hit each time.Note: The CI runs for this change will fail until #617 is merged, as it is heavily dependent. If you want to see the change in its correct (working) context, see the pr/searchMeta branch for now.This is resolved now.Closes #375