Skip to content

Commit

Permalink
Improve tests (to debug ci failure)
Browse files Browse the repository at this point in the history
  • Loading branch information
bagerard committed Dec 19, 2023
1 parent 9b92cc7 commit a935dc1
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 43 deletions.
7 changes: 4 additions & 3 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ Development
- Fix validate() not being called when inheritance is used in EmbeddedDocument and validate is overriden #2784
- Add support for readPreferenceTags in connection parameters #2644
- Use estimated_documents_count OR documents_count when count is called, based on the query #2529
- Fix no_dereferencing context manager which wasn't turning off auto-dereferencing correctly in some cases
- BREAKING CHANGE: no_dereferencing context manager no longer returns the class in __enter__
as it was useless and making it look like it was returning a different class
- Fix no_dereferencing context manager which wasn't turning off auto-dereferencing correctly in some cases #2788
- BREAKING CHANGE: no_dereferencing context manager no longer returns the class in __enter__ #2788
as it was useless and making it look like it was returning a different class.
Thus, must be called like `with no_dereferencing(User):` and no longer `with no_dereferencing(User) as OtherUserClass:`

Changes in 0.27.0
=================
Expand Down
53 changes: 13 additions & 40 deletions tests/document/test_indexes.py
Original file line number Diff line number Diff line change
Expand Up @@ -451,73 +451,49 @@ class Test(Document):
# the documents returned might have more keys in that here.
query_plan = Test.objects(id=obj.id).exclude("a").explain()
assert (
query_plan.get("queryPlanner")
.get("winningPlan")
.get("inputStage")
.get("stage")
== "IDHACK"
query_plan["queryPlanner"]["winningPlan"]["inputStage"]["stage"] == "IDHACK"
)

query_plan = Test.objects(id=obj.id).only("id").explain()
assert (
query_plan.get("queryPlanner")
.get("winningPlan")
.get("inputStage")
.get("stage")
== "IDHACK"
query_plan["queryPlanner"]["winningPlan"]["inputStage"]["stage"] == "IDHACK"
)

mongo_db = get_mongodb_version()
query_plan = Test.objects(a=1).only("a").exclude("id").explain()
if mongo_db < MONGODB_70:
assert (
query_plan.get("queryPlanner")
.get("winningPlan")
.get("inputStage")
.get("stage")
query_plan["queryPlanner"]["winningPlan"]["inputStage"]["stage"]
== "IXSCAN"
)
else:
assert (
query_plan.get("queryPlanner")
.get("winningPlan")
.get("queryPlan")
.get("inputStage")
.get("stage")
query_plan["queryPlanner"]["winningPlan"]["queryPlan"]["inputStage"][
"stage"
]
== "IXSCAN"
)

PROJECTION_STR = "PROJECTION" if mongo_db < MONGODB_42 else "PROJECTION_COVERED"
if mongo_db < MONGODB_70:
assert (
query_plan.get("queryPlanner").get("winningPlan").get("stage")
== PROJECTION_STR
)
assert query_plan["queryPlanner"]["winningPlan"]["stage"] == PROJECTION_STR
else:
assert (
query_plan.get("queryPlanner")
.get("winningPlan")
.get("queryPlan")
.get("stage")
query_plan["queryPlanner"]["winningPlan"]["queryPlan"]["stage"]
== PROJECTION_STR
)

query_plan = Test.objects(a=1).explain()
if mongo_db < MONGODB_70:
assert (
query_plan.get("queryPlanner")
.get("winningPlan")
.get("inputStage")
.get("stage")
query_plan["queryPlanner"]["winningPlan"]["inputStage"]["stage"]
== "IXSCAN"
)
else:
assert (
query_plan.get("queryPlanner")
.get("winningPlan")
.get("queryPlan")
.get("inputStage")
.get("stage")
query_plan["queryPlanner"]["winningPlan"]["queryPlan"]["inputStage"][
"stage"
]
== "IXSCAN"
)

Expand All @@ -528,10 +504,7 @@ class Test(Document):
)
else:
assert (
query_plan.get("queryPlanner")
.get("winningPlan")
.get("queryPlan")
.get("stage")
query_plan["queryPlanner"]["winningPlan"]["queryPlan"]["stage"]
== "FETCH"
)

Expand Down

0 comments on commit a935dc1

Please sign in to comment.