launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #22146
[Merge] lp:~cjwatson/launchpad/soyuz-tests-future-imports into lp:launchpad
Colin Watson has proposed merging lp:~cjwatson/launchpad/soyuz-tests-future-imports into lp:launchpad with lp:~cjwatson/launchpad/soyuz-browser-tests-future-imports as a prerequisite.
Commit message:
Convert lp.soyuz.tests to Launchpad's preferred __future__ imports.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/soyuz-tests-future-imports/+merge/337042
Long but boring. The only wart was needing to fix a couple of type(foo) == str checks.
--
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~cjwatson/launchpad/soyuz-tests-future-imports into lp:launchpad.
=== modified file 'lib/lp/soyuz/tests/fakepackager.py'
--- lib/lp/soyuz/tests/fakepackager.py 2017-07-31 11:45:32 +0000
+++ lib/lp/soyuz/tests/fakepackager.py 2018-02-02 10:33:11 +0000
@@ -1,4 +1,4 @@
-# Copyright 2009-2011 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""FakePackager utility.
@@ -7,6 +7,8 @@
suite.
"""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
__all__ = ['FakePackager']
=== modified file 'lib/lp/soyuz/tests/soyuz.py'
--- lib/lp/soyuz/tests/soyuz.py 2017-06-14 02:44:33 +0000
+++ lib/lp/soyuz/tests/soyuz.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2009-2017 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Helper functions/classes for Soyuz tests."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
__all__ = [
=== modified file 'lib/lp/soyuz/tests/test_archive.py'
--- lib/lp/soyuz/tests/test_archive.py 2017-04-29 23:51:28 +0000
+++ lib/lp/soyuz/tests/test_archive.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2009-2017 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test Archive features."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from datetime import (
date,
datetime,
@@ -12,6 +14,7 @@
import os.path
from pytz import UTC
+import six
from testtools.deferredruntest import AsynchronousDeferredRunTest
from testtools.matchers import (
AllMatch,
@@ -1272,15 +1275,15 @@
def test_feature_flag_disabled(self):
# With feature flag disabled, we will not create new named auth tokens.
private_ppa = self.factory.makeArchive(private=True)
- with FeatureFixture({NAMED_AUTH_TOKEN_FEATURE_FLAG: u""}):
+ with FeatureFixture({NAMED_AUTH_TOKEN_FEATURE_FLAG: ""}):
self.assertRaises(NamedAuthTokenFeatureDisabled,
- private_ppa.newNamedAuthToken, u"tokenname")
+ private_ppa.newNamedAuthToken, "tokenname")
def test_feature_flag_disabled_by_default(self):
# Without a feature flag, we will not create new named auth tokens.
private_ppa = self.factory.makeArchive(private=True)
self.assertRaises(NamedAuthTokenFeatureDisabled,
- private_ppa.newNamedAuthToken, u"tokenname")
+ private_ppa.newNamedAuthToken, "tokenname")
class TestArchiveTokens(TestCaseWithFactory):
@@ -1292,7 +1295,7 @@
self.private_ppa = self.factory.makeArchive(owner=owner, private=True)
self.joe = self.factory.makePerson(name='joe')
self.private_ppa.newSubscription(self.joe, owner)
- self.useFixture(FeatureFixture({NAMED_AUTH_TOKEN_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({NAMED_AUTH_TOKEN_FEATURE_FLAG: "on"}))
def test_getAuthToken_with_no_token(self):
self.assertIsNone(self.private_ppa.getAuthToken(self.joe))
@@ -1308,8 +1311,8 @@
self.assertEqual(token.archive_url, url)
def test_newNamedAuthToken_private_archive(self):
- res = self.private_ppa.newNamedAuthToken(u"tokenname", as_dict=True)
- token = self.private_ppa.getNamedAuthToken(u"tokenname")
+ res = self.private_ppa.newNamedAuthToken("tokenname", as_dict=True)
+ token = self.private_ppa.getNamedAuthToken("tokenname")
self.assertIsNotNone(token)
self.assertIsNone(token.person)
self.assertEqual("tokenname", token.name)
@@ -1325,37 +1328,37 @@
def test_newNamedAuthToken_public_archive(self):
public_ppa = self.factory.makeArchive(private=False)
self.assertRaises(ArchiveNotPrivate,
- public_ppa.newNamedAuthToken, u"tokenname")
+ public_ppa.newNamedAuthToken, "tokenname")
def test_newNamedAuthToken_duplicate_name(self):
- self.private_ppa.newNamedAuthToken(u"tokenname")
+ self.private_ppa.newNamedAuthToken("tokenname")
self.assertRaises(DuplicateTokenName,
- self.private_ppa.newNamedAuthToken, u"tokenname")
+ self.private_ppa.newNamedAuthToken, "tokenname")
def test_newNamedAuthToken_with_custom_secret(self):
- token = self.private_ppa.newNamedAuthToken(u"tokenname", u"secret")
- self.assertEqual(u"secret", token.token)
+ token = self.private_ppa.newNamedAuthToken("tokenname", "secret")
+ self.assertEqual("secret", token.token)
def test_newNamedAuthTokens_private_archive(self):
res = self.private_ppa.newNamedAuthTokens(
- (u"name1", u"name2"), as_dict=True)
+ ("name1", "name2"), as_dict=True)
tokens = self.private_ppa.getNamedAuthTokens()
self.assertDictEqual({tok.name: tok.asDict() for tok in tokens}, res)
def test_newNamedAuthTokens_public_archive(self):
public_ppa = self.factory.makeArchive(private=False)
self.assertRaises(ArchiveNotPrivate,
- public_ppa.newNamedAuthTokens, (u"name1", u"name2"))
+ public_ppa.newNamedAuthTokens, ("name1", "name2"))
def test_newNamedAuthTokens_duplicate_name(self):
- self.private_ppa.newNamedAuthToken(u"tok1")
+ self.private_ppa.newNamedAuthToken("tok1")
res = self.private_ppa.newNamedAuthTokens(
- (u"tok1", u"tok2", u"tok3"), as_dict=True)
+ ("tok1", "tok2", "tok3"), as_dict=True)
tokens = self.private_ppa.getNamedAuthTokens()
self.assertDictEqual({tok.name: tok.asDict() for tok in tokens}, res)
def test_newNamedAuthTokens_idempotent(self):
- names = (u"name1", u"name2", u"name3", u"name4", u"name5")
+ names = ("name1", "name2", "name3", "name4", "name5")
res1 = self.private_ppa.newNamedAuthTokens(names, as_dict=True)
res2 = self.private_ppa.newNamedAuthTokens(names, as_dict=True)
self.assertEqual(res1, res2)
@@ -1364,32 +1367,32 @@
# Preload feature flag so it is cached.
getFeatureFlag(NAMED_AUTH_TOKEN_FEATURE_FLAG)
with StormStatementRecorder() as recorder1:
- self.private_ppa.newNamedAuthTokens((u"tok1"))
+ self.private_ppa.newNamedAuthTokens(("tok1"))
with StormStatementRecorder() as recorder2:
- self.private_ppa.newNamedAuthTokens((u"tok1", u"tok2", u"tok3"))
+ self.private_ppa.newNamedAuthTokens(("tok1", "tok2", "tok3"))
self.assertThat(recorder2, HasQueryCount.byEquality(recorder1))
def test_getNamedAuthToken_with_no_token(self):
self.assertRaises(
- NotFoundError, self.private_ppa.getNamedAuthToken, u"tokenname")
+ NotFoundError, self.private_ppa.getNamedAuthToken, "tokenname")
def test_getNamedAuthToken_with_token(self):
- res = self.private_ppa.newNamedAuthToken(u"tokenname", as_dict=True)
+ res = self.private_ppa.newNamedAuthToken("tokenname", as_dict=True)
self.assertEqual(
- self.private_ppa.getNamedAuthToken(u"tokenname", as_dict=True),
+ self.private_ppa.getNamedAuthToken("tokenname", as_dict=True),
res)
def test_revokeNamedAuthToken_with_token(self):
- token = self.private_ppa.newNamedAuthToken(u"tokenname")
- self.private_ppa.revokeNamedAuthToken(u"tokenname")
+ token = self.private_ppa.newNamedAuthToken("tokenname")
+ self.private_ppa.revokeNamedAuthToken("tokenname")
self.assertIsNotNone(token.date_deactivated)
def test_revokeNamedAuthToken_with_no_token(self):
self.assertRaises(
- NotFoundError, self.private_ppa.revokeNamedAuthToken, u"tokenname")
+ NotFoundError, self.private_ppa.revokeNamedAuthToken, "tokenname")
def test_revokeNamedAuthTokens(self):
- names = (u"name1", u"name2", u"name3", u"name4", u"name5")
+ names = ("name1", "name2", "name3", "name4", "name5")
tokens = self.private_ppa.newNamedAuthTokens(names)
self.assertThat(
tokens, AllMatch(MatchesPredicate(
@@ -1400,10 +1403,10 @@
lambda x: x.date_deactivated, '%s is active.')))
def test_revokeNamedAuthTokens_with_previously_revoked_token(self):
- names = (u"name1", u"name2", u"name3", u"name4", u"name5")
+ names = ("name1", "name2", "name3", "name4", "name5")
self.private_ppa.newNamedAuthTokens(names)
- token1 = self.private_ppa.getNamedAuthToken(u"name1")
- token2 = self.private_ppa.getNamedAuthToken(u"name2")
+ token1 = self.private_ppa.getNamedAuthToken("name1")
+ token2 = self.private_ppa.getNamedAuthToken("name2")
# Revoke token1.
deactivation_time_1 = datetime.now(UTC) - timedelta(seconds=90)
@@ -1417,34 +1420,34 @@
self.assertLess(token1.date_deactivated, token2.date_deactivated)
def test_revokeNamedAuthTokens_idempotent(self):
- names = (u"name1", u"name2", u"name3", u"name4", u"name5")
+ names = ("name1", "name2", "name3", "name4", "name5")
res1 = self.private_ppa.revokeNamedAuthTokens(names)
res2 = self.private_ppa.revokeNamedAuthTokens(names)
self.assertEqual(res1, res2)
def test_getNamedAuthToken_with_revoked_token(self):
- self.private_ppa.newNamedAuthToken(u"tokenname")
- self.private_ppa.revokeNamedAuthToken(u"tokenname")
+ self.private_ppa.newNamedAuthToken("tokenname")
+ self.private_ppa.revokeNamedAuthToken("tokenname")
self.assertRaises(
- NotFoundError, self.private_ppa.getNamedAuthToken, u"tokenname")
+ NotFoundError, self.private_ppa.getNamedAuthToken, "tokenname")
def test_getNamedAuthTokens(self):
- res1 = self.private_ppa.newNamedAuthToken(u"tokenname1", as_dict=True)
- res2 = self.private_ppa.newNamedAuthToken(u"tokenname2", as_dict=True)
- self.private_ppa.newNamedAuthToken(u"tokenname3")
- self.private_ppa.revokeNamedAuthToken(u"tokenname3")
+ res1 = self.private_ppa.newNamedAuthToken("tokenname1", as_dict=True)
+ res2 = self.private_ppa.newNamedAuthToken("tokenname2", as_dict=True)
+ self.private_ppa.newNamedAuthToken("tokenname3")
+ self.private_ppa.revokeNamedAuthToken("tokenname3")
self.assertContentEqual(
[res1, res2],
self.private_ppa.getNamedAuthTokens(as_dict=True))
def test_getNamedAuthTokens_with_names(self):
- res1 = self.private_ppa.newNamedAuthToken(u"tokenname1", as_dict=True)
- res2 = self.private_ppa.newNamedAuthToken(u"tokenname2", as_dict=True)
- self.private_ppa.newNamedAuthToken(u"tokenname3")
+ res1 = self.private_ppa.newNamedAuthToken("tokenname1", as_dict=True)
+ res2 = self.private_ppa.newNamedAuthToken("tokenname2", as_dict=True)
+ self.private_ppa.newNamedAuthToken("tokenname3")
self.assertContentEqual(
[res1, res2],
self.private_ppa.getNamedAuthTokens(
- (u"tokenname1", u"tokenname2"), as_dict=True))
+ ("tokenname1", "tokenname2"), as_dict=True))
class TestGetBinaryPackageRelease(TestCaseWithFactory):
@@ -1970,14 +1973,14 @@
def _createDep(self, test_publisher, derived_series, parent_series,
parent_distro, component_name=None, pocket=None,
overlay=True, arch_tag='i386',
- publish_base_url=u'http://archive.launchpad.dev/'):
+ publish_base_url='http://archive.launchpad.dev/'):
# Helper to create a parent/child relationship.
- if type(parent_distro) == str:
+ if isinstance(parent_distro, six.string_types):
depdistro = self.factory.makeDistribution(parent_distro,
publish_base_url=publish_base_url)
else:
depdistro = parent_distro
- if type(parent_series) == str:
+ if isinstance(parent_series, six.string_types):
depseries = self.factory.makeDistroSeries(
name=parent_series, distribution=depdistro)
self.factory.makeDistroArchSeries(
@@ -2454,20 +2457,20 @@
found.append((title, pub_ds))
self.assertEqual(expected, found)
self.assertEqual(1,
- cprov_archive.getPublishedSources(name=u'cd').count())
+ cprov_archive.getPublishedSources(name='cd').count())
self.assertEqual(1,
- cprov_archive.getPublishedSources(name=u'ice').count())
+ cprov_archive.getPublishedSources(name='ice').count())
self.assertEqual(1, cprov_archive.getPublishedSources(
- name=u'iceweasel', exact_match=True).count())
+ name='iceweasel', exact_match=True).count())
self.assertEqual(0, cprov_archive.getPublishedSources(
- name=u'ice', exact_match=True).count())
+ name='ice', exact_match=True).count())
self.assertRaises(VersionRequiresName,
cprov_archive.getPublishedSources,
version='1.0')
self.assertEqual(1, cprov_archive.getPublishedSources(
- name=u'ice', version='1.0').count())
+ name='ice', version='1.0').count())
self.assertEqual(0, cprov_archive.getPublishedSources(
- name=u'ice', version='666').count())
+ name='ice', version='666').count())
self.assertEqual(3, cprov_archive.getPublishedSources(
status=PackagePublishingStatus.PUBLISHED).count())
self.assertEqual(3, cprov_archive.getPublishedSources(
@@ -2487,9 +2490,9 @@
distroseries=warty,
pocket=PackagePublishingPocket.UPDATES).count())
self.assertEqual(1, cprov_archive.getPublishedSources(
- name=u'ice', distroseries=warty).count())
+ name='ice', distroseries=warty).count())
self.assertEqual(0, cprov_archive.getPublishedSources(
- name=u'ice', distroseries=breezy_autotest).count())
+ name='ice', distroseries=breezy_autotest).count())
mid_2007 = datetime(year=2007, month=7, day=9, hour=14, tzinfo=UTC)
self.assertEqual(0, cprov_archive.getPublishedSources(
created_since_date=mid_2007).count())
@@ -3383,7 +3386,7 @@
self.assertIs(
None,
self.set.getPPAOwnedByPerson(
- archive.owner, archive.distribution, archive.name + u'lol'))
+ archive.owner, archive.distribution, archive.name + 'lol'))
self.assertIs(
None,
self.set.getPPAOwnedByPerson(
=== modified file 'lib/lp/soyuz/tests/test_archive_agent.py'
--- lib/lp/soyuz/tests/test_archive_agent.py 2014-03-11 07:08:33 +0000
+++ lib/lp/soyuz/tests/test_archive_agent.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010-2012 Canonical Ltd. This software is licensed under the GNU
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the GNU
# Affero General Public License version 3 (see the file LICENSE).
"""Test Archive software center agent celebrity."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from zope.component import getUtility
from zope.security.interfaces import Unauthorized
=== modified file 'lib/lp/soyuz/tests/test_archive_privacy.py'
--- lib/lp/soyuz/tests/test_archive_privacy.py 2013-05-10 05:30:11 +0000
+++ lib/lp/soyuz/tests/test_archive_privacy.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test Archive privacy features."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from zope.security.interfaces import Unauthorized
from lp.soyuz.interfaces.archive import CannotSwitchPrivacy
=== modified file 'lib/lp/soyuz/tests/test_archive_subscriptions.py'
--- lib/lp/soyuz/tests/test_archive_subscriptions.py 2016-03-17 23:40:28 +0000
+++ lib/lp/soyuz/tests/test_archive_subscriptions.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2009-2013 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test Archive features."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from fixtures import FakeLogger
from storm.store import Store
from testtools.matchers import Equals
=== modified file 'lib/lp/soyuz/tests/test_archivejob.py'
--- lib/lp/soyuz/tests/test_archivejob.py 2017-01-14 00:17:26 +0000
+++ lib/lp/soyuz/tests/test_archivejob.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2010-2017 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
from debian.deb822 import Changes
from lp.services.job.runner import JobRunner
@@ -43,7 +45,7 @@
# deserialized from JSON, so the representation returned by
# archive_job.metadata will be different from what we originally
# passed in.
- metadata_expected = (u'some', u'arbitrary', u'metadata')
+ metadata_expected = ('some', 'arbitrary', 'metadata')
self.assertEqual(metadata_expected, archive_job.metadata)
=== modified file 'lib/lp/soyuz/tests/test_archivesubscriptionview.py'
--- lib/lp/soyuz/tests/test_archivesubscriptionview.py 2012-01-26 13:36:20 +0000
+++ lib/lp/soyuz/tests/test_archivesubscriptionview.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2012 Canonical Ltd. This software is licensed under the
+# Copyright 2012-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Unit tests for ArchiveSubscribersView."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from soupmatchers import (
=== modified file 'lib/lp/soyuz/tests/test_binaryandsourcepackagename.py'
--- lib/lp/soyuz/tests/test_binaryandsourcepackagename.py 2012-01-01 02:58:52 +0000
+++ lib/lp/soyuz/tests/test_binaryandsourcepackagename.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test the binary and source package name vocabularies."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from storm.store import Store
=== modified file 'lib/lp/soyuz/tests/test_binarypackagebuild.py'
--- lib/lp/soyuz/tests/test_binarypackagebuild.py 2016-01-06 12:24:47 +0000
+++ lib/lp/soyuz/tests/test_binarypackagebuild.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2009-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test Build features."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from datetime import (
datetime,
timedelta,
@@ -229,7 +231,7 @@
[depwait_build] = depwait_source.createMissingBuilds()
depwait_build.updateStatus(
BuildStatus.MANUALDEPWAIT,
- slave_status={'dependencies': u'dep-bin'})
+ slave_status={'dependencies': 'dep-bin'})
return depwait_build
def testUpdateDependenciesWorks(self):
@@ -257,13 +259,13 @@
self.assertRaisesUnparsableDependencies(depwait_build, None)
# Missing 'name'.
- self.assertRaisesUnparsableDependencies(depwait_build, u'(>> version)')
+ self.assertRaisesUnparsableDependencies(depwait_build, '(>> version)')
# Missing 'version'.
- self.assertRaisesUnparsableDependencies(depwait_build, u'name (>>)')
+ self.assertRaisesUnparsableDependencies(depwait_build, 'name (>>)')
# Missing comma between dependencies.
- self.assertRaisesUnparsableDependencies(depwait_build, u'name1 name2')
+ self.assertRaisesUnparsableDependencies(depwait_build, 'name1 name2')
def testBug378828(self):
# `IBinaryPackageBuild.updateDependencies` copes with the
@@ -293,14 +295,14 @@
depwait_build.updateStatus(
BuildStatus.MANUALDEPWAIT,
- slave_status={'dependencies': u'dep-bin (>> 666)'})
+ slave_status={'dependencies': 'dep-bin (>> 666)'})
depwait_build.updateDependencies()
- self.assertEqual(depwait_build.dependencies, u'dep-bin (>> 666)')
+ self.assertEqual(depwait_build.dependencies, 'dep-bin (>> 666)')
depwait_build.updateStatus(
BuildStatus.MANUALDEPWAIT,
- slave_status={'dependencies': u'dep-bin (>= 666)'})
+ slave_status={'dependencies': 'dep-bin (>= 666)'})
depwait_build.updateDependencies()
- self.assertEqual(depwait_build.dependencies, u'')
+ self.assertEqual(depwait_build.dependencies, '')
def testVersionedDependencyOnOldPublication(self):
# `IBinaryPackageBuild.updateDependencies` doesn't just consider
@@ -316,24 +318,24 @@
depwait_build.updateStatus(
BuildStatus.MANUALDEPWAIT,
- slave_status={'dependencies': u'dep-bin (= 666)'})
+ slave_status={'dependencies': 'dep-bin (= 666)'})
depwait_build.updateDependencies()
- self.assertEqual(depwait_build.dependencies, u'')
+ self.assertEqual(depwait_build.dependencies, '')
depwait_build.updateStatus(
BuildStatus.MANUALDEPWAIT,
- slave_status={'dependencies': u'dep-bin (= 999)'})
+ slave_status={'dependencies': 'dep-bin (= 999)'})
depwait_build.updateDependencies()
- self.assertEqual(depwait_build.dependencies, u'')
+ self.assertEqual(depwait_build.dependencies, '')
def testStrictInequalities(self):
depwait_build = self._setupSimpleDepwaitContext()
self.layer.txn.commit()
for dep, expected in (
- (u'dep-bin (<< 444)', u'dep-bin (<< 444)'),
- (u'dep-bin (>> 444)', u''),
- (u'dep-bin (<< 888)', u''),
- (u'dep-bin (>> 888)', u'dep-bin (>> 888)'),
+ ('dep-bin (<< 444)', 'dep-bin (<< 444)'),
+ ('dep-bin (>> 444)', ''),
+ ('dep-bin (<< 888)', ''),
+ ('dep-bin (>> 888)', 'dep-bin (>> 888)'),
):
depwait_build.updateStatus(
BuildStatus.MANUALDEPWAIT, slave_status={'dependencies': dep})
@@ -349,10 +351,10 @@
depwait_build.updateStatus(
BuildStatus.MANUALDEPWAIT,
slave_status={
- 'dependencies': u'dep-bin (>= 999) | alt-bin, dep-tools'})
+ 'dependencies': 'dep-bin (>= 999) | alt-bin, dep-tools'})
depwait_build.updateDependencies()
self.assertEqual(
- u'dep-bin (>= 999) | alt-bin, dep-tools',
+ 'dep-bin (>= 999) | alt-bin, dep-tools',
depwait_build.dependencies)
self.publisher.getPubBinaries(
@@ -360,7 +362,7 @@
self.layer.txn.commit()
depwait_build.updateDependencies()
- self.assertEqual(u'dep-tools', depwait_build.dependencies)
+ self.assertEqual('dep-tools', depwait_build.dependencies)
def testAptVersionConstraints(self):
# launchpad-buildd can return apt-style version constraints
@@ -370,14 +372,14 @@
depwait_build.updateStatus(
BuildStatus.MANUALDEPWAIT,
- slave_status={'dependencies': u'dep-bin (> 666), dep-bin (< 777)'})
+ slave_status={'dependencies': 'dep-bin (> 666), dep-bin (< 777)'})
depwait_build.updateDependencies()
- self.assertEqual(depwait_build.dependencies, u'dep-bin (> 666)')
+ self.assertEqual(depwait_build.dependencies, 'dep-bin (> 666)')
depwait_build.updateStatus(
BuildStatus.MANUALDEPWAIT,
- slave_status={'dependencies': u'dep-bin (> 665)'})
+ slave_status={'dependencies': 'dep-bin (> 665)'})
depwait_build.updateDependencies()
- self.assertEqual(depwait_build.dependencies, u'')
+ self.assertEqual(depwait_build.dependencies, '')
class BaseTestCaseWithThreeBuilds(TestCaseWithFactory):
=== modified file 'lib/lp/soyuz/tests/test_binarypackagebuildbehaviour.py'
--- lib/lp/soyuz/tests/test_binarypackagebuildbehaviour.py 2017-07-26 13:21:25 +0000
+++ lib/lp/soyuz/tests/test_binarypackagebuildbehaviour.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010-2017 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Tests for BinaryPackageBuildBehaviour."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
import gzip
@@ -258,7 +260,7 @@
interactor.getBuildBehaviour(bq, builder, slave), BufferLogger())
yield self.assertExpectedInteraction(
slave.call_log, builder, build, lf, archive, ArchivePurpose.PPA,
- extra_uploads=[(sprf_url, 'buildd', u'sekrit')],
+ extra_uploads=[(sprf_url, 'buildd', 'sekrit')],
filemap_names=[sprf.libraryfile.filename])
@defer.inlineCallbacks
=== modified file 'lib/lp/soyuz/tests/test_binarypackagename.py'
--- lib/lp/soyuz/tests/test_binarypackagename.py 2016-06-10 09:26:31 +0000
+++ lib/lp/soyuz/tests/test_binarypackagename.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test BinaryPackageName."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from zope.component import getUtility
=== modified file 'lib/lp/soyuz/tests/test_binarypackagerelease.py'
--- lib/lp/soyuz/tests/test_binarypackagerelease.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_binarypackagerelease.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test BinaryPackageRelease."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from lp.soyuz.enums import BinaryPackageFormat
=== modified file 'lib/lp/soyuz/tests/test_build.py'
--- lib/lp/soyuz/tests/test_build.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_build.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2011-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2011-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from datetime import (
=== modified file 'lib/lp/soyuz/tests/test_build_depwait.py'
--- lib/lp/soyuz/tests/test_build_depwait.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_build_depwait.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2011 Canonical Ltd. This software is licensed under the
+# Copyright 2011-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
import transaction
@@ -67,7 +69,7 @@
# Commit to make sure stuff hits the database.
transaction.commit()
build.updateDependencies()
- self.assertEqual(u'', build.dependencies)
+ self.assertEqual('', build.dependencies)
def test_update_dependancies_respects_component(self):
# Since main can only utilise packages that are published in main,
@@ -98,4 +100,4 @@
transaction.commit()
# Now that we have moved it main, we can see it.
build.updateDependencies()
- self.assertEqual(u'', build.dependencies)
+ self.assertEqual('', build.dependencies)
=== modified file 'lib/lp/soyuz/tests/test_build_notify.py'
--- lib/lp/soyuz/tests/test_build_notify.py 2016-12-22 16:32:38 +0000
+++ lib/lp/soyuz/tests/test_build_notify.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2011-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2011-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from datetime import timedelta
@@ -127,7 +129,7 @@
build.status.name, notification['X-Launchpad-Build-State'])
self.assertEqual(
build.archive.reference, notification['X-Launchpad-Archive'])
- if ppa and build.archive.distribution.name == u'ubuntu':
+ if ppa and build.archive.distribution.name == 'ubuntu':
self.assertEqual(
get_ppa_reference(self.ppa), notification['X-Launchpad-PPA'])
body = notification.get_payload(decode=True)
=== modified file 'lib/lp/soyuz/tests/test_build_privacy.py'
--- lib/lp/soyuz/tests/test_build_privacy.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_build_privacy.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2011 Canonical Ltd. This software is licensed under the
+# Copyright 2011-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from zope.component import getUtility
=== modified file 'lib/lp/soyuz/tests/test_build_set.py'
--- lib/lp/soyuz/tests/test_build_set.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_build_set.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2011 Canonical Ltd. This software is licensed under the
+# Copyright 2011-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from zope.component import getUtility
=== modified file 'lib/lp/soyuz/tests/test_build_start_estimation.py'
--- lib/lp/soyuz/tests/test_build_start_estimation.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_build_start_estimation.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2011 Canonical Ltd. This software is licensed under the
+# Copyright 2011-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from datetime import (
=== modified file 'lib/lp/soyuz/tests/test_distributionsourcepackagerelease.py'
--- lib/lp/soyuz/tests/test_distributionsourcepackagerelease.py 2016-06-17 15:46:57 +0000
+++ lib/lp/soyuz/tests/test_distributionsourcepackagerelease.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2011-2014 Canonical Ltd. This software is licensed under the
+# Copyright 2011-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Tests of DistributionSourcePackageRelease."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from storm.store import Store
from testtools.matchers import (
Equals,
=== modified file 'lib/lp/soyuz/tests/test_distroseriesbinarypackage.py'
--- lib/lp/soyuz/tests/test_distroseriesbinarypackage.py 2018-01-02 10:54:31 +0000
+++ lib/lp/soyuz/tests/test_distroseriesbinarypackage.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Tests for `DistroSeriesBinaryPackage`."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
__all__ = [
'TestDistroSeriesBinaryPackage',
=== modified file 'lib/lp/soyuz/tests/test_distroseriesdifferencejob.py'
--- lib/lp/soyuz/tests/test_distroseriesdifferencejob.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_distroseriesdifferencejob.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2011-2013 Canonical Ltd. This software is licensed under the
+# Copyright 2011-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test `DistroSeriesDifferenceJob` and utility."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from psycopg2 import ProgrammingError
@@ -174,8 +176,8 @@
sourcepackagenameid = spph.sourcepackagerelease.sourcepackagename.id
expected_metadata = {
- u'sourcepackagename': sourcepackagenameid,
- u'parent_series': dsp.parent_series.id}
+ 'sourcepackagename': sourcepackagenameid,
+ 'parent_series': dsp.parent_series.id}
self.assertThat(job, MatchesStructure.byEquality(
distribution=dsp.derived_series.distribution,
distroseries=dsp.derived_series,
@@ -202,7 +204,7 @@
self.assertContentEqual(
[spph.sourcepackagerelease.sourcepackagename.id
for spph in spphs],
- [job.metadata[u'sourcepackagename'] for job in jobs])
+ [job.metadata['sourcepackagename'] for job in jobs])
def test_create_multiple_jobs_creates_waiting_jobs(self):
dsp = self.factory.makeDistroSeriesParent()
=== modified file 'lib/lp/soyuz/tests/test_distroseriesqueue_ddtp_tarball.py'
--- lib/lp/soyuz/tests/test_distroseriesqueue_ddtp_tarball.py 2016-02-05 16:51:12 +0000
+++ lib/lp/soyuz/tests/test_distroseriesqueue_ddtp_tarball.py 2018-02-02 10:33:11 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2012-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test upload and queue manipulation of DDTP tarballs.
@@ -14,6 +14,8 @@
ddtp-tarball extraction.
"""
+from __future__ import absolute_import, print_function, unicode_literals
+
import os
import transaction
=== modified file 'lib/lp/soyuz/tests/test_distroseriesqueue_debian_installer.py'
--- lib/lp/soyuz/tests/test_distroseriesqueue_debian_installer.py 2016-02-05 16:51:12 +0000
+++ lib/lp/soyuz/tests/test_distroseriesqueue_debian_installer.py 2018-02-02 10:33:11 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2012-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test upload and queue manipulation of debian-installer custom uploads.
@@ -7,6 +7,8 @@
of debian-installer custom upload extraction.
"""
+from __future__ import absolute_import, print_function, unicode_literals
+
from itertools import chain
import os
=== modified file 'lib/lp/soyuz/tests/test_distroseriesqueue_dist_upgrader.py'
--- lib/lp/soyuz/tests/test_distroseriesqueue_dist_upgrader.py 2016-02-05 16:51:12 +0000
+++ lib/lp/soyuz/tests/test_distroseriesqueue_dist_upgrader.py 2018-02-02 10:33:11 +0000
@@ -1,4 +1,4 @@
-# Copyright 2012-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2012-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test upload and queue manipulation of dist-upgrader tarballs.
@@ -7,6 +7,8 @@
dist-upgrader tarball extraction.
"""
+from __future__ import absolute_import, print_function, unicode_literals
+
import os
import shutil
=== modified file 'lib/lp/soyuz/tests/test_distroseriesqueue_rosetta_translations.py'
--- lib/lp/soyuz/tests/test_distroseriesqueue_rosetta_translations.py 2014-04-24 06:45:51 +0000
+++ lib/lp/soyuz/tests/test_distroseriesqueue_rosetta_translations.py 2018-02-02 10:33:11 +0000
@@ -1,4 +1,4 @@
-# Copyright 2013 Canonical Ltd. This software is licensed under the
+# Copyright 2013-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test upload and queue manipulation of Rosetta Translations' tarballs.
@@ -7,10 +7,13 @@
tests of rosetta-translations handling.
"""
-import transaction
+from __future__ import absolute_import, print_function, unicode_literals
+
from os.path import relpath
+from tarfile import TarFile
+
from storm.expr import Desc
-from tarfile import TarFile
+import transaction
from zope.component import getUtility
from lp.archiveuploader.nascentupload import NascentUpload
@@ -36,10 +39,10 @@
from lp.testing.dbuser import dbuser
from lp.testing.gpgkeys import import_public_test_keys
from lp.testing.layers import LaunchpadZopelessLayer
+from lp.translations.enums import RosettaImportStatus
from lp.translations.interfaces.translationimportqueue import (
ITranslationImportQueue,
)
-from lp.translations.enums import RosettaImportStatus
from lp.translations.scripts.import_queue_gardener import ImportQueueGardener
from lp.translations.scripts.po_import import TranslationsImport
@@ -172,7 +175,7 @@
self.assertTrue(upload.do_accept())
self.assertEqual(upload.queue_root.status, PackageUploadStatus.DONE)
- spph = self.name16.archive.getPublishedSources(name=u"pmount").one()
+ spph = self.name16.archive.getPublishedSources(name="pmount").one()
self.assertIsNotNone(spph)
transaction.commit()
@@ -228,8 +231,7 @@
with dbuser('copy_packages'):
copy_job.run()
- published_source = target_archive.getPublishedSources(
- name=u'pmount')[0]
+ published_source = target_archive.getPublishedSources(name='pmount')[0]
self.assertIsNotNone(published_source)
self.assertEqual(
published_source.sourcepackagerelease.upload_archive.displayname,
=== modified file 'lib/lp/soyuz/tests/test_doc.py'
--- lib/lp/soyuz/tests/test_doc.py 2015-09-04 12:19:07 +0000
+++ lib/lp/soyuz/tests/test_doc.py 2018-02-02 10:33:11 +0000
@@ -1,10 +1,12 @@
-# Copyright 2009-2012 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""
Run the doctests and pagetests.
"""
+from __future__ import absolute_import, print_function, unicode_literals
+
import logging
import os
import unittest
=== modified file 'lib/lp/soyuz/tests/test_hasbuildrecords.py'
--- lib/lp/soyuz/tests/test_hasbuildrecords.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_hasbuildrecords.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2009-2017 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test implementations of the IHasBuildRecords interface."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from zope.component import getUtility
from zope.security.proxy import removeSecurityProxy
=== modified file 'lib/lp/soyuz/tests/test_initializedistroseriesjob.py'
--- lib/lp/soyuz/tests/test_initializedistroseriesjob.py 2015-04-20 15:59:52 +0000
+++ lib/lp/soyuz/tests/test_initializedistroseriesjob.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
import transaction
@@ -82,10 +84,10 @@
packageset2 = self.factory.makePackageset()
overlays = (True, False)
- overlay_pockets = (u'Updates', u'Release')
- overlay_components = (u"main", u"universe")
- arches = (u'i386', u'amd64')
- archindep_archtag = u'amd64'
+ overlay_pockets = ('Updates', 'Release')
+ overlay_components = ("main", "universe")
+ arches = ('i386', 'amd64')
+ archindep_archtag = 'amd64'
packagesets = (packageset1.id, packageset2.id)
rebuild = False
@@ -171,9 +173,9 @@
be gotten out again."""
parent = self.factory.makeDistroSeries()
distroseries = self.factory.makeDistroSeries()
- arches = (u'i386', u'amd64')
- archindep_archtag = u'amd64'
- packagesets = (u'1', u'2', u'3')
+ arches = ('i386', 'amd64')
+ archindep_archtag = 'amd64'
+ packagesets = ('1', '2', '3')
overlays = (True, )
overlay_pockets = ('Updates', )
overlay_components = ('restricted', )
@@ -251,7 +253,7 @@
version=packages[package],
status=PackagePublishingStatus.PUBLISHED)
test1 = getUtility(IPackagesetSet).new(
- u'test1', u'test 1 packageset', parent.owner,
+ 'test1', 'test 1 packageset', parent.owner,
distroseries=parent)
test1_packageset_id = str(test1.id)
test1.addSources('udev')
=== modified file 'lib/lp/soyuz/tests/test_livefs.py'
--- lib/lp/soyuz/tests/test_livefs.py 2017-07-18 16:22:03 +0000
+++ lib/lp/soyuz/tests/test_livefs.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2014-2017 Canonical Ltd. This software is licensed under the
+# Copyright 2014-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test live filesystems."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from datetime import (
@@ -81,7 +83,7 @@
def setUp(self):
super(TestLiveFS, self).setUp()
- self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: "on"}))
def test_implements_interfaces(self):
# LiveFS implements ILiveFS.
@@ -246,8 +248,8 @@
build.updateStatus(BuildStatus.FULLYBUILT)
build = livefs.requestBuild(
livefs.owner, livefs.distro_series.main_archive, distroarchseries,
- PackagePublishingPocket.RELEASE, version=u"20150101")
- self.assertEqual(u"20150101", build.version)
+ PackagePublishingPocket.RELEASE, version="20150101")
+ self.assertEqual("20150101", build.version)
def test_getBuilds(self):
# Test the various getBuilds methods.
@@ -302,13 +304,13 @@
distroseries = self.factory.makeDistroSeries()
livefs = self.factory.makeLiveFS(
registrant=owner, owner=owner, distroseries=distroseries,
- name=u"condemned")
+ name="condemned")
self.assertTrue(
- getUtility(ILiveFSSet).exists(owner, distroseries, u"condemned"))
+ getUtility(ILiveFSSet).exists(owner, distroseries, "condemned"))
with person_logged_in(livefs.owner):
livefs.destroySelf()
self.assertFalse(
- getUtility(ILiveFSSet).exists(owner, distroseries, u"condemned"))
+ getUtility(ILiveFSSet).exists(owner, distroseries, "condemned"))
def test_delete_with_builds(self):
# A live filesystem with builds cannot be deleted.
@@ -316,14 +318,14 @@
distroseries = self.factory.makeDistroSeries()
livefs = self.factory.makeLiveFS(
registrant=owner, owner=owner, distroseries=distroseries,
- name=u"condemned")
+ name="condemned")
self.factory.makeLiveFSBuild(livefs=livefs)
self.assertTrue(
- getUtility(ILiveFSSet).exists(owner, distroseries, u"condemned"))
+ getUtility(ILiveFSSet).exists(owner, distroseries, "condemned"))
with person_logged_in(livefs.owner):
self.assertRaises(CannotDeleteLiveFS, livefs.destroySelf)
self.assertTrue(
- getUtility(ILiveFSSet).exists(owner, distroseries, u"condemned"))
+ getUtility(ILiveFSSet).exists(owner, distroseries, "condemned"))
class TestLiveFSSet(TestCaseWithFactory):
@@ -332,7 +334,7 @@
def setUp(self):
super(TestLiveFSSet, self).setUp()
- self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: "on"}))
def test_class_implements_interfaces(self):
# The LiveFSSet class implements ILiveFSSet.
@@ -350,7 +352,7 @@
registrant=registrant,
owner=self.factory.makeTeam(owner=registrant),
distro_series=self.factory.makeDistroSeries(),
- name=self.factory.getUniqueString(u"livefs-name"),
+ name=self.factory.getUniqueString("livefs-name"),
metadata=metadata)
def test_creation(self):
@@ -380,7 +382,7 @@
livefs.owner, self.factory.makeDistroSeries(), livefs.name))
self.assertFalse(
getUtility(ILiveFSSet).exists(
- livefs.owner, livefs.distro_series, u"different"))
+ livefs.owner, livefs.distro_series, "different"))
def test_getByPerson(self):
# ILiveFSSet.getByPerson returns all LiveFSes with the given owner.
@@ -427,7 +429,7 @@
def setUp(self):
super(TestLiveFSWebservice, self).setUp()
- self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: "on"}))
self.person = self.factory.makePerson(displayname="Test Person")
self.webservice = webservice_for_person(
self.person, permission=OAuthPermission.WRITE_PUBLIC)
=== modified file 'lib/lp/soyuz/tests/test_livefsbuild.py'
--- lib/lp/soyuz/tests/test_livefsbuild.py 2016-08-12 12:56:41 +0000
+++ lib/lp/soyuz/tests/test_livefsbuild.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2014-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2014-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test live filesystem build features."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from datetime import (
@@ -90,7 +92,7 @@
def setUp(self):
super(TestLiveFSBuild, self).setUp()
- self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: "on"}))
self.build = self.factory.makeLiveFSBuild()
def test_implements_interfaces(self):
@@ -238,7 +240,7 @@
distroseries=distroseries, architecturetag="i386",
processor=processor)
build = self.factory.makeLiveFSBuild(
- name=u"livefs-1", requester=person, owner=person,
+ name="livefs-1", requester=person, owner=person,
distroarchseries=distroarchseries,
date_created=datetime(2014, 4, 25, 10, 38, 0, tzinfo=pytz.UTC),
status=BuildStatus.FAILEDTOBUILD,
@@ -291,7 +293,7 @@
def setUp(self):
super(TestLiveFSBuildSet, self).setUp()
- self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: "on"}))
def test_getByBuildFarmJob_works(self):
build = self.factory.makeLiveFSBuild()
@@ -323,7 +325,7 @@
def setUp(self):
super(TestLiveFSBuildWebservice, self).setUp()
- self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: "on"}))
self.person = self.factory.makePerson()
self.webservice = webservice_for_person(
self.person, permission=OAuthPermission.WRITE_PRIVATE)
@@ -336,7 +338,7 @@
def test_properties(self):
# The basic properties of a LiveFSBuild are sensible.
db_build = self.factory.makeLiveFSBuild(
- requester=self.person, unique_key=u"foo",
+ requester=self.person, unique_key="foo",
metadata_override={"image_format": "plain"},
date_created=datetime(2014, 4, 25, 10, 38, 0, tzinfo=pytz.UTC))
build_url = api_url(db_build)
=== modified file 'lib/lp/soyuz/tests/test_livefsbuildbehaviour.py'
--- lib/lp/soyuz/tests/test_livefsbuildbehaviour.py 2017-04-29 23:51:28 +0000
+++ lib/lp/soyuz/tests/test_livefsbuildbehaviour.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2014-2017 Canonical Ltd. This software is licensed under the
+# Copyright 2014-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test live filesystem build behaviour."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from datetime import datetime
@@ -63,7 +65,7 @@
def setUp(self):
super(TestLiveFSBuildBehaviourBase, self).setUp()
- self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: "on"}))
def makeJob(self, archive=None, pocket=PackagePublishingPocket.RELEASE,
**kwargs):
@@ -80,7 +82,7 @@
processor=processor)
build = self.factory.makeLiveFSBuild(
archive=archive, distroarchseries=distroarchseries, pocket=pocket,
- name=u"test-livefs", **kwargs)
+ name="test-livefs", **kwargs)
return IBuildFarmJobBehaviour(build)
@@ -256,13 +258,13 @@
"""Provide the common makeBuild method returning a queued build."""
def makeBuild(self):
- self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: "on"}))
build = self.factory.makeLiveFSBuild(status=BuildStatus.BUILDING)
build.queueBuild()
return build
def makeUnmodifiableBuild(self):
- self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: u"on"}))
+ self.useFixture(FeatureFixture({LIVEFS_FEATURE_FLAG: "on"}))
build = self.factory.makeLiveFSBuild(status=BuildStatus.BUILDING)
build.distro_series.status = SeriesStatus.OBSOLETE
build.queueBuild()
=== modified file 'lib/lp/soyuz/tests/test_packagecloner.py'
--- lib/lp/soyuz/tests/test_packagecloner.py 2015-05-18 22:56:02 +0000
+++ lib/lp/soyuz/tests/test_packagecloner.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2009-2011 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from zope.component import getUtility
=== modified file 'lib/lp/soyuz/tests/test_packagecopyjob.py'
--- lib/lp/soyuz/tests/test_packagecopyjob.py 2016-10-17 09:15:51 +0000
+++ lib/lp/soyuz/tests/test_packagecopyjob.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Tests for sync package jobs."""
+from __future__ import absolute_import, print_function, unicode_literals
+
import operator
from textwrap import dedent
@@ -507,7 +509,7 @@
job.run()
published_sources = job.target_archive.getPublishedSources(
- name=u"libc", version="2.8-1")
+ name="libc", version="2.8-1")
self.assertIsNot(None, published_sources.any())
# The copy should have sent an email too. (see
@@ -606,7 +608,7 @@
self.assertEqual(0, exit_code)
copied_source_package = archive2.getPublishedSources(
- name=u"libc", version="2.8-1", exact_match=True).first()
+ name="libc", version="2.8-1", exact_match=True).first()
self.assertIsNot(copied_source_package, None)
def test___repr__(self):
@@ -784,7 +786,7 @@
self.runJob(job)
new_spph = target_archive.getPublishedSources(
- name=u'libc', version='2.8-1').one()
+ name='libc', version='2.8-1').one()
self.assertEqual('restricted', new_spph.component.name)
self.assertEqual('games', new_spph.section.name)
@@ -795,7 +797,7 @@
# The binary has inherited its old primary component.
new_bpph = target_archive.getAllPublishedBinaries(
- name=u'copyme', version='2.8-1')[0]
+ name='copyme', version='2.8-1')[0]
self.assertEqual('multiverse', new_bpph.component.name)
def test_copying_to_ppa_archive(self):
@@ -828,7 +830,7 @@
self.assertEqual(JobStatus.COMPLETED, job.status)
new_publication = target_archive.getPublishedSources(
- name=u'libc', version='2.8-1').one()
+ name='libc', version='2.8-1').one()
self.assertEqual('main', new_publication.component.name)
self.assertEqual('web', new_publication.section.name)
@@ -878,7 +880,7 @@
# The copied source should have the manual overrides, not the
# original values.
new_publication = target_archive.getPublishedSources(
- name=u'copyme', version='2.8-1').one()
+ name='copyme', version='2.8-1').one()
self.assertEqual('restricted', new_publication.component.name)
self.assertEqual('editors', new_publication.section.name)
@@ -899,7 +901,7 @@
# There is no package of the same name already in the target
# archive.
- existing_sources = target_archive.getPublishedSources(name=u'copyme')
+ existing_sources = target_archive.getPublishedSources(name='copyme')
self.assertEqual(None, existing_sources.any())
# Now, run the copy job.
@@ -1020,7 +1022,7 @@
spph, archive, archive, requester=archive.owner)
self.runJob(job)
self.assertEqual(JobStatus.COMPLETED, job.status)
- published_sources = archive.getPublishedSources(name=u"copyme")
+ published_sources = archive.getPublishedSources(name="copyme")
self.assertIsNotNone(published_sources.any())
def test_copying_resurrects_deleted_package_primary_new(self):
@@ -1233,10 +1235,10 @@
# Make sure packages were actually copied. The source has the
# override that we gave to the PackageUpload, and its new
# binaries inherit its component.
- existing_sources = target_archive.getPublishedSources(name=u'copyme')
+ existing_sources = target_archive.getPublishedSources(name='copyme')
self.assertEqual('restricted', existing_sources.one().component.name)
existing_binaries = target_archive.getAllPublishedBinaries(
- name=u'copyme')
+ name='copyme')
self.assertEqual('restricted', existing_binaries[0].component.name)
# It would be nice to test emails in a separate test but it would
@@ -1311,7 +1313,7 @@
* closes: %s
-- Foo Bar <foo@xxxxxxxxxxx> Tue, 01 Jan 1970 01:50:41 +0000
- """ % (bug282.id, bug281.id, bug280.id))
+ """ % (bug282.id, bug281.id, bug280.id)).encode("UTF-8")
spr.changelog = self.factory.makeLibraryFileAlias(content=changelog)
spr.changelog_entry = "dummy"
self.layer.txn.commit() # Librarian.
@@ -1406,10 +1408,10 @@
# Make sure packages were actually copied.
copied_sources = target_archive.getPublishedSources(
- name=u"copyme", version="2.8-1")
+ name="copyme", version="2.8-1")
self.assertNotEqual(0, copied_sources.count())
copied_binaries = target_archive.getAllPublishedBinaries(
- name=u"copyme")
+ name="copyme")
self.assertNotEqual(0, copied_binaries.count())
# Check that files were unembargoed.
@@ -1525,7 +1527,7 @@
# Make sure packages were copied with the correct
# phased_update_percentage.
copied_binaries = archive.getAllPublishedBinaries(
- name=u"copyme", pocket=PackagePublishingPocket.UPDATES)
+ name="copyme", pocket=PackagePublishingPocket.UPDATES)
self.assertNotEqual(0, copied_binaries.count())
for binary in copied_binaries:
self.assertEqual(0, binary.phased_update_percentage)
@@ -1752,7 +1754,7 @@
transaction.commit()
published_sources = job.target_archive.getPublishedSources(
- name=u"libc", version="2.8-1")
+ name="libc", version="2.8-1")
self.assertIsNot(None, published_sources.any())
# The copy should have sent an email too. (see
@@ -1765,13 +1767,13 @@
# Accepting a suspended copy from the queue sends it back
# through celery.
source_pub = self.factory.makeSourcePackagePublishingHistory(
- component=u"main", status=PackagePublishingStatus.PUBLISHED)
+ component="main", status=PackagePublishingStatus.PUBLISHED)
target_series = self.factory.makeDistroSeries()
getUtility(ISourcePackageFormatSelectionSet).add(
target_series, SourcePackageFormat.FORMAT_1_0)
requester = self.factory.makePerson()
with person_logged_in(target_series.main_archive.owner):
- target_series.main_archive.newComponentUploader(requester, u"main")
+ target_series.main_archive.newComponentUploader(requester, "main")
job = getUtility(IPlainPackageCopyJobSource).create(
package_name=source_pub.source_package_name,
package_version=source_pub.source_package_version,
=== modified file 'lib/lp/soyuz/tests/test_packagediff.py'
--- lib/lp/soyuz/tests/test_packagediff.py 2015-12-02 10:57:23 +0000
+++ lib/lp/soyuz/tests/test_packagediff.py 2018-02-02 10:33:11 +0000
@@ -1,9 +1,9 @@
-# Copyright 2010-2015 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test source package diffs."""
-from __future__ import print_function
+from __future__ import absolute_import, print_function, unicode_literals
__metaclass__ = type
=== modified file 'lib/lp/soyuz/tests/test_packagediffjob.py'
--- lib/lp/soyuz/tests/test_packagediffjob.py 2015-06-05 21:24:50 +0000
+++ lib/lp/soyuz/tests/test_packagediffjob.py 2018-02-02 10:33:11 +0000
@@ -1,6 +1,8 @@
-# Copyright 2013 Canonical Ltd. This software is licensed under the
+# Copyright 2013-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from testtools.content import text_content
=== modified file 'lib/lp/soyuz/tests/test_packageset.py'
--- lib/lp/soyuz/tests/test_packageset.py 2018-01-02 10:54:31 +0000
+++ lib/lp/soyuz/tests/test_packageset.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2009-2014 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test Packageset features."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from zope.component import getUtility
from zope.security.interfaces import Unauthorized
@@ -268,7 +270,7 @@
status=SeriesStatus.EXPERIMENTAL)
self.person1 = self.factory.makePerson(
- name='hacker', displayname=u'Happy Hacker')
+ name='hacker', displayname='Happy Hacker')
self.packageset_set = getUtility(IPackagesetSet)
@@ -276,7 +278,7 @@
# If the package set is the only one in the group the result set
# returned by relatedSets() is empty.
packageset = self.packageset_set.new(
- u'kernel', u'Contains all OS kernel packages', self.person1,
+ 'kernel', 'Contains all OS kernel packages', self.person1,
self.distroseries_current)
self.assertEqual(packageset.relatedSets().count(), 0)
@@ -288,18 +290,18 @@
# The original package set.
pset1 = self.packageset_set.new(
- u'kernel', u'Contains all OS kernel packages', self.person1,
+ 'kernel', 'Contains all OS kernel packages', self.person1,
distroseries=self.distroseries_current)
# A related package set.
pset2 = self.packageset_set.new(
- u'kernel', u'A related package set.', self.person1,
+ 'kernel', 'A related package set.', self.person1,
distroseries=self.distroseries_experimental, related_set=pset1)
self.assertEqual(pset1.packagesetgroup, pset2.packagesetgroup)
# An unrelated package set with the same name.
pset3 = self.packageset_set.new(
- u'kernel', u'Unrelated package set.', self.person1,
+ 'kernel', 'Unrelated package set.', self.person1,
distroseries=self.distroseries_experimental2)
self.assertNotEqual(pset2.packagesetgroup, pset3.packagesetgroup)
@@ -320,12 +322,12 @@
def test_destroy(self):
series = self.factory.makeDistroSeries()
pset = self.packageset_set.new(
- u'kernel', u'Contains all OS kernel packages', self.person1,
+ 'kernel', 'Contains all OS kernel packages', self.person1,
series)
pset.destroySelf()
self.assertRaises(
NoSuchPackageSet, self.packageset_set.getByName, series,
- u'kernel')
+ 'kernel')
# Did we clean up the single packagesetgroup?
store = IStore(PackagesetGroup)
@@ -334,20 +336,20 @@
def test_destroy_with_ancestor(self):
ancestor = self.packageset_set.new(
- u'kernel', u'Contains all OS kernel packages', self.person1,
+ 'kernel', 'Contains all OS kernel packages', self.person1,
distroseries=self.distroseries_current)
pset = self.packageset_set.new(
- u'kernel', u'Contains all OS kernel packages', self.person1,
+ 'kernel', 'Contains all OS kernel packages', self.person1,
distroseries=self.distroseries_experimental, related_set=ancestor)
pset.destroySelf()
self.assertRaises(
NoSuchPackageSet, self.packageset_set.getByName,
- self.distroseries_experimental, u'kernel')
+ self.distroseries_experimental, 'kernel')
def test_destroy_with_packages(self):
series = self.factory.makeDistroSeries()
pset = self.packageset_set.new(
- u'kernel', u'Contains all OS kernel packages', self.person1,
+ 'kernel', 'Contains all OS kernel packages', self.person1,
series)
package = self.factory.makeSourcePackageName()
pset.addSources([package.name])
@@ -355,37 +357,37 @@
pset.destroySelf()
self.assertRaises(
NoSuchPackageSet, self.packageset_set.getByName, series,
- u'kernel')
+ 'kernel')
def test_destroy_child(self):
series = self.factory.makeDistroSeries()
parent = self.packageset_set.new(
- u'core', u'Contains all the important packages', self.person1,
+ 'core', 'Contains all the important packages', self.person1,
series)
child = self.packageset_set.new(
- u'kernel', u'Contains all OS kernel packages', self.person1,
+ 'kernel', 'Contains all OS kernel packages', self.person1,
series)
parent.add((child,))
child.destroySelf()
self.assertRaises(
NoSuchPackageSet, self.packageset_set.getByName, series,
- u'kernel')
+ 'kernel')
self.assertTrue(parent.setsIncluded(direct_inclusion=True).is_empty())
def test_destroy_parent(self):
series = self.factory.makeDistroSeries()
parent = self.packageset_set.new(
- u'core', u'Contains all the important packages', self.person1,
+ 'core', 'Contains all the important packages', self.person1,
series)
child = self.packageset_set.new(
- u'kernel', u'Contains all OS kernel packages', self.person1,
+ 'kernel', 'Contains all OS kernel packages', self.person1,
series)
parent.add((child,))
parent.destroySelf()
self.assertRaises(
- NoSuchPackageSet, self.packageset_set.getByName, series, u'core')
+ NoSuchPackageSet, self.packageset_set.getByName, series, 'core')
self.assertTrue(child.setsIncludedBy(direct_inclusion=True).is_empty())
def test_destroy_intermidate(self):
@@ -667,10 +669,10 @@
# Normal users may not modify packagesets
with person_logged_in(self.person2):
self.assertRaises(
- Unauthorized, setattr, self.packageset, 'name', u'renamed')
+ Unauthorized, setattr, self.packageset, 'name', 'renamed')
self.assertRaises(
Unauthorized, setattr, self.packageset, 'description',
- u'Re-described')
+ 'Re-described')
self.assertRaises(
Unauthorized, setattr, self.packageset, 'owner', self.person2)
self.assertRaises(
@@ -687,8 +689,8 @@
Unauthorized, getattr, self.packageset, 'removeSubsets')
def modifyPackageset(self):
- self.packageset.name = u'renamed'
- self.packageset.description = u'Re-described'
+ self.packageset.name = 'renamed'
+ self.packageset.description = 'Re-described'
self.packageset.add((self.package,))
self.packageset.remove((self.package,))
self.packageset.addSources((self.package.name,))
=== modified file 'lib/lp/soyuz/tests/test_packagetranslationsuploadjob.py'
--- lib/lp/soyuz/tests/test_packagetranslationsuploadjob.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_packagetranslationsuploadjob.py 2018-02-02 10:33:11 +0000
@@ -1,10 +1,12 @@
-# Copyright 2013 Canonical Ltd. This software is licensed under the
+# Copyright 2013-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
+from testtools.content import text_content
import transaction
-from testtools.content import text_content
from zope.component import getUtility
from zope.security.proxy import removeSecurityProxy
=== modified file 'lib/lp/soyuz/tests/test_packageupload.py'
--- lib/lp/soyuz/tests/test_packageupload.py 2017-06-13 12:19:20 +0000
+++ lib/lp/soyuz/tests/test_packageupload.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2009-2017 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test Build features."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from datetime import timedelta
from urllib2 import (
HTTPError,
@@ -316,7 +318,7 @@
# There are now duplicate uploads in UNAPPROVED.
unapproved = distroseries.getPackageUploads(
- status=PackageUploadStatus.UNAPPROVED, name=u"cnews")
+ status=PackageUploadStatus.UNAPPROVED, name="cnews")
self.assertEqual(2, unapproved.count())
# Accepting one of them works. (Since it's a single source upload,
@@ -806,13 +808,13 @@
def test_getAll_without_exact_match_escapes_name(self):
distroseries = self.factory.makeDistroSeries()
self.assertContentEqual(
- [], self.upload_set.getAll(distroseries, name=u"'"))
+ [], self.upload_set.getAll(distroseries, name="'"))
def test_getAll_with_exact_match_escapes_name(self):
distroseries = self.factory.makeDistroSeries()
self.assertContentEqual(
[], self.upload_set.getAll(
- distroseries, name=u"'", exact_match=True))
+ distroseries, name="'", exact_match=True))
def test_getAll_matches_source_upload_by_version(self):
distroseries = self.factory.makeDistroSeries()
=== modified file 'lib/lp/soyuz/tests/test_person_createppa.py'
--- lib/lp/soyuz/tests/test_person_createppa.py 2015-05-12 05:45:08 +0000
+++ lib/lp/soyuz/tests/test_person_createppa.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test the IPerson.createPPA() method."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from zope.security.interfaces import Unauthorized
=== modified file 'lib/lp/soyuz/tests/test_processacceptedbugsjob.py'
--- lib/lp/soyuz/tests/test_processacceptedbugsjob.py 2014-08-09 09:21:13 +0000
+++ lib/lp/soyuz/tests/test_processacceptedbugsjob.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2012-2014 Canonical Ltd. This software is licensed under the
+# Copyright 2012-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Tests for jobs to close bugs for accepted package uploads."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from cStringIO import StringIO
from itertools import product
from textwrap import dedent
@@ -169,7 +171,7 @@
bugs[3][0].id,
bugs[4][0].id,
bugs[5][0].id,
- ))
+ )).encode("UTF-8")
lfa = self.factory.makeLibraryFileAlias(content=changelog)
removeSecurityProxy(spr).changelog = lfa
self.layer.txn.commit()
=== modified file 'lib/lp/soyuz/tests/test_publishing.py'
--- lib/lp/soyuz/tests/test_publishing.py 2016-09-24 06:21:55 +0000
+++ lib/lp/soyuz/tests/test_publishing.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2009-2016 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test native publication workflow for Soyuz. """
+from __future__ import absolute_import, print_function, unicode_literals
+
import datetime
import operator
import os
@@ -154,7 +156,7 @@
self.breezy_autotest_i386 = self.breezy_autotest['i386']
self.breezy_autotest_hppa = self.breezy_autotest['hppa']
- def addMockFile(self, filename, filecontent='nothing', restricted=False):
+ def addMockFile(self, filename, filecontent=b'nothing', restricted=False):
"""Add a mock file in Librarian.
Returns a ILibraryFileAlias corresponding to the file uploaded.
@@ -167,7 +169,7 @@
def addPackageUpload(self, archive, distroseries,
pocket=PackagePublishingPocket.RELEASE,
changes_file_name="foo_666_source.changes",
- changes_file_content="fake changes file content",
+ changes_file_content=b"fake changes file content",
upload_status=PackageUploadStatus.DONE):
signing_key = self.person.gpg_keys[0]
package_upload = distroseries.createQueueEntry(
@@ -187,8 +189,8 @@
def getPubSource(self, sourcename=None, version=None, component='main',
filename=None, section='base',
- filecontent='I do not care about sources.',
- changes_file_content="Fake: fake changes file content",
+ filecontent=b'I do not care about sources.',
+ changes_file_content=b"Fake: fake changes file content",
status=PackagePublishingStatus.PENDING,
pocket=PackagePublishingPocket.RELEASE,
urgency=SourcePackageUrgency.LOW,
@@ -299,8 +301,8 @@
shlibdep=None, depends=None, recommends=None,
suggests=None, conflicts=None, replaces=None,
provides=None, pre_depends=None, enhances=None,
- breaks=None, filecontent='bbbiiinnnaaarrryyy',
- changes_file_content="Fake: fake changes file",
+ breaks=None, filecontent=b'bbbiiinnnaaarrryyy',
+ changes_file_content=b"Fake: fake changes file",
status=PackagePublishingStatus.PENDING,
pocket=PackagePublishingPocket.RELEASE,
format=BinaryPackageFormat.DEB,
@@ -376,7 +378,7 @@
published_binaries, key=operator.attrgetter('id'), reverse=True)
def uploadBinaryForBuild(
- self, build, binaryname, filecontent="anything",
+ self, build, binaryname, filecontent=b"anything",
summary="summary", description="description", shlibdep=None,
depends=None, recommends=None, suggests=None, conflicts=None,
replaces=None, provides=None, pre_depends=None, enhances=None,
@@ -448,7 +450,7 @@
if not build.log:
build.setLog(
self.addMockFile(
- buildlog_filename, filecontent='Built!',
+ buildlog_filename, filecontent=b'Built!',
restricted=build.archive.private))
return binarypackagerelease
@@ -674,7 +676,7 @@
def test_publish_source(self):
# Source publications result in a PUBLISHED publishing record and
# the corresponding files are dumped in the disk pool/.
- pub_source = self.getPubSource(filecontent='Hello world')
+ pub_source = self.getPubSource(filecontent=b'Hello world')
pub_source.publish(self.disk_pool, self.logger)
self.assertEqual(PackagePublishingStatus.PUBLISHED, pub_source.status)
pool_path = "%s/main/f/foo/foo_666.dsc" % self.pool_dir
@@ -683,7 +685,7 @@
def test_publish_binaries(self):
# Binary publications result in a PUBLISHED publishing record and
# the corresponding files are dumped in the disk pool/.
- pub_binary = self.getPubBinaries(filecontent='Hello world')[0]
+ pub_binary = self.getPubBinaries(filecontent=b'Hello world')[0]
pub_binary.publish(self.disk_pool, self.logger)
self.assertEqual(PackagePublishingStatus.PUBLISHED, pub_binary.status)
pool_path = "%s/main/f/foo/foo-bin_666_all.deb" % self.pool_dir
@@ -694,7 +696,7 @@
# Archive.publish_debug_symbols is false just sets PUBLISHED,
# without a file in the pool.
pubs = self.getPubBinaries(
- binaryname='dbg', filecontent='Hello world', with_debug=True)
+ binaryname='dbg', filecontent=b'Hello world', with_debug=True)
def publish_everything():
existence_map = {}
@@ -707,13 +709,13 @@
return existence_map
self.assertEqual(
- {u'dbg_666_all.deb': True, u'dbg-dbgsym_666_all.ddeb': False},
+ {'dbg_666_all.deb': True, 'dbg-dbgsym_666_all.ddeb': False},
publish_everything())
pubs[0].archive.publish_debug_symbols = True
self.assertEqual(
- {u'dbg_666_all.deb': True, u'dbg-dbgsym_666_all.ddeb': True},
+ {'dbg_666_all.deb': True, 'dbg-dbgsym_666_all.ddeb': True},
publish_everything())
def testPublishingOverwriteFileInPool(self):
@@ -730,7 +732,7 @@
with open(foo_dsc_path, 'w') as foo_dsc:
foo_dsc.write('Hello world')
- pub_source = self.getPubSource(filecontent="Something")
+ pub_source = self.getPubSource(filecontent=b"Something")
pub_source.publish(self.disk_pool, self.logger)
# And an oops should be filed for the error.
@@ -742,7 +744,7 @@
def testPublishingDifferentContents(self):
"""Test if publishOne refuses to overwrite its own publication."""
- pub_source = self.getPubSource(filecontent='foo is happy')
+ pub_source = self.getPubSource(filecontent=b'foo is happy')
pub_source.publish(self.disk_pool, self.logger)
self.layer.commit()
@@ -754,7 +756,7 @@
# try to publish 'foo' again with a different content, it
# raises internally and keeps the files with the original
# content.
- pub_source2 = self.getPubSource(filecontent='foo is depressing')
+ pub_source2 = self.getPubSource(filecontent=b'foo is depressing')
pub_source2.publish(self.disk_pool, self.logger)
self.layer.commit()
@@ -769,7 +771,7 @@
mark it as PUBLISHED.
"""
pub_source = self.getPubSource(
- sourcename='bar', filecontent='bar is good')
+ sourcename='bar', filecontent=b'bar is good')
pub_source.publish(self.disk_pool, self.logger)
self.layer.commit()
bar_name = "%s/main/b/bar/bar_666.dsc" % self.pool_dir
@@ -778,7 +780,7 @@
self.assertEqual(pub_source.status, PackagePublishingStatus.PUBLISHED)
pub_source2 = self.getPubSource(
- sourcename='bar', filecontent='bar is good')
+ sourcename='bar', filecontent=b'bar is good')
pub_source2.publish(self.disk_pool, self.logger)
self.layer.commit()
pub_source2.sync()
@@ -790,7 +792,7 @@
After check if the pool file contents as the same, it should
create a symlink in the new pointing to the original file.
"""
- content = 'am I a file or a symbolic link ?'
+ content = b'am I a file or a symbolic link ?'
# publish sim.dsc in main and re-publish in universe
pub_source = self.getPubSource(sourcename='sim', filecontent=content)
pub_source2 = self.getPubSource(
@@ -813,7 +815,7 @@
# remains pending.
pub_source3 = self.getPubSource(
sourcename='sim', component='restricted',
- filecontent='It is all my fault')
+ filecontent=b'It is all my fault')
pub_source3.publish(self.disk_pool, self.logger)
self.layer.commit()
@@ -832,7 +834,7 @@
test_disk_pool = DiskPool(test_pool_dir, test_temp_dir, self.logger)
pub_source = self.getPubSource(
- sourcename="foo", filecontent='Am I a PPA Record ?',
+ sourcename="foo", filecontent=b'Am I a PPA Record ?',
archive=cprov.archive)
pub_source.publish(test_disk_pool, self.logger)
self.layer.commit()
=== modified file 'lib/lp/soyuz/tests/test_publishing_models.py'
--- lib/lp/soyuz/tests/test_publishing_models.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_publishing_models.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2009-2015 Canonical Ltd. This software is licensed under the
+# Copyright 2009-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test model and set utilities used for publishing."""
+from __future__ import absolute_import, print_function, unicode_literals
+
from zope.component import getUtility
from zope.security.proxy import removeSecurityProxy
=== modified file 'lib/lp/soyuz/tests/test_sourcepackagerelease.py'
--- lib/lp/soyuz/tests/test_sourcepackagerelease.py 2018-01-02 16:10:26 +0000
+++ lib/lp/soyuz/tests/test_sourcepackagerelease.py 2018-02-02 10:33:11 +0000
@@ -2,11 +2,13 @@
# NOTE: The first line above must stay first; do not move the copyright
# notice to the top. See http://www.python.org/dev/peps/pep-0263/.
#
-# Copyright 2010-2011 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test SourcePackageRelease."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from textwrap import dedent
@@ -76,7 +78,7 @@
# that version and up to and including the context SPR.
changelog = self.factory.makeChangelog(
spn="foo", versions=["1.3", "1.2", "1.1", "1.0"])
- expected_changelog = dedent(u"""\
+ expected_changelog = dedent("""\
foo (1.3) unstable; urgency=low
* 1.3.
@@ -98,13 +100,13 @@
def test_aggregate_changelog_invalid_utf8(self):
# aggregate_changelog copes with invalid UTF-8.
- changelog_main = dedent(u"""\
+ changelog_main = dedent("""\
foo (1.0) unstable; urgency=low
* 1.0 (héllo).""").encode("ISO-8859-1")
changelog_trailer = (
- u" -- Føo Bær <foo@xxxxxxxxxxx> "
- u"Tue, 01 Jan 1970 01:50:41 +0000").encode("ISO-8859-1")
+ " -- Føo Bær <foo@xxxxxxxxxxx> "
+ "Tue, 01 Jan 1970 01:50:41 +0000").encode("ISO-8859-1")
changelog_text = changelog_main + b"\n\n" + changelog_trailer
changelog = self.factory.makeLibraryFileAlias(content=changelog_text)
spph = self.factory.makeSourcePackagePublishingHistory(
=== modified file 'lib/lp/soyuz/tests/test_vocabularies.py'
--- lib/lp/soyuz/tests/test_vocabularies.py 2014-08-08 17:27:07 +0000
+++ lib/lp/soyuz/tests/test_vocabularies.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2012-2014 Canonical Ltd. This software is licensed under the
+# Copyright 2012-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Test Soyuz vocabularies."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
from testtools.matchers import MatchesStructure
=== modified file 'lib/lp/soyuz/tests/test_yuitests.py'
--- lib/lp/soyuz/tests/test_yuitests.py 2012-01-01 02:58:52 +0000
+++ lib/lp/soyuz/tests/test_yuitests.py 2018-02-02 10:33:11 +0000
@@ -1,8 +1,10 @@
-# Copyright 2010 Canonical Ltd. This software is licensed under the
+# Copyright 2010-2018 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Run YUI.test tests."""
+from __future__ import absolute_import, print_function, unicode_literals
+
__metaclass__ = type
__all__ = []
Follow ups