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")
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')
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')
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")
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')
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)
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)
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")
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")
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')