Merge ~ilasc/launchpad:add-codereviewvote-reviewer-close-account into launchpad:master

Proposed by Ioana Lasc
Status: Merged
Approved by: Ioana Lasc
Approved revision: 8706dcd44f202c156e66d638386a0ca912b2f9fc
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~ilasc/launchpad:add-codereviewvote-reviewer-close-account
Merge into: launchpad:master
Diff against target: 52 lines (+22/-1)
2 files modified
lib/lp/registry/scripts/closeaccount.py (+1/-0)
lib/lp/registry/scripts/tests/test_closeaccount.py (+21/-1)
Reviewer Review Type Date Requested Status
Andrey Fedoseev (community) Approve
Review via email: mp+434174@code.launchpad.net

Commit message

Add codereviewvote.reviewer to skip in close-account script

To post a comment you must log in.
Revision history for this message
Ioana Lasc (ilasc) wrote :

Running the test without adding the reviewer to the skip clause fails with expected:
ERROR User person-name-100000 is still referenced by 1 codereviewvote.reviewer values

Revision history for this message
Andrey Fedoseev (andrey-fedoseev) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/lib/lp/registry/scripts/closeaccount.py b/lib/lp/registry/scripts/closeaccount.py
index df4c8ad..bb3c119 100644
--- a/lib/lp/registry/scripts/closeaccount.py
+++ b/lib/lp/registry/scripts/closeaccount.py
@@ -122,6 +122,7 @@ def close_account(username, log):
122 ("codeimportjob", "requesting_user"),122 ("codeimportjob", "requesting_user"),
123 ("codeimportevent", "person"),123 ("codeimportevent", "person"),
124 ("codeimportresult", "requesting_user"),124 ("codeimportresult", "requesting_user"),
125 ("codereviewvote", "reviewer"),
125 ("distroarchseriesfilter", "creator"),126 ("distroarchseriesfilter", "creator"),
126 ("faq", "last_updated_by"),127 ("faq", "last_updated_by"),
127 ("featureflagchangelogentry", "person"),128 ("featureflagchangelogentry", "person"),
diff --git a/lib/lp/registry/scripts/tests/test_closeaccount.py b/lib/lp/registry/scripts/tests/test_closeaccount.py
index f63aebf..5e6f5e9 100644
--- a/lib/lp/registry/scripts/tests/test_closeaccount.py
+++ b/lib/lp/registry/scripts/tests/test_closeaccount.py
@@ -22,7 +22,11 @@ from lp.app.interfaces.launchpad import ILaunchpadCelebrities
22from lp.archivepublisher.config import getPubConfig22from lp.archivepublisher.config import getPubConfig
23from lp.archivepublisher.publishing import Publisher23from lp.archivepublisher.publishing import Publisher
24from lp.bugs.model.bugsummary import BugSummary24from lp.bugs.model.bugsummary import BugSummary
25from lp.code.enums import CodeImportResultStatus, TargetRevisionControlSystems25from lp.code.enums import (
26 CodeImportResultStatus,
27 CodeReviewVote,
28 TargetRevisionControlSystems,
29)
26from lp.code.interfaces.codeimportjob import ICodeImportJobWorkflow30from lp.code.interfaces.codeimportjob import ICodeImportJobWorkflow
27from lp.code.tests.helpers import GitHostingFixture31from lp.code.tests.helpers import GitHostingFixture
28from lp.registry.interfaces.person import IPersonSet32from lp.registry.interfaces.person import IPersonSet
@@ -741,6 +745,22 @@ class TestCloseAccount(TestCaseWithFactory):
741 self.assertRemoved(account_id, person_id)745 self.assertRemoved(account_id, person_id)
742 self.assertEqual(person, product.owner)746 self.assertEqual(person, product.owner)
743747
748 def test_skips_codereviewvote_reviewer(self):
749 person = self.factory.makePerson()
750 person_id = person.id
751 account_id = person.account.id
752 merge_proposal = self.factory.makeBranchMergeProposal(
753 reviewer=person, registrant=self.factory.makePerson()
754 )
755 merge_proposal.createComment(
756 person,
757 vote=CodeReviewVote.APPROVE,
758 )
759 script = self.makeScript([person.name])
760 with dbuser("launchpad"):
761 self.runScript(script)
762 self.assertRemoved(account_id, person_id)
763
744 def test_skips_code_import(self):764 def test_skips_code_import(self):
745 self.useFixture(GitHostingFixture())765 self.useFixture(GitHostingFixture())
746 person = self.factory.makePerson()766 person = self.factory.makePerson()

Subscribers

People subscribed via source and target branches

to status/vote changes: