• 
      
    Fish Trophy

    chipx86 got a fish trophy!

    Fish Trophy

    Move away from most fixtures for the webapi tests.

    Review Request #4554 — Created Sept. 10, 2013 and submitted

    Information

    Review Board
    master

    Reviewers

    Move away from most fixtures for the webapi tests.

    This removes the usage of the test_reviewrequests and most of the
    test_scmtools fixtures from the webapi unit tests. Instead, these test
    suites now use the new TestCase class's utility methods for creating
    test objects.

    It also removes a lot of the older utility methods for creating dummy
    objects that went through the API. Each of these requests contributed
    50-100ms of time, which added up.

    With the test suite as it originally was, on my machine, it took roughly
    159 seconds to complete. After this and the previous changes, it drops
    to around ~88.

    Unit tests are much clearer now. Instead of having to know how fixtures
    are set up, or tracing through a bunch of API requests, you can just
    read the unit tests and see what they're doing.

    In total, 1,823 lines of code have been deleted in these changes.

    Unit tests pass.

    Compared speeds and saw that tests are down to around 88 lines.

    Ran pyflakes.

    Description From Last Updated

    Col: 80 E501 line too long (88 > 79 characters)

    reviewbotreviewbot

    Col: 50 E128 continuation line under-indented for visual indent

    reviewbotreviewbot
    reviewbot
    1. This is a review from Review Bot.
      Tool: PEP8 Style Checker
      Processed Files:
      reviewboard/webapi/tests/test_review_reply_screenshot_comment.py
      reviewboard/webapi/tests/test_review_screenshot_comment.py
      reviewboard/webapi/tests/test_file_diff_comment.py
      reviewboard/webapi/tests/test_watched_review_request.py
      reviewboard/webapi/tests/test_review.py
      reviewboard/webapi/tests/test_default_reviewer.py
      reviewboard/webapi/tests/test_draft_review_screenshot_comment.py
      reviewboard/webapi/tests/test_screenshot.py
      reviewboard/webapi/tests/test_repository_commits.py
      reviewboard/webapi/tests/test_review_comment.py
      reviewboard/webapi/tests/test_review_group.py
      reviewboard/webapi/tests/test_file_attachment_draft.py
      reviewboard/webapi/tests/test_change.py
      reviewboard/webapi/tests/test_review_reply.py
      reviewboard/webapi/tests/test_file_attachment_comment.py
      reviewboard/webapi/tests/urls.py
      reviewboard/webapi/tests/test_repository_branches.py
      reviewboard/webapi/tests/base.py
      reviewboard/webapi/tests/test_screenshot_comment.py
      reviewboard/webapi/tests/test_watched_review_group.py
      reviewboard/webapi/tests/test_review_request.py
      reviewboard/webapi/tests/test_review_request_draft.py
      reviewboard/webapi/tests/test_draft_review_file_attachment_comment.py
      reviewboard/webapi/tests/test_diff.py
      reviewboard/webapi/tests/test_repository.py
      reviewboard/webapi/tests/test_validate_diff.py
      reviewboard/webapi/tests/test_file_attachment.py
      reviewboard/webapi/tests/test_review_reply_file_attachment_comment.py
      reviewboard/webapi/tests/test_review_group_user.py
      reviewboard/webapi/tests/test_repository_info.py
      reviewboard/webapi/tests/test_review_reply_diff_comment.py
      reviewboard/webapi/tests/test_screenshot_draft.py
      Ignored Files:
      reviewboard/reviews/fixtures/test_reviewrequests.json
      reviewboard/scmtools/fixtures/test_scmtools.json

    2. Show all issues

      Col: 80
      E501 line too long (88 > 79 characters)

    3. reviewboard/webapi/tests/urls.py (Diff revision 1)
       
       
      Show all issues

      Col: 50
      E128 continuation line under-indented for visual indent

    4. 
        
    reviewbot
    1. This is a review from Review Bot.
      Tool: Pyflakes
      Processed Files:
      reviewboard/webapi/tests/test_review_reply_screenshot_comment.py
      reviewboard/webapi/tests/test_review_screenshot_comment.py
      reviewboard/webapi/tests/test_file_diff_comment.py
      reviewboard/webapi/tests/test_watched_review_request.py
      reviewboard/webapi/tests/test_review.py
      reviewboard/webapi/tests/test_default_reviewer.py
      reviewboard/webapi/tests/test_draft_review_screenshot_comment.py
      reviewboard/webapi/tests/test_screenshot.py
      reviewboard/webapi/tests/test_repository_commits.py
      reviewboard/webapi/tests/test_review_comment.py
      reviewboard/webapi/tests/test_review_group.py
      reviewboard/webapi/tests/test_file_attachment_draft.py
      reviewboard/webapi/tests/test_change.py
      reviewboard/webapi/tests/test_review_reply.py
      reviewboard/webapi/tests/test_file_attachment_comment.py
      reviewboard/webapi/tests/urls.py
      reviewboard/webapi/tests/test_repository_branches.py
      reviewboard/webapi/tests/base.py
      reviewboard/webapi/tests/test_screenshot_comment.py
      reviewboard/webapi/tests/test_watched_review_group.py
      reviewboard/webapi/tests/test_review_request.py
      reviewboard/webapi/tests/test_review_request_draft.py
      reviewboard/webapi/tests/test_draft_review_file_attachment_comment.py
      reviewboard/webapi/tests/test_diff.py
      reviewboard/webapi/tests/test_repository.py
      reviewboard/webapi/tests/test_validate_diff.py
      reviewboard/webapi/tests/test_file_attachment.py
      reviewboard/webapi/tests/test_review_reply_file_attachment_comment.py
      reviewboard/webapi/tests/test_review_group_user.py
      reviewboard/webapi/tests/test_repository_info.py
      reviewboard/webapi/tests/test_review_reply_diff_comment.py
      reviewboard/webapi/tests/test_screenshot_draft.py
      Ignored Files:
      reviewboard/reviews/fixtures/test_reviewrequests.json
      reviewboard/scmtools/fixtures/test_scmtools.json

    2. 
        
    david
    1. Ship It!

    2. 
        
    chipx86
    Review request changed
    Status:
    Completed