~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/registry/browser/tests/test_distroseries.py

  • Committer: Julian Edwards
  • Date: 2011-07-28 20:46:18 UTC
  • mfrom: (13553 devel)
  • mto: This revision was merged to the branch mainline in revision 13555.
  • Revision ID: julian.edwards@canonical.com-20110728204618-tivj2wx2oa9s32bx
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
from lp.archivepublisher.debversion import Version
51
51
from lp.registry.browser.distroseries import (
52
52
    HIGHER_VERSION_THAN_PARENT,
53
 
    IGNORED,
 
53
    ALL,
54
54
    NON_IGNORED,
55
55
    RESOLVED,
56
56
    seriesToVocab,
1611
1611
        self.assertContentEqual(
1612
1612
            [diff2, diff1], filtered_view2.cached_differences.batch)
1613
1613
 
1614
 
    def test_batch_differences_packages(self):
1615
 
        # field.package_type parameter allows to list only
1616
 
        # blacklisted differences.
 
1614
    def test_batch_all_packages(self):
 
1615
        # field.package_type parameter allows to list all the
 
1616
        # differences.
1617
1617
        set_derived_series_ui_feature_flag(self)
1618
1618
        derived_series, parent_series = self._createChildAndParent()
1619
 
        blacklisted_diff = self.factory.makeDistroSeriesDifference(
1620
 
            derived_series=derived_series,
1621
 
            status=DistroSeriesDifferenceStatus.BLACKLISTED_CURRENT)
1622
 
 
1623
 
        blacklisted_view = create_initialized_view(
 
1619
        # Create differences of all possible statuses.
 
1620
        diffs = []
 
1621
        for status in DistroSeriesDifferenceStatus.items:
 
1622
            diff = self.factory.makeDistroSeriesDifference(
 
1623
                derived_series=derived_series, status=status)
 
1624
            diffs.append(diff)
 
1625
        all_view = create_initialized_view(
1624
1626
            derived_series,
1625
1627
            '+localpackagediffs',
1626
 
            query_string='field.package_type=%s' % IGNORED)
1627
 
        unblacklisted_view = create_initialized_view(
1628
 
            derived_series,
1629
 
            '+localpackagediffs')
 
1628
            query_string='field.package_type=%s' % ALL)
1630
1629
 
1631
 
        self.assertContentEqual(
1632
 
            [blacklisted_diff], blacklisted_view.cached_differences.batch)
1633
 
        self.assertContentEqual(
1634
 
            [], unblacklisted_view.cached_differences.batch)
 
1630
        self.assertContentEqual(diffs, all_view.cached_differences.batch)
1635
1631
 
1636
1632
    def test_batch_blacklisted_differences_with_higher_version(self):
1637
1633
        # field.package_type parameter allows to list only
2337
2333
        self.assertContentEqual(
2338
2334
            [missing_diff], view.cached_differences.batch)
2339
2335
 
 
2336
    def test_uniquepackages_displays_parent(self):
 
2337
        # For a series derived from multiple parents, the parent for each
 
2338
        # DSD is displayed; no parent version is displayed because we're
 
2339
        # listing packages unique to the derived series.
 
2340
        set_derived_series_ui_feature_flag(self)
 
2341
        derived_series, parent_series = self._createChildAndParents()
 
2342
        missing_type = DistroSeriesDifferenceType.UNIQUE_TO_DERIVED_SERIES
 
2343
        self.factory.makeDistroSeriesDifference(
 
2344
            difference_type=missing_type,
 
2345
            derived_series=derived_series,
 
2346
            parent_series=parent_series,
 
2347
            status=DistroSeriesDifferenceStatus.NEEDS_ATTENTION)
 
2348
        view = create_initialized_view(
 
2349
            derived_series, '+uniquepackages')
 
2350
 
 
2351
        multiple_parents_display_matcher = soupmatchers.HTMLContains(
 
2352
            soupmatchers.Tag(
 
2353
                "Parent table header", 'th',
 
2354
                text=re.compile("^\s*Parent\s")),
 
2355
            Not(soupmatchers.Tag(
 
2356
                "Parent version table header", 'th',
 
2357
                text=re.compile("\s*Parent version\s*"))),
 
2358
            soupmatchers.Tag(
 
2359
                "Parent name", 'a',
 
2360
                attrs={'class': 'parent-name'},
 
2361
                text=re.compile("\s*%s\s*" % parent_series.displayname)),
 
2362
             )
 
2363
        self.assertThat(view.render(), multiple_parents_display_matcher)
 
2364
 
2340
2365
    def test_uniquepackages_differences_empty(self):
2341
2366
        # The view is empty if there is no differences with type
2342
2367
        # UNIQUE_TO_DERIVED_SERIES.