Steve Kowalik has proposed merging lp:~stevenk/launchpad/double-unmute-oops into lp:launchpad.
Requested reviews: Launchpad code reviewers (launchpad-reviewers) Related bugs: Bug #899124 in Launchpad itself: "ClassInfoError: <type 'NoneType'>.__storm_table__ missing unmuting a bug" https://bugs.launchpad.net/launchpad/+bug/899124 For more details, see: https://code.launchpad.net/~stevenk/launchpad/double-unmute-oops/+merge/119663 IBug.mute() will deal if the bug is already muted, but IBug.unmute() will not deal if the bug is already unmuted. Add a test case, and fix it. -- https://code.launchpad.net/~stevenk/launchpad/double-unmute-oops/+merge/119663 Your team Launchpad code reviewers is requested to review the proposed merge of lp:~stevenk/launchpad/double-unmute-oops into lp:launchpad.
=== modified file 'lib/lp/bugs/model/bug.py' --- lib/lp/bugs/model/bug.py 2012-08-08 05:17:15 +0000 +++ lib/lp/bugs/model/bug.py 2012-08-15 02:40:27 +0000 @@ -929,7 +929,8 @@ # This may be a webservice request. person = unmuted_by mutes = self._getMutes(person) - store.remove(mutes.one()) + if not mutes.is_empty(): + store.remove(mutes.one()) return self.getSubscriptionForPerson(person) @property === modified file 'lib/lp/bugs/tests/test_bug.py' --- lib/lp/bugs/tests/test_bug.py 2012-08-08 05:22:14 +0000 +++ lib/lp/bugs/tests/test_bug.py 2012-08-15 02:40:27 +0000 @@ -131,6 +131,14 @@ self.bug.unmute(None, self.person) self.assertFalse(self.bug.isMuted(self.person)) + def test_double_unmute(self): + # If unmute is called when not muted, it is a no-op. + with person_logged_in(self.person): + self.bug.mute(self.person, self.person) + subscriptions = self.bug.unmute(self.person, self.person) + sec_subscriptions = self.bug.unmute(self.person, self.person) + self.assertEqual(sec_subscriptions, subscriptions) + class TestBugSnapshotting(TestCaseWithFactory): layer = DatabaseFunctionalLayer
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp