コード例 #1
0
    def test_get_register_upstream_url_summary_duplicates(self):
        class Faker:
            # Fakes attributes easily.
            def __init__(self, **kw):
                self.__dict__.update(kw)

        class FakeSourcePackage(Faker):
            # Interface necessary for canonical_url() call in
            # get_register_upstream_url().
            implements(ISourcePackage)

        class FakeDistroSeries(Faker):
            implements(IDistroSeries)

        class FakeDistribution(Faker):
            implements(IDistribution)

        releases = Faker(
            sample_binary_packages=[
                Faker(summary="summary for foo"),
                Faker(summary="summary for bar"),
                Faker(summary="summary for baz"),
                Faker(summary="summary for baz"),
            ]
        )
        source_package = FakeSourcePackage(
            name="foo",
            sourcepackagename=Faker(name="foo"),
            distroseries=FakeDistroSeries(name="walrus", distribution=FakeDistribution(name="zoobuntu")),
            releases=[releases],
            currentrelease=Faker(homepage=None),
        )
        url = get_register_upstream_url(source_package)
        self.assertInQueryString(url, "field.summary", "summary for bar\nsummary for baz\nsummary for foo")
コード例 #2
0
    def test_get_register_upstream_url_summary_duplicates(self):
        class Faker:
            # Fakes attributes easily.
            def __init__(self, **kw):
                self.__dict__.update(kw)

        class FakeSourcePackage(Faker):
            # Interface necessary for canonical_url() call in
            # get_register_upstream_url().
            implements(ISourcePackage)

        class FakeDistroSeries(Faker):
            implements(IDistroSeries)

        class FakeDistribution(Faker):
            implements(IDistribution)

        releases = Faker(sample_binary_packages=[
            Faker(summary='summary for foo'),
            Faker(summary='summary for bar'),
            Faker(summary='summary for baz'),
            Faker(summary='summary for baz'),
        ])
        source_package = FakeSourcePackage(
            name='foo',
            sourcepackagename=Faker(name='foo'),
            distroseries=FakeDistroSeries(
                name='walrus', distribution=FakeDistribution(name='zoobuntu')),
            releases=[releases],
            currentrelease=Faker(homepage=None),
        )
        url = get_register_upstream_url(source_package)
        self.assertInQueryString(
            url, 'field.summary',
            'summary for bar\nsummary for baz\nsummary for foo')
コード例 #3
0
 def test_get_register_upstream_url_homepage(self):
     source_package = self._makePublishedSourcePackage()
     # SourcePackageReleases cannot be modified by users.
     removeSecurityProxy(
         source_package.currentrelease).homepage = 'http://eg.dom/bonkers'
     url = get_register_upstream_url(source_package)
     self.assertInQueryString(url, 'field.homepageurl',
                              'http://eg.dom/bonkers')
コード例 #4
0
 def test_get_register_upstream_url_displayname(self):
     # The sourcepackagename 'python-super-package' is split on
     # the hyphens, and each word is capitalized.
     distroseries = self.factory.makeDistroSeries(
         distribution=self.factory.makeDistribution(name="zoobuntu"), name="walrus"
     )
     source_package = self.factory.makeSourcePackage(
         distroseries=distroseries, sourcepackagename="python-super-package"
     )
     url = get_register_upstream_url(source_package)
     self.assertInQueryString(url, "field.displayname", "Python Super Package")
コード例 #5
0
 def test_get_register_upstream_url_displayname(self):
     # The sourcepackagename 'python-super-package' is split on
     # the hyphens, and each word is capitalized.
     distroseries = self.factory.makeDistroSeries(
         distribution=self.factory.makeDistribution(name='zoobuntu'),
         name='walrus')
     source_package = self.factory.makeSourcePackage(
         distroseries=distroseries,
         sourcepackagename='python-super-package')
     url = get_register_upstream_url(source_package)
     self.assertInQueryString(url, 'field.displayname',
                              'Python Super Package')
コード例 #6
0
 def test_get_register_upstream_url_fields(self):
     distroseries = self.factory.makeDistroSeries(
         distribution=self.factory.makeDistribution(name="zoobuntu"), name="walrus"
     )
     source_package = self.factory.makeSourcePackage(
         distroseries=distroseries, sourcepackagename="python-super-package"
     )
     url = get_register_upstream_url(source_package)
     base, query = urllib.splitquery(url)
     self.assertEqual("/projects/+new", base)
     params = cgi.parse_qsl(query)
     expected_params = [
         ("_return_url", "http://launchpad.dev/zoobuntu/walrus/" "+source/python-super-package"),
         ("field.__visited_steps__", "projectaddstep1"),
         ("field.actions.continue", "Continue"),
         ("field.displayname", "Python Super Package"),
         ("field.distroseries", "zoobuntu/walrus"),
         ("field.name", "python-super-package"),
         ("field.source_package_name", "python-super-package"),
         ("field.title", "Python Super Package"),
     ]
     self.assertEqual(expected_params, params)
コード例 #7
0
 def test_get_register_upstream_url_fields(self):
     distroseries = self.factory.makeDistroSeries(
         distribution=self.factory.makeDistribution(name='zoobuntu'),
         name='walrus')
     source_package = self.factory.makeSourcePackage(
         distroseries=distroseries,
         sourcepackagename='python-super-package')
     url = get_register_upstream_url(source_package)
     base, query = urllib.splitquery(url)
     self.assertEqual('/projects/+new', base)
     params = cgi.parse_qsl(query)
     expected_params = [
         ('_return_url', 'http://launchpad.dev/zoobuntu/walrus/'
          '+source/python-super-package'),
         ('field.__visited_steps__', 'projectaddstep1'),
         ('field.actions.continue', 'Continue'),
         ('field.displayname', 'Python Super Package'),
         ('field.distroseries', 'zoobuntu/walrus'),
         ('field.name', 'python-super-package'),
         ('field.source_package_name', 'python-super-package'),
         ('field.title', 'Python Super Package'),
     ]
     self.assertEqual(expected_params, params)
コード例 #8
0
 def test_get_register_upstream_url_summary(self):
     source_package = self._makePublishedSourcePackage()
     url = get_register_upstream_url(source_package)
     self.assertInQueryString(url, "field.summary", "summary for flubber-bin\nsummary for flubber-lib")
コード例 #9
0
 def test_get_register_upstream_url_homepage(self):
     source_package = self._makePublishedSourcePackage()
     # SourcePackageReleases cannot be modified by users.
     removeSecurityProxy(source_package.currentrelease).homepage = "http://eg.dom/bonkers"
     url = get_register_upstream_url(source_package)
     self.assertInQueryString(url, "field.homepageurl", "http://eg.dom/bonkers")
コード例 #10
0
 def test_get_register_upstream_url_summary(self):
     source_package = self._makePublishedSourcePackage()
     url = get_register_upstream_url(source_package)
     self.assertInQueryString(
         url, 'field.summary',
         'summary for flubber-bin\nsummary for flubber-lib')