• 
      

    Added automated flag when closing or editing review requests

    Review Request #12051 — Created Feb. 10, 2022 and updated

    Information

    Review Board
    master

    Reviewers

    • Added automated flag to multiple methods related to hostingsvcs close
      hook, ReviewRequestResourceAPI Update(), and review_request.close()
      to store the value in ChangeDescription model to track automated
      closing of review requests

    • Added automated flag to
      ReviewRequestResourceDraftAPI Update(), Create(),
      review_request.publish(), draft.publish() to store the value in
      ChangeDescription model to track automated upddating/publishing
      of review requests

    • Added automated flag to closed/published signals and email-related methods to render the
      review_request_email.txt differently when automated=True

    • Added codes to change.html template to render RB logo in the
      review request change entry when automated=True
    • Added unit tests to test_email_sending.py
    • Added unit tests to test_review_request.py
    • Added unit tests to test_review_request_draft.py
    • Added unit tests to test_entries.py
    • Added unit tests to webapi/tests/test_review_request.py
    • Added unit tests to webapi/tests/test_review_request_draft.py
    • Added assertion to test_github.py, test_rbgateway.py,
      test_bitbucket.py

    All tests passed.

    • Attached screenshots to show changes in close email .txt and
      frontend changeEntry.
    Summary ID Author
    Added isAutomatedClose flag through close hook flow to ChangeDescription's extra_data field and added unit tests
    ae08fb83f5c61aee389a3cbdcc9ffc8bf86b1c2d sng06
    Deleted print statements in unit tests
    379f610ef9fd8101e95f0e3e1b4f6dac08306e22 sng06
    Changed variable name to automate
    e0fb128a7626a118246c6e5719ba188d810ba775 sng06
    Added automate field to ReviewRequestResource API update method and passed it to close method
    1c3661f9ea9e0ba1fd4364ac3bc273569db33d37 sng06
    Added automate fields and made changes to email-related methods based on automate flag value
    672e3f66657b5ab3fc7dc722b5fbdea25a234989 sng06
    Made changes to close email txt template based on automate flag value
    730f9b695f6f425e6a51ff68eb9093e0b75dc240 sng06
    Added unit tests to review_request and test_email_sending test suites
    b51528501757f139255fecd65b1ef1d5a580e728 sng06
    Added default value to automate argument in close_review_request method
    e4d4befa081b860ae9778c85eab621a013b663f9 sng06
    Changed assertEqual to assertTrue for test_post_commit_hook unit test
    7f060eec71a71aafc213cf695f5c01a6e58d970a sng06
    Added optional for automate field in docstrings
    fedbc56e20bc730ac7d7c22488b272250d334e1a sng06
    Fixed review_request_close unit test spy assertion
    a76d6541b60e60860319bec47a668a1534824524 sng06
    Added codes to render Review Board logo in review request change box when it is closed automatically
    4c41ae5c1a003d287b178960b873f8c2b188e73e sng06
    Added or edited docstrings and fixed formatting issues
    b9eee8455a0b69fb818ee37643a83cabeb4d5ed6 sng06
    Added class tag to RB logo avatar rendering in change.html template
    de8085943180d5a6a1c9580f9a3cc27d75f8bcc2 sng06
    Added unit tests to test changeEntry
    8c8a72124aef4a479f15a8da8c413f42f929ba5f sng06
    Added automate field to webapi-request-fields decorator for both create and update methods
    77d8a9ac58eb1c1fe331080b25d4407baf822a0f sng06
    added unit tests to test PUT api for submitted and discarded actions
    cfaf73b88ed49e03a7895530f1dc1d05d0ef1ebc sng06
    Deleted print statements
    5ca764de4cc3f8e43301b3f20e61393350922742 sng06
    Edited automate field's description
    0a6178d4e8bb5b1211c8ff518bb01a2b730f13d8 sng06
    Added automate field to draft resource PUT endpoint, review request publish-related email methods, draft and review request models
    7bc2c4d53dc7715e2e5f81c46a3942585efa61dd sng06
    Fixed formatting and added docstring
    7a0dd7e5491153465a7c79f5557b3be8fd40d346 sng06
    Added unit tests to test draft-related methods
    7083cb3ff5115b9173faa39e7076da009d0c52af sng06
    Changed review_request close unit test name
    c8cb69aa733682714d6c7dc3f5e926523cdeee0a sng06
    Changed automate to automated and edited unit tests docstrings
    fc9641493757893dc659591ed86786263fbe00bc sng06
    Fixed review request draft unit tests docstrings
    68e47456666ed949ed78317f8231957a67f0afd7 sng06
    Changed the conditional block to save automated value in extra context using extra_data field
    97e2167d50167344f5dfc41b77651293bbc2edb2 sng06
    Fixed formatting issues in review_request and review_request_draft unit tests
    f95ea9155018cce8da51c570cdf037d1c44c3317 sng06
    Fixed missing words and periods in docstrings
    c34ba1ccffee84b560a925ac2bc90205455ac38b sng06
    Addressed code review feedback received
    e8f58bbc3333ba3434d31374586344eebc297563 sng06

    Description From Last Updated

    Please wrap your description and testing done fields to 70 columns.

    daviddavid

    While we're here, can we rewrite this docstring to follow our modern standards? We probably also want to add a …

    daviddavid

    Instead of assertEqual(..., True), use assertTrue(...).

    daviddavid

    Instead of assertEqual(..., True), use assertTrue(...).

    daviddavid

    Instead of assertEqual(..., True), use assertTrue(...).

    daviddavid

    Please add ", optional" to the type.

    daviddavid

    These can be combined: if not (user or automate):

    daviddavid

    E128 continuation line under-indented for visual indent

    reviewbotreviewbot

    Should be marked as optional (and probably the other things in here should be fixed for that as well)

    daviddavid

    As Christian mentioned in our meeting, these should be updated to use kgb's spy assertion methods.

    daviddavid

    E501 line too long (80 > 79 characters)

    reviewbotreviewbot

    This should be in the imperative mood ("Close" instead of "Closes")

    daviddavid

    Instead of defining a variable for this, let's just pass automated=True to close_review_request.

    daviddavid

    This is getting so long, can we reformat it to list one parameter per line?

    daviddavid

    This can be simplified: extra_context.update({ 'automated': changedesc.extra_data.get('automated', False), })

    daviddavid

    Test docstrings should always start with "Testing ..."

    daviddavid

    "Testing ..."

    daviddavid

    There's an extra space at the end of this docstring.

    daviddavid

    There's an extra space at the end of this docstring.

    daviddavid

    Please put the """ on the next line.

    daviddavid

    This needs a trailing comma after it.

    daviddavid

    Please put the """ on the next line.

    daviddavid

    Please put the """ on the next line.

    daviddavid

    This needs a trailing comma after it.

    daviddavid

    Please put the """ on the next line.

    daviddavid

    Please put the """ on the next line.

    daviddavid

    This needs a trailing comma after it.

    daviddavid
    sheenaNg
    sheenaNg
    Review request changed
    Commits:
    Summary ID Author
    Added isAutomatedClose flag through close hook flow to ChangeDescription's extra_data field and added unit tests
    d09ec9a630e59ccd4d356e39da2be613097dc61b sng06
    Deleted print statements in unit tests
    a30c57fff70013477f0e1810e28e287dd438fe92 sng06
    Changed variable name to automate
    bff129918a80b4b619d922bf3151808753dee697 sng06
    Added automate field to ReviewRequestResource API update method and passed it to close method
    704e69951f5b44c981b0babc68ccfd15b1460589 sng06
    Added isAutomatedClose flag through close hook flow to ChangeDescription's extra_data field and added unit tests
    d09ec9a630e59ccd4d356e39da2be613097dc61b sng06
    Deleted print statements in unit tests
    a30c57fff70013477f0e1810e28e287dd438fe92 sng06
    Changed variable name to automate
    bff129918a80b4b619d922bf3151808753dee697 sng06
    Added automate field to ReviewRequestResource API update method and passed it to close method
    704e69951f5b44c981b0babc68ccfd15b1460589 sng06
    Added automate fields and made changes to email-related methods based on automate flag value
    7499334ebd1202dc61cc200d5881264ae94b28c5 sng06
    Made changes to close email txt template based on automate flag value
    987462c143ee9aa9212410c63970e894232b9887 sng06
    Added unit tests to review_request and test_email_sending test suites
    88e1fc7deb5abb459fa2066c2835b98df9f344c3 sng06

    Checks run (1 failed, 1 succeeded)

    flake8 failed.
    JSHint passed.

    flake8

    david
    1. Looking good!

    2. Regarding the question in your testing done field, editing the existing hook tests is fine to add that one new assertion.

    3. Show all issues

      Please wrap your description and testing done fields to 70 columns.

    4. reviewboard/hostingsvcs/hook_utils.py (Diff revision 3)
       
       
      Show all issues

      While we're here, can we rewrite this docstring to follow our modern standards?

      We probably also want to add a default value for the automate field in case any extensions are using this API.

    5. Show all issues

      Instead of assertEqual(..., True), use assertTrue(...).

    6. Show all issues

      Instead of assertEqual(..., True), use assertTrue(...).

    7. Show all issues

      Instead of assertEqual(..., True), use assertTrue(...).

    8. Show all issues

      Please add ", optional" to the type.

    9. reviewboard/notifications/email/message.py (Diff revision 3)
       
       
       
      Show all issues

      These can be combined:

      if not (user or automate):

    10. Show all issues

      Should be marked as optional (and probably the other things in here should be fixed for that as well)

    11. Show all issues

      As Christian mentioned in our meeting, these should be updated to use kgb's spy assertion methods.

    12. 
        
    sheenaNg
    sheenaNg
    sheenaNg
    Review request changed
    Change Summary:

    Added automate field and codes to draft publish operations

    Commits:
    Summary ID Author
    Added isAutomatedClose flag through close hook flow to ChangeDescription's extra_data field and added unit tests
    82e6d4656e0f8c6c13cc0dc6c3977fb7d342f82c sng06
    Deleted print statements in unit tests
    d954f7e915b623c4c4ff11b465b6e7d365e1e77b sng06
    Changed variable name to automate
    6c5160b12d4039eea432e095c51bbc3ce282a828 sng06
    Added automate field to ReviewRequestResource API update method and passed it to close method
    90f9fc167785fff32dfda6c33434964fd8ea6768 sng06
    Added automate fields and made changes to email-related methods based on automate flag value
    89b0f1f05544fd471336b15faa7a00c0325b2eee sng06
    Made changes to close email txt template based on automate flag value
    4ff6a2fba5f9825a9a6398eec5f6cc5c1daa1b03 sng06
    Added unit tests to review_request and test_email_sending test suites
    4842bf0893f569e60b6f90f4debc41fc20e13e15 sng06
    Added default value to automate argument in close_review_request method
    645cbdd6867ff75c97733f7db260ca3db44c1bdb sng06
    Changed assertEqual to assertTrue for test_post_commit_hook unit test
    eaa3c4d2db3b0c554a35961140f7cff2f2b4694d sng06
    Added optional for automate field in docstrings
    5bd81e90eb551e1dcd96efdf0f2dcd779a46e1fc sng06
    Fixed review_request_close unit test spy assertion
    66f36fe7a1a20965a48ce68b7c96179756230ac3 sng06
    Added codes to render Review Board logo in review request change box when it is closed automatically
    3376fedddde90d296929cfb63045bd0032deeb15 sng06
    Added or edited docstrings and fixed formatting issues
    0b6eb109d4e5167b022ecd5ccc6bc645b66cf48a sng06
    Added class tag to RB logo avatar rendering in change.html template
    e959cedd54e4986ef3448c762a86b634df5af3ea sng06
    Added unit tests to test changeEntry
    e4b46714b7522a40917137125685fe2b11f458e5 sng06
    Added automate field to webapi-request-fields decorator for both create and update methods
    d11641558fd1ebcae91b4df9bac51266f15fb41a sng06
    added unit tests to test PUT api for submitted and discarded actions
    bcf023cdf739ea416e8e74781acc9e35feed02d1 sng06
    Deleted print statements
    797a220df1eb342c1f15be33f9b2779d8cb92f31 sng06
    Added isAutomatedClose flag through close hook flow to ChangeDescription's extra_data field and added unit tests
    15d6fe45b3ce459167df54f7019e3fce9ce5685d sng06
    Deleted print statements in unit tests
    b8d6558376dfd06da13dfeda8421d5ef33bac926 sng06
    Changed variable name to automate
    8aa66d65c2be8136bc2b43db23c5d10c3dca5ca4 sng06
    Added automate field to ReviewRequestResource API update method and passed it to close method
    94c874518d9f105f829facb72bde5d5855b959b1 sng06
    Added automate fields and made changes to email-related methods based on automate flag value
    6096736f849593d99d88b525f018430e753bcc19 sng06
    Made changes to close email txt template based on automate flag value
    8c254457115746a5bc3f68169f071eb5d59d1498 sng06
    Added unit tests to review_request and test_email_sending test suites
    8ca0e35dd81b36849514a31e10eb6eb02dfc9627 sng06
    Added default value to automate argument in close_review_request method
    80c374d3fbaf65df568a733c181560942fa2f0bc sng06
    Changed assertEqual to assertTrue for test_post_commit_hook unit test
    7e7061c68d3a6d0828c704597b3089bca76d504c sng06
    Added optional for automate field in docstrings
    96a34c4d3e87bcbe285e066e0b4e98265ad5bcde sng06
    Fixed review_request_close unit test spy assertion
    4532790323e090df538f5148e517d52bc1d8c895 sng06
    Added codes to render Review Board logo in review request change box when it is closed automatically
    1e8a4fa9780e5f82c76ecf87da3c4f766cc51af0 sng06
    Added or edited docstrings and fixed formatting issues
    3a382f9b42fcb3add8eb77c756e78bee3152f901 sng06
    Added class tag to RB logo avatar rendering in change.html template
    e4c5ad6b3a0a6cf18a5c15058e5f77bee6b6d9ab sng06
    Added unit tests to test changeEntry
    fe28911e4d1f6eb470e93aab7c68b784aea351d4 sng06
    Added automate field to webapi-request-fields decorator for both create and update methods
    797995df7da75c2cdef2d315b1780efd2df84186 sng06
    added unit tests to test PUT api for submitted and discarded actions
    bd5a3f00b096d3579082c6cc09af7b4887b1e523 sng06
    Deleted print statements
    568feed51055cd9b9bc143513a6a9c6cd76b8a16 sng06
    Edited automate field's description
    ec687ac43eb477f5e20374a59c72f839e446e8dc sng06
    Added automate field to draft resource PUT endpoint, review request publish-related email methods, draft and review request models
    d53d2f7b31dbc98bbcd280076b3b1e9198de26de sng06

    Checks run (1 failed, 1 succeeded)

    flake8 failed.
    JSHint passed.

    flake8

    sheenaNg
    sheenaNg
    sheenaNg
    david
    1. 
        
    2. reviewboard/hostingsvcs/hook_utils.py (Diff revision 9)
       
       
      Show all issues

      This should be in the imperative mood ("Close" instead of "Closes")

    3. reviewboard/hostingsvcs/hook_utils.py (Diff revision 9)
       
       
       
       
      Show all issues

      Instead of defining a variable for this, let's just pass automated=True to close_review_request.

    4. reviewboard/notifications/email/message.py (Diff revision 9)
       
       
       
       
       
      Show all issues

      This is getting so long, can we reformat it to list one parameter per line?

    5. reviewboard/notifications/email/message.py (Diff revision 9)
       
       
       
       
       
       
       
       
       
      Show all issues

      This can be simplified:

      extra_context.update({
          'automated': changedesc.extra_data.get('automated', False),
      })
      
    6. Show all issues

      Test docstrings should always start with "Testing ..."

    7. Show all issues

      "Testing ..."

    8. Show all issues

      There's an extra space at the end of this docstring.

    9. Show all issues

      There's an extra space at the end of this docstring.

    10. Show all issues

      Please put the """ on the next line.

    11. Show all issues

      This needs a trailing comma after it.

    12. Show all issues

      Please put the """ on the next line.

    13. Show all issues

      Please put the """ on the next line.

    14. Show all issues

      This needs a trailing comma after it.

    15. Show all issues

      Please put the """ on the next line.

    16. Show all issues

      Please put the """ on the next line.

    17. Show all issues

      This needs a trailing comma after it.

    18. 
        
    sheenaNg
    Review request changed
    Change Summary:

    Addressed code review feedback

    Commits:
    Summary ID Author
    Added isAutomatedClose flag through close hook flow to ChangeDescription's extra_data field and added unit tests
    7602ec39197a73225f8745aff3cd31719ce5b613 sng06
    Deleted print statements in unit tests
    5c80bafbbf2de23d24c63d689f687a71d8a7fe72 sng06
    Changed variable name to automate
    872111ef847893732f11a7da42a050ea83df365e sng06
    Added automate field to ReviewRequestResource API update method and passed it to close method
    db297a5f73113abb152fa29217772cc66e8a3064 sng06
    Added automate fields and made changes to email-related methods based on automate flag value
    c3373843b683d9585c8214752943176547cfc81d sng06
    Made changes to close email txt template based on automate flag value
    09982b5c4da28428a9a4b0adc77df1b91e13ecec sng06
    Added unit tests to review_request and test_email_sending test suites
    db179bc452fbaad6ae9172762b6418269209da41 sng06
    Added default value to automate argument in close_review_request method
    2510eea77446702450a41d9bbd0f52d4121aa025 sng06
    Changed assertEqual to assertTrue for test_post_commit_hook unit test
    e3aa17a75338f49aa54d15ad63c882b7f405f0b8 sng06
    Added optional for automate field in docstrings
    8a09a22cbdeab482feed8d25701f6394b068f250 sng06
    Fixed review_request_close unit test spy assertion
    b62fb1873502ab686e565d6ace6d3b277df7cfd7 sng06
    Added codes to render Review Board logo in review request change box when it is closed automatically
    61707b3761207f8c90b1d974a12869dfb095f783 sng06
    Added or edited docstrings and fixed formatting issues
    6261eea6c3151e19473125392c675b12085e18b6 sng06
    Added class tag to RB logo avatar rendering in change.html template
    e7ece132d43385ca92e2eaa039b80005769ba846 sng06
    Added unit tests to test changeEntry
    912ad653f5bcd3a2392c19705713a44ae6909c0a sng06
    Added automate field to webapi-request-fields decorator for both create and update methods
    a1a457d17ec6011b13d612e0170137aec579ffcd sng06
    added unit tests to test PUT api for submitted and discarded actions
    3669f17735fdc99ec5bb3d1e48b8aac098cb6593 sng06
    Deleted print statements
    c101d5b96306e8331a962252013f871b8f4b726b sng06
    Edited automate field's description
    a58040644fe80ca26811a6657017046a125d3e97 sng06
    Added automate field to draft resource PUT endpoint, review request publish-related email methods, draft and review request models
    d04c52201d0d41496292d041143c9cca639b6f3e sng06
    Fixed formatting and added docstring
    1b8ab351a8b812a6f8e2e44d514bf3697f0db3c1 sng06
    Added unit tests to test draft-related methods
    bd4cdabc44ab04e80908622365e979894f4f9ebb sng06
    Changed review_request close unit test name
    71e86af411377ffefbf4b5257fd07b7856788b22 sng06
    Changed automate to automated and edited unit tests docstrings
    4484e5811f93262a3cf393b05b6336046eb09aef sng06
    Fixed review request draft unit tests docstrings
    394eb6ffbc2b5ff720ed704eff0693daf74c170b sng06
    Changed the conditional block to save automated value in extra context using extra_data field
    428422a748e222da03859a461d82c65bcbf369e0 sng06
    Fixed formatting issues in review_request and review_request_draft unit tests
    11ac18e034e3d3c45fe5e7597c1c8baa4e78b6b7 sng06
    Fixed missing words and periods in docstrings
    7b2b51eae67be14929f128763de6c9754050b969 sng06
    Added isAutomatedClose flag through close hook flow to ChangeDescription's extra_data field and added unit tests
    ae08fb83f5c61aee389a3cbdcc9ffc8bf86b1c2d sng06
    Deleted print statements in unit tests
    379f610ef9fd8101e95f0e3e1b4f6dac08306e22 sng06
    Changed variable name to automate
    e0fb128a7626a118246c6e5719ba188d810ba775 sng06
    Added automate field to ReviewRequestResource API update method and passed it to close method
    1c3661f9ea9e0ba1fd4364ac3bc273569db33d37 sng06
    Added automate fields and made changes to email-related methods based on automate flag value
    672e3f66657b5ab3fc7dc722b5fbdea25a234989 sng06
    Made changes to close email txt template based on automate flag value
    730f9b695f6f425e6a51ff68eb9093e0b75dc240 sng06
    Added unit tests to review_request and test_email_sending test suites
    b51528501757f139255fecd65b1ef1d5a580e728 sng06
    Added default value to automate argument in close_review_request method
    e4d4befa081b860ae9778c85eab621a013b663f9 sng06
    Changed assertEqual to assertTrue for test_post_commit_hook unit test
    7f060eec71a71aafc213cf695f5c01a6e58d970a sng06
    Added optional for automate field in docstrings
    fedbc56e20bc730ac7d7c22488b272250d334e1a sng06
    Fixed review_request_close unit test spy assertion
    a76d6541b60e60860319bec47a668a1534824524 sng06
    Added codes to render Review Board logo in review request change box when it is closed automatically
    4c41ae5c1a003d287b178960b873f8c2b188e73e sng06
    Added or edited docstrings and fixed formatting issues
    b9eee8455a0b69fb818ee37643a83cabeb4d5ed6 sng06
    Added class tag to RB logo avatar rendering in change.html template
    de8085943180d5a6a1c9580f9a3cc27d75f8bcc2 sng06
    Added unit tests to test changeEntry
    8c8a72124aef4a479f15a8da8c413f42f929ba5f sng06
    Added automate field to webapi-request-fields decorator for both create and update methods
    77d8a9ac58eb1c1fe331080b25d4407baf822a0f sng06
    added unit tests to test PUT api for submitted and discarded actions
    cfaf73b88ed49e03a7895530f1dc1d05d0ef1ebc sng06
    Deleted print statements
    5ca764de4cc3f8e43301b3f20e61393350922742 sng06
    Edited automate field's description
    0a6178d4e8bb5b1211c8ff518bb01a2b730f13d8 sng06
    Added automate field to draft resource PUT endpoint, review request publish-related email methods, draft and review request models
    7bc2c4d53dc7715e2e5f81c46a3942585efa61dd sng06
    Fixed formatting and added docstring
    7a0dd7e5491153465a7c79f5557b3be8fd40d346 sng06
    Added unit tests to test draft-related methods
    7083cb3ff5115b9173faa39e7076da009d0c52af sng06
    Changed review_request close unit test name
    c8cb69aa733682714d6c7dc3f5e926523cdeee0a sng06
    Changed automate to automated and edited unit tests docstrings
    fc9641493757893dc659591ed86786263fbe00bc sng06
    Fixed review request draft unit tests docstrings
    68e47456666ed949ed78317f8231957a67f0afd7 sng06
    Changed the conditional block to save automated value in extra context using extra_data field
    97e2167d50167344f5dfc41b77651293bbc2edb2 sng06
    Fixed formatting issues in review_request and review_request_draft unit tests
    f95ea9155018cce8da51c570cdf037d1c44c3317 sng06
    Fixed missing words and periods in docstrings
    c34ba1ccffee84b560a925ac2bc90205455ac38b sng06
    Addressed code review feedback received
    e8f58bbc3333ba3434d31374586344eebc297563 sng06

    Checks run (2 succeeded)

    flake8 passed.
    JSHint passed.