~launchpad-pqm/launchpad/devel

« back to all changes in this revision

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

Merged db-devel into staging.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1637
1637
 
1638
1638
        self.assertContentEqual(diffs, all_view.cached_differences.batch)
1639
1639
 
 
1640
    def test_batch_wrong_param(self):
 
1641
        # If a wrong parameter is passed then an error is displayed
 
1642
        # and no differences are shown.
 
1643
        set_derived_series_ui_feature_flag(self)
 
1644
        derived_series, parent_series = self._createChildAndParent()
 
1645
        self.factory.makeDistroSeriesDifference(
 
1646
            derived_series=derived_series,
 
1647
            source_package_name_str="my-src-package")
 
1648
        view = create_initialized_view(
 
1649
            derived_series,
 
1650
            '+localpackagediffs',
 
1651
            query_string='field.package_type=%s' % 'unexpected')
 
1652
        view()  # Render the view.
 
1653
 
 
1654
        self.assertEqual('Invalid option', view.getFieldError('package_type'))
 
1655
        self.assertContentEqual([], view.cached_differences.batch)
 
1656
 
1640
1657
    def test_batch_blacklisted_differences_with_higher_version(self):
1641
1658
        # field.package_type parameter allows to list only
1642
1659
        # blacklisted differences with a child's version higher than parent's.
1781
1798
            dsd.derived_series, '+localpackagediffs')
1782
1799
        self.assertTrue(view.hasPendingDSDUpdate(dsd))
1783
1800
 
1784
 
    def test_hasPendingSync_returns_False_if_no_pending_sync(self):
 
1801
    def test_pendingSync_returns_None_if_no_pending_sync(self):
1785
1802
        dsd = self.factory.makeDistroSeriesDifference()
1786
1803
        view = create_initialized_view(
1787
1804
            dsd.derived_series, '+localpackagediffs')
1788
 
        self.assertFalse(view.hasPendingSync(dsd))
 
1805
        self.assertIs(None, view.pendingSync(dsd))
1789
1806
 
1790
 
    def test_hasPendingSync_returns_True_if_pending_sync(self):
 
1807
    def test_pendingSync_returns_not_None_if_pending_sync(self):
1791
1808
        dsd = self.factory.makeDistroSeriesDifference()
1792
1809
        view = create_initialized_view(
1793
1810
            dsd.derived_series, '+localpackagediffs')
1794
1811
        view.pending_syncs = {dsd.source_package_name.name: object()}
1795
 
        self.assertTrue(view.hasPendingSync(dsd))
 
1812
        self.assertIsNot(None, view.pendingSync(dsd))
1796
1813
 
1797
1814
    def test_isNewerThanParent_compares_versions_not_strings(self):
1798
1815
        # isNewerThanParent compares Debian-style version numbers, not
1877
1894
        view = create_initialized_view(
1878
1895
            dsd.derived_series, '+localpackagediffs')
1879
1896
        view.hasPendingDSDUpdate = FakeMethod(result=True)
1880
 
        view.hasPendingSync = FakeMethod(result=False)
 
1897
        view.pendingSync = FakeMethod(result=None)
1881
1898
        self.assertEqual("updating…", view.describeJobs(dsd))
1882
1899
 
1883
1900
    def test_describeJobs_reports_pending_sync(self):
1885
1902
        view = create_initialized_view(
1886
1903
            dsd.derived_series, '+localpackagediffs')
1887
1904
        view.hasPendingDSDUpdate = FakeMethod(result=False)
1888
 
        view.hasPendingSync = FakeMethod(result=True)
 
1905
        pcj = self.factory.makePlainPackageCopyJob()
 
1906
        view.pending_syncs = {dsd.source_package_name.name: pcj}
1889
1907
        self.assertEqual("synchronizing…", view.describeJobs(dsd))
1890
1908
 
 
1909
    def test_describeJobs_reports_pending_queue(self):
 
1910
        dsd = self.factory.makeDistroSeriesDifference()
 
1911
        view = create_initialized_view(
 
1912
            dsd.derived_series, '+localpackagediffs')
 
1913
        view.hasPendingDSDUpdate = FakeMethod(result=False)
 
1914
        pcj = self.factory.makePlainPackageCopyJob()
 
1915
        pu = self.factory.makePackageUpload(distroseries=dsd.derived_series)
 
1916
        # A copy job with an attached packageupload means the job is
 
1917
        # waiting in the queues.
 
1918
        removeSecurityProxy(pu).package_copy_job=pcj.id
 
1919
        view.pending_syncs = {dsd.source_package_name.name: pcj}
 
1920
        expected = (
 
1921
            'waiting in <a href="%s/+queue?queue_state=%s">%s</a>&hellip;'
 
1922
            % (canonical_url(dsd.derived_series), pu.status.value,
 
1923
               pu.status.name))
 
1924
        self.assertEqual(expected, view.describeJobs(dsd))
 
1925
 
1891
1926
    def test_describeJobs_reports_pending_sync_and_update(self):
1892
1927
        dsd = self.factory.makeDistroSeriesDifference()
1893
1928
        view = create_initialized_view(
1894
1929
            dsd.derived_series, '+localpackagediffs')
1895
1930
        view.hasPendingDSDUpdate = FakeMethod(result=True)
1896
 
        view.hasPendingSync = FakeMethod(result=True)
 
1931
        pcj = self.factory.makePlainPackageCopyJob()
 
1932
        self.factory.makePackageUpload(distroseries=dsd.derived_series,
 
1933
                                       package_copy_job=pcj.id)
 
1934
        view.pending_syncs = {dsd.source_package_name.name: pcj}
1897
1935
        self.assertEqual(
1898
1936
            "updating and synchronizing&hellip;", view.describeJobs(dsd))
1899
1937