Merge ~ilasc/launchpad:skip-team-membership-last-changed-by into launchpad:master

Proposed by Ioana Lasc
Status: Merged
Approved by: Ioana Lasc
Approved revision: 9e472b86c3d8f6b0ea2acaa3dd66a42de98aa8c7
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~ilasc/launchpad:skip-team-membership-last-changed-by
Merge into: launchpad:master
Diff against target: 61 lines (+24/-1)
2 files modified
lib/lp/registry/scripts/closeaccount.py (+1/-0)
lib/lp/registry/scripts/tests/test_closeaccount.py (+23/-1)
Reviewer Review Type Date Requested Status
Colin Watson (community) Approve
Review via email: mp+395431@code.launchpad.net

Commit message

Skip last_changed_by for team membership

To post a comment you must log in.
Revision history for this message
Colin Watson (cjwatson) :
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 8aa6121..6256ea2 100644
--- a/lib/lp/registry/scripts/closeaccount.py
+++ b/lib/lp/registry/scripts/closeaccount.py
@@ -157,6 +157,7 @@ def close_account(username, log):
157 ('specification', 'starter'),157 ('specification', 'starter'),
158 ('structuralsubscription', 'subscribed_by'),158 ('structuralsubscription', 'subscribed_by'),
159 ('teammembership', 'acknowledged_by'),159 ('teammembership', 'acknowledged_by'),
160 ('teammembership', 'last_changed_by'),
160 ('teammembership', 'proposed_by'),161 ('teammembership', 'proposed_by'),
161 ('teammembership', 'reviewed_by'),162 ('teammembership', 'reviewed_by'),
162 ('translationimportqueueentry', 'importer'),163 ('translationimportqueueentry', 'importer'),
diff --git a/lib/lp/registry/scripts/tests/test_closeaccount.py b/lib/lp/registry/scripts/tests/test_closeaccount.py
index d02fad5..32e6531 100644
--- a/lib/lp/registry/scripts/tests/test_closeaccount.py
+++ b/lib/lp/registry/scripts/tests/test_closeaccount.py
@@ -28,6 +28,7 @@ from lp.bugs.model.bugsummary import BugSummary
28from lp.code.enums import TargetRevisionControlSystems28from lp.code.enums import TargetRevisionControlSystems
29from lp.code.tests.helpers import GitHostingFixture29from lp.code.tests.helpers import GitHostingFixture
30from lp.registry.interfaces.person import IPersonSet30from lp.registry.interfaces.person import IPersonSet
31from lp.registry.interfaces.teammembership import ITeamMembershipSet
31from lp.registry.scripts.closeaccount import CloseAccountScript32from lp.registry.scripts.closeaccount import CloseAccountScript
32from lp.scripts.garbo import PopulateLatestPersonSourcePackageReleaseCache33from lp.scripts.garbo import PopulateLatestPersonSourcePackageReleaseCache
33from lp.services.database.sqlbase import (34from lp.services.database.sqlbase import (
@@ -52,7 +53,10 @@ from lp.soyuz.enums import (
52 )53 )
53from lp.soyuz.model.archive import Archive54from lp.soyuz.model.archive import Archive
54from lp.soyuz.tests.test_publishing import SoyuzTestPublisher55from lp.soyuz.tests.test_publishing import SoyuzTestPublisher
55from lp.testing import TestCaseWithFactory56from lp.testing import (
57 login_celebrity,
58 TestCaseWithFactory,
59 )
56from lp.testing.dbuser import dbuser60from lp.testing.dbuser import dbuser
57from lp.testing.layers import LaunchpadZopelessLayer61from lp.testing.layers import LaunchpadZopelessLayer
58from lp.translations.interfaces.pofiletranslator import IPOFileTranslatorSet62from lp.translations.interfaces.pofiletranslator import IPOFileTranslatorSet
@@ -613,6 +617,24 @@ class TestCloseAccount(TestCaseWithFactory):
613 self.assertRemoved(account_id, person_id)617 self.assertRemoved(account_id, person_id)
614 self.assertEqual(person, specification.owner)618 self.assertEqual(person, specification.owner)
615619
620 def test_skips_teammembership_last_changed_by(self):
621 targetteam = self.factory.makeTeam(name='target')
622 member = self.factory.makePerson()
623 login_celebrity('admin')
624 targetteam.addMember(member, targetteam.teamowner)
625 membershipset = getUtility(ITeamMembershipSet)
626 membershipset.deactivateActiveMemberships(
627 targetteam, comment='test', reviewer=member)
628 membership = membershipset.getByPersonAndTeam(member, targetteam)
629 self.assertEqual(member, membership.last_changed_by)
630
631 person_id = member.id
632 account_id = member.account.id
633 script = self.makeScript([six.ensure_str(member.name)])
634 with dbuser('launchpad'):
635 self.runScript(script)
636 self.assertRemoved(account_id, person_id)
637
616 def test_handles_login_token(self):638 def test_handles_login_token(self):
617 person = self.factory.makePerson()639 person = self.factory.makePerson()
618 email = '%s@another-domain.test' % person.name640 email = '%s@another-domain.test' % person.name

Subscribers

People subscribed via source and target branches

to status/vote changes: