~launchpad-pqm/launchpad/devel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
Distribution series main page
=============================

In the main page for a distribution we have a link to help translating
this distribution series.

    >>> user_browser.open('http://launchpad.dev/ubuntu/hoary')
    >>> user_browser.getLink('Help translate').click()
    >>> print user_browser.title
    Translations : Hoary (5.04) : Ubuntu


Registering information
-----------------------

The distroseries pages presents the 'registering' information besides
its main 'heading'.

    >>> from lp.services.features.testing import FeatureFixture
    >>> derivation_enabled = FeatureFixture(
    ...     {'soyuz.derived_series_ui.enabled': 'on'})
    >>> with derivation_enabled:
    ...     anon_browser.open('http://launchpad.dev/ubuntu/warty')

    >>> print extract_text(
    ...     find_tag_by_id(anon_browser.contents, 'registration'))
    Registered by
    Ubuntu Team on
    2006-10-16

    >>> print extract_text(find_main_content(anon_browser.contents))
    Warty
    ...

    >>> print anon_browser.getLink('Ubuntu Team').url
    http://launchpad.dev/~ubuntu-team


Details portlet
---------------

The distroseries page contains a details portlet giving more information
on the series' details.

    >>> print extract_text(
    ...     find_portlet(anon_browser.contents, 'Series information'))
    Series information
    Distribution: Ubuntu
    Series: Warty (4.10)
    Project drivers: Ubuntu Team
    Release manager: None
    Status: Current Stable Release
    Derives from: Warty (4.10) is not derived from another series.
    Derived series: No derived series.
    Source packages: 3
    Binary packages: 4

On series that have no source or binary packages, the portlet will
change its text slightly to annouce this:

    >>> anon_browser.open('http://launchpad.dev/debian/sarge')
    >>> print extract_text(
    ...     find_portlet(anon_browser.contents, 'Series information'))
    Series information
    Distribution: Debian
    Series: Sarge (3.1)
    Project drivers: Jeff Waugh, Mark Shuttleworth
    Release manager: Jeff Waugh
    Status: Pre-release Freeze
    Derives from: Woody (3.0)
    Source packages: No sources imported or published.
    Binary packages: No binaries imported or published.

The series' derivation parents - rather than the previous series - are
shown when derivation is enabled, as are the series derived from this
series:

    >>> from lp.registry.interfaces.distribution import IDistributionSet
    >>> from lp.testing import celebrity_logged_in
    >>> from zope.component import getUtility

    >>> with celebrity_logged_in("admin"):
    ...     debian = getUtility(IDistributionSet).getByName(u"debian")
    ...     sarge = debian.getSeries(u"sarge")
    ...     parents = [
    ...         factory.makeDistroSeries(name=u"dobby"),
    ...         factory.makeDistroSeries(name=u"knobby")]
    ...     distro_series_parents = [
    ...         factory.makeDistroSeriesParent(
    ...             derived_series=sarge, parent_series=parent)
    ...         for parent in parents]
    ...     children = [
    ...         factory.makeDistroSeries(name=u"bobby"),
    ...         factory.makeDistroSeries(name=u"tables")]
    ...     distro_series_children = [
    ...         factory.makeDistroSeriesParent(
    ...             derived_series=child, parent_series=sarge)
    ...         for child in children]

    >>> with derivation_enabled:
    ...     anon_browser.open('http://launchpad.dev/debian/sarge')
    >>> print extract_text(
    ...     find_portlet(anon_browser.contents, 'Series information'))
    Series information
    Distribution: Debian
    Series: Sarge (3.1)
    Project drivers: Jeff Waugh, Mark Shuttleworth
    Release manager: Jeff Waugh
    Status: Pre-release Freeze
    Derives from: Dobby (...), Knobby (...)
    Derived series: Bobby (...), Tables (...)
    Source packages: No sources imported or published.
    Binary packages: No binaries imported or published.


Distribution series bug subscriptions
-------------------------------------

To receive email notifications about bugs pertaining to a distribution
series, we can create structural bug subscriptions.

    >>> admin_browser.open('http://launchpad.dev/ubuntu/warty')
    >>> admin_browser.getLink('Subscribe to bug mail').click()
    >>> print admin_browser.url
    http://launchpad.dev/ubuntu/warty/+subscribe

    >>> print admin_browser.title
    Subscribe to Bugs in The Warty Warthog Release


Upstream packaging portlet
--------------------------

The distroseries page contains a portlet with information on the
upstream packaging.

    >>> # Note that warty's sourcecount is stale in sample data
    >>> # which causes -2 need linking.
    >>> anon_browser.open('http://launchpad.dev/ubuntu/warty')
    >>> print extract_text(
    ...     find_tag_by_id(anon_browser.contents, 'series-packaging'))
    Upstream packaging
    5 source packages are linked to registered upstream projects.
    -2 need linking.
    Recently linked to upstream:
    alsa-utils linked...
    a52dec linked...
    evolution linked...
    mozilla-firefox linked...
    netapplet linked 2005-07-05
    Needs upstream links
    All upstream links