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.