Merge lp:~gmb/launchpad/bug-16 into lp:launchpad

Proposed by Graham Binns
Status: Rejected
Rejected by: Graham Binns
Proposed branch: lp:~gmb/launchpad/bug-16
Merge into: lp:launchpad
Diff against target: 51 lines (+45/-0)
1 file modified
lib/lp/bugs/tests/test_externalbugtracker_unknown.py (+45/-0)
To merge this branch: bzr merge lp:~gmb/launchpad/bug-16
Reviewer Review Type Date Requested Status
Graham Binns (community) code Approve
Review via email: mp+110780@code.launchpad.net

Commit message

Fix example bug 16 by making RemoteBugUpdater._convertRemoteStatus() return UNKNOWN rather than INVALID for unknown remote bug statuses.

Description of the change

This is a test merge proposal for a screencast, please ignore it.

To post a comment you must log in.
Revision history for this message
Graham Binns (gmb) wrote :

Approved! Wonderful!

review: Approve (code)

Unmerged revisions

15429. By Graham Binns

Fix bug 16 by making RemoteBugUpdater._convertRemoteStatus() return UNKNOWN rather than INVALID for unknown remote bug statuses.

15428. By Graham Binns

Broken.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'lib/lp/bugs/tests/test_externalbugtracker_unknown.py'
2--- lib/lp/bugs/tests/test_externalbugtracker_unknown.py 1970-01-01 00:00:00 +0000
3+++ lib/lp/bugs/tests/test_externalbugtracker_unknown.py 2012-06-18 11:11:22 +0000
4@@ -0,0 +1,45 @@
5+# Copyright 2012 Canonical Ltd. This software is licensed under the
6+# GNU Affero General Public License version 3 (see the file LICENSE).
7+
8+"""XXX: Module docstring goes here."""
9+
10+__metaclass__ = type
11+
12+import transaction
13+
14+from lp.bugs.interfaces.bugtask import BugTaskStatus
15+from lp.bugs.scripts.checkwatches.core import CheckwatchesMaster
16+from lp.bugs.scripts.checkwatches.tests.test_remotebugupdater import (
17+ StatusConvertingExternalBugTracker,
18+ )
19+from lp.services.log.logger import FakeLogger
20+from lp.testing import TestCaseWithFactory
21+from lp.testing.layers import DatabaseFunctionalLayer
22+
23+
24+class TestRemoteBugsWithUnknownStatuses(TestCaseWithFactory):
25+ """A test case for example bug #16."""
26+
27+ layer = DatabaseFunctionalLayer
28+
29+ def makeUpdater(self, remote_system=None, remote_bug_id=None,
30+ bug_watch_ids=None, unmodified_remote_ids=None,
31+ logger=None):
32+ checkwatches_master = CheckwatchesMaster(transaction)
33+ if logger is not None:
34+ checkwatches_master.logger = logger
35+ return checkwatches_master.remote_bug_updater_factory(
36+ checkwatches_master, remote_system, remote_bug_id,
37+ bug_watch_ids, unmodified_remote_ids, None)
38+
39+ def test_unknown_remote_status_mapped_to_unknown(self):
40+ """When a remote bug with an unknown status is encountered by
41+ the remote bug updater, that status is mapped to
42+ BugTaskStatus.UNKNOWN.
43+ """
44+ updater = self.makeUpdater(
45+ remote_system=StatusConvertingExternalBugTracker(),
46+ remote_bug_id=42,
47+ logger=FakeLogger())
48+ self.assertEqual(
49+ BugTaskStatus.UNKNOWN, updater._convertRemoteStatus('spam'))
50
51=== added directory 'logs'