~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/bugs/doc/externalbugtracker-checkwatches.txt

  • Committer: Launchpad Patch Queue Manager
  • Date: 2011-12-22 04:55:30 UTC
  • mfrom: (14577.1.1 testfix)
  • Revision ID: launchpad@pqm.canonical.com-20111222045530-wki9iu6c0ysqqwkx
[r=wgrant][no-qa] Fix test_publisherconfig lpstorm import. Probably a
        silent conflict between megalint and apocalypse.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
= External Bug Tracker: checkwatches =
 
2
 
 
3
Strictly speaking, checkwatches is the name of a cronscript and a
 
4
module in the Launchpad codebase. In the absence of a more complete
 
5
testing infrastructure for the external bug tracking system, this
 
6
document will collect functional tests relating to both checkwatches
 
7
elements.
 
8
 
 
9
XXX Bug #126593 (Testing of external bug trackers is not extensive
 
10
enough) is tracking the provision of a more extensive testing
 
11
framework.
 
12
  -- Gavin Panella, 2007-07-18
 
13
 
 
14
 
 
15
== get_external_bugtracker ==
 
16
 
 
17
get_external_bugtracker is used to get an ExternalBugTracker suitable
 
18
for a particular bugtracker.
 
19
 
 
20
    >>> from lp.bugs.externalbugtracker import (
 
21
    ...     get_external_bugtracker)
 
22
    >>> from lp.services.scripts import log
 
23
    >>> from lp.bugs.interfaces.bugtracker import BugTrackerType
 
24
 
 
25
get_external_bugtracker supports five external bug tracker types:
 
26
 
 
27
    >>> bugtracker_types = [
 
28
    ...     BugTrackerType.BUGZILLA,
 
29
    ...     BugTrackerType.DEBBUGS,
 
30
    ...     BugTrackerType.MANTIS,
 
31
    ...     BugTrackerType.ROUNDUP,
 
32
    ...     BugTrackerType.RT,
 
33
    ...     BugTrackerType.SOURCEFORGE,
 
34
    ...     BugTrackerType.TRAC]
 
35
 
 
36
    >>> from lp.bugs.tests.externalbugtracker import (
 
37
    ...     new_bugtracker)
 
38
    >>> from canonical.testing.layers import LaunchpadZopelessLayer
 
39
    >>> txn = LaunchpadZopelessLayer.txn
 
40
    >>> for bugtracker_type in bugtracker_types:
 
41
    ...     bugtracker = new_bugtracker(bugtracker_type)
 
42
    ...     try:
 
43
    ...         # Suppress log messages in DebBugs
 
44
    ...         log.setLevel(log.level + 100)
 
45
    ...         external_bugtracker = get_external_bugtracker(bugtracker)
 
46
    ...     finally:
 
47
    ...         log.setLevel(log.level - 100)
 
48
    ...     print "%s --> %s" % (bugtracker_type.title,
 
49
    ...         external_bugtracker)
 
50
    Bugzilla --> <lp.bugs...bugzilla.Bugzilla ...>
 
51
    Debbugs --> <lp.bugs...debbugs.DebBugs ...>
 
52
    Mantis --> <lp.bugs...mantis.Mantis object at ...>
 
53
    Roundup --> <lp.bugs...roundup.Roundup ...>
 
54
    Request Tracker (RT) --> <lp.bugs...rt.RequestTracker ...>
 
55
    SourceForge or SourceForge derivative -->
 
56
        <lp.bugs...sourceforge.SourceForge ...>
 
57
    Trac --> <lp.bugs...trac.Trac ...>