|
9 | 9 | from mongoengine.connection import get_db |
10 | 10 | from mongoengine.mongodb_support import ( |
11 | 11 | MONGODB_42, |
12 | | - MONGODB_70, |
13 | 12 | get_mongodb_version, |
14 | 13 | ) |
15 | 14 | from mongoengine.pymongo_support import PYMONGO_VERSION |
@@ -451,89 +450,29 @@ class Test(Document): |
451 | 450 | # the documents returned might have more keys in that here. |
452 | 451 | query_plan = Test.objects(id=obj.id).exclude("a").explain() |
453 | 452 | assert ( |
454 | | - query_plan.get("queryPlanner") |
455 | | - .get("winningPlan") |
456 | | - .get("inputStage") |
457 | | - .get("stage") |
458 | | - == "IDHACK" |
| 453 | + query_plan["queryPlanner"]["winningPlan"]["inputStage"]["stage"] == "IDHACK" |
459 | 454 | ) |
460 | 455 |
|
461 | 456 | query_plan = Test.objects(id=obj.id).only("id").explain() |
462 | 457 | assert ( |
463 | | - query_plan.get("queryPlanner") |
464 | | - .get("winningPlan") |
465 | | - .get("inputStage") |
466 | | - .get("stage") |
467 | | - == "IDHACK" |
| 458 | + query_plan["queryPlanner"]["winningPlan"]["inputStage"]["stage"] == "IDHACK" |
468 | 459 | ) |
469 | 460 |
|
470 | 461 | mongo_db = get_mongodb_version() |
471 | 462 | query_plan = Test.objects(a=1).only("a").exclude("id").explain() |
472 | | - if mongo_db < MONGODB_70: |
473 | | - assert ( |
474 | | - query_plan.get("queryPlanner") |
475 | | - .get("winningPlan") |
476 | | - .get("inputStage") |
477 | | - .get("stage") |
478 | | - == "IXSCAN" |
479 | | - ) |
480 | | - else: |
481 | | - assert ( |
482 | | - query_plan.get("queryPlanner") |
483 | | - .get("winningPlan") |
484 | | - .get("queryPlan") |
485 | | - .get("inputStage") |
486 | | - .get("stage") |
487 | | - == "IXSCAN" |
488 | | - ) |
| 463 | + assert ( |
| 464 | + query_plan["queryPlanner"]["winningPlan"]["inputStage"]["stage"] == "IXSCAN" |
| 465 | + ) |
489 | 466 |
|
490 | 467 | PROJECTION_STR = "PROJECTION" if mongo_db < MONGODB_42 else "PROJECTION_COVERED" |
491 | | - if mongo_db < MONGODB_70: |
492 | | - assert ( |
493 | | - query_plan.get("queryPlanner").get("winningPlan").get("stage") |
494 | | - == PROJECTION_STR |
495 | | - ) |
496 | | - else: |
497 | | - assert ( |
498 | | - query_plan.get("queryPlanner") |
499 | | - .get("winningPlan") |
500 | | - .get("queryPlan") |
501 | | - .get("stage") |
502 | | - == PROJECTION_STR |
503 | | - ) |
| 468 | + assert query_plan["queryPlanner"]["winningPlan"]["stage"] == PROJECTION_STR |
504 | 469 |
|
505 | 470 | query_plan = Test.objects(a=1).explain() |
506 | | - if mongo_db < MONGODB_70: |
507 | | - assert ( |
508 | | - query_plan.get("queryPlanner") |
509 | | - .get("winningPlan") |
510 | | - .get("inputStage") |
511 | | - .get("stage") |
512 | | - == "IXSCAN" |
513 | | - ) |
514 | | - else: |
515 | | - assert ( |
516 | | - query_plan.get("queryPlanner") |
517 | | - .get("winningPlan") |
518 | | - .get("queryPlan") |
519 | | - .get("inputStage") |
520 | | - .get("stage") |
521 | | - == "IXSCAN" |
522 | | - ) |
523 | | - |
524 | | - if mongo_db < MONGODB_70: |
525 | | - assert ( |
526 | | - query_plan.get("queryPlanner").get("winningPlan").get("stage") |
527 | | - == "FETCH" |
528 | | - ) |
529 | | - else: |
530 | | - assert ( |
531 | | - query_plan.get("queryPlanner") |
532 | | - .get("winningPlan") |
533 | | - .get("queryPlan") |
534 | | - .get("stage") |
535 | | - == "FETCH" |
536 | | - ) |
| 471 | + assert ( |
| 472 | + query_plan["queryPlanner"]["winningPlan"]["inputStage"]["stage"] == "IXSCAN" |
| 473 | + ) |
| 474 | + |
| 475 | + assert query_plan.get("queryPlanner").get("winningPlan").get("stage") == "FETCH" |
537 | 476 |
|
538 | 477 | def test_index_on_id(self): |
539 | 478 | class BlogPost(Document): |
|
0 commit comments