• 
      

    Add TestCase.assertQueries(), for advanced query checks.

    Review Request #12345 — Created June 8, 2022 and submitted

    Information

    Djblets
    release-3.x

    Reviewers

    This introduces TestCase.assertQueries(), a new unit test function
    that can assert not just the number of queries performed by also the
    complexity of those queries.

    This takes in a list of queries built by Django and executed, checking
    them for the lists of fields selected, tables joined, filter
    conditions, annotations, ordering, and more.

    This can offer a lot of advantages when writing tests, helping ensure
    that queries are as performant as possible, or at least don't contain
    unexpected complexity.

    Made use of this in a bunch of unit tests in Review Board. Tested all
    the major types of operations that can be performed when querying.

    Summary ID
    Add TestCase.assertQueries(), for advanced query checks.
    This introduces `TestCase.assertQueries()`, a new unit test function that can assert not just the number of queries performed by also the complexity of those queries. This takes in a list of queries built by Django and executed, checking them for the lists of fields selected, tables joined, filter conditions, annotations, ordering, and more. This can offer a lot of advantages when writing tests, helping ensure that queries are as performant as possible, or at least don't contain unexpected complexity.
    5d12cc2d9e4d1b9fc1d61c79b4e494d4756dea7e
    Description From Last Updated

    too many blank lines (2) Column: 9 Error code: E303

    reviewbotreviewbot

    expected 1 blank line before a nested definition, found 0 Column: 9 Error code: E306

    reviewbotreviewbot

    redefinition of unused '_execute_sql' from line 429 Column: 9 Error code: F811

    reviewbotreviewbot

    redefinition of unused '_execute_sql' from line 441 Column: 9 Error code: F811

    reviewbotreviewbot
    Checks run (1 failed, 1 succeeded)
    flake8 failed.
    JSHint passed.

    flake8

    chipx86
    chipx86
    chipx86
    chipx86
    chipx86
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-3.x (685c48c)