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
1diff --git a/lib/lp/registry/scripts/closeaccount.py b/lib/lp/registry/scripts/closeaccount.py
2index df4c8ad..bb3c119 100644
3--- a/lib/lp/registry/scripts/closeaccount.py
4+++ b/lib/lp/registry/scripts/closeaccount.py
5@@ -122,6 +122,7 @@ def close_account(username, log):
6 ("codeimportjob", "requesting_user"),
7 ("codeimportevent", "person"),
8 ("codeimportresult", "requesting_user"),
9+ ("codereviewvote", "reviewer"),
10 ("distroarchseriesfilter", "creator"),
11 ("faq", "last_updated_by"),
12 ("featureflagchangelogentry", "person"),
13diff --git a/lib/lp/registry/scripts/tests/test_closeaccount.py b/lib/lp/registry/scripts/tests/test_closeaccount.py
14index f63aebf..5e6f5e9 100644
15--- a/lib/lp/registry/scripts/tests/test_closeaccount.py
16+++ b/lib/lp/registry/scripts/tests/test_closeaccount.py
17@@ -22,7 +22,11 @@ from lp.app.interfaces.launchpad import ILaunchpadCelebrities
18 from lp.archivepublisher.config import getPubConfig
19 from lp.archivepublisher.publishing import Publisher
20 from lp.bugs.model.bugsummary import BugSummary
21-from lp.code.enums import CodeImportResultStatus, TargetRevisionControlSystems
22+from lp.code.enums import (
23+ CodeImportResultStatus,
24+ CodeReviewVote,
25+ TargetRevisionControlSystems,
26+)
27 from lp.code.interfaces.codeimportjob import ICodeImportJobWorkflow
28 from lp.code.tests.helpers import GitHostingFixture
29 from lp.registry.interfaces.person import IPersonSet
30@@ -741,6 +745,22 @@ class TestCloseAccount(TestCaseWithFactory):
31 self.assertRemoved(account_id, person_id)
32 self.assertEqual(person, product.owner)
33
34+ def test_skips_codereviewvote_reviewer(self):
35+ person = self.factory.makePerson()
36+ person_id = person.id
37+ account_id = person.account.id
38+ merge_proposal = self.factory.makeBranchMergeProposal(
39+ reviewer=person, registrant=self.factory.makePerson()
40+ )
41+ merge_proposal.createComment(
42+ person,
43+ vote=CodeReviewVote.APPROVE,
44+ )
45+ script = self.makeScript([person.name])
46+ with dbuser("launchpad"):
47+ self.runScript(script)
48+ self.assertRemoved(account_id, person_id)
49+
50 def test_skips_code_import(self):
51 self.useFixture(GitHostingFixture())
52 person = self.factory.makePerson()

Subscribers

People subscribed via source and target branches

to status/vote changes: