From e6aa47e02a347cbc94433ac531236ba6d4db99a9 Mon Sep 17 00:00:00 2001 From: Chenxiong Qi Date: Aug 15 2019 13:14:02 +0000 Subject: Use set literal to create a set Signed-off-by: Chenxiong Qi --- diff --git a/conf/config.py b/conf/config.py index 9d65c35..f48fa17 100644 --- a/conf/config.py +++ b/conf/config.py @@ -57,7 +57,7 @@ class BaseConfiguration(object): MODULES_ALLOW_REPOSITORY = False MODULES_ALLOW_SCRATCH = False - ALLOWED_GROUPS = set(["packager"]) + ALLOWED_GROUPS = {"packager"} ALLOWED_GROUPS_TO_IMPORT_MODULE = set() @@ -118,7 +118,7 @@ class TestConfiguration(BaseConfiguration): AUTH_METHOD = "oidc" RESOLVER = "db" - ALLOWED_GROUPS_TO_IMPORT_MODULE = set(["mbs-import-module"]) + ALLOWED_GROUPS_TO_IMPORT_MODULE = {"mbs-import-module"} # Greenwave configuration GREENWAVE_URL = "https://greenwave.example.local/api/v1.0/" diff --git a/module_build_service/config.py b/module_build_service/config.py index 7cdbbf4..ceeaf3c 100644 --- a/module_build_service/config.py +++ b/module_build_service/config.py @@ -254,7 +254,7 @@ class Config(object): }, "allowed_groups": { "type": set, - "default": set(["packager"]), + "default": {"packager"}, "desc": "The set of groups allowed to submit builds.", }, "allowed_groups_to_import_module": { @@ -383,7 +383,7 @@ class Config(object): "no_auth": {"type": bool, "default": False, "desc": "Disable client authentication."}, "admin_groups": { "type": set, - "default": set([]), + "default": set(), "desc": "The set of groups allowed to manage MBS.", }, "yum_config_file": { diff --git a/module_build_service/mmd_resolver.py b/module_build_service/mmd_resolver.py index 1d0a8a1..e7ed3aa 100644 --- a/module_build_service/mmd_resolver.py +++ b/module_build_service/mmd_resolver.py @@ -460,7 +460,7 @@ class MMDResolver(object): elif len(requires) == 0: # Return early in case the requires is empty, because it basically means # the module has no buildrequires section. - return set([frozenset([s2nsvca(src)])]) + return {frozenset([s2nsvca(src)])} requires = requires[0] src_alternatives = alternatives[src] = collections.OrderedDict() diff --git a/module_build_service/utils/reuse.py b/module_build_service/utils/reuse.py index ab5681c..b51cf26 100644 --- a/module_build_service/utils/reuse.py +++ b/module_build_service/utils/reuse.py @@ -380,17 +380,17 @@ def get_reusable_component( if i == 0: continue - new_module_build_components.append(set([ + new_module_build_components.append({ (value.package, value.ref) for value in new_component_builds if value.batch == i + 1 - ])) + }) - previous_module_build_components.append(set([ + previous_module_build_components.append({ (value.package, value.ref) for value in prev_component_builds if value.batch == i + 1 - ])) + }) # If the previous batches don't have the same ordering and hashes, then the # component can't be reused diff --git a/module_build_service/utils/views.py b/module_build_service/utils/views.py index 2d7e768..11a631d 100644 --- a/module_build_service/utils/views.py +++ b/module_build_service/utils/views.py @@ -228,14 +228,14 @@ def filter_module_builds(flask_request): :return: flask_sqlalchemy.Pagination """ search_query = dict() - special_columns = set(( + special_columns = { "time_submitted", "time_modified", "time_completed", "state", "stream_version_lte", "virtual_stream", - )) + } columns = models.ModuleBuild.__table__.columns.keys() for key in set(request.args.keys()) - special_columns: # Only filter on valid database columns but skip columns that are treated specially or diff --git a/module_build_service/views.py b/module_build_service/views.py index af15b5e..15e8e28 100644 --- a/module_build_service/views.py +++ b/module_build_service/views.py @@ -340,7 +340,7 @@ class LogMessageAPI(MethodView): class BaseHandler(object): - valid_params = set([ + valid_params = { "branch", "buildrequire_overrides", "modulemd", @@ -352,7 +352,7 @@ class BaseHandler(object): "scmurl", "scratch", "srpms", - ]) + } def __init__(self, request, data=None): self.username, self.groups = module_build_service.auth.get_user(request) diff --git a/tests/test_auth.py b/tests/test_auth.py index 7689f87..f93353c 100644 --- a/tests/test_auth.py +++ b/tests/test_auth.py @@ -83,7 +83,7 @@ class TestAuthModule: module_build_service.auth.get_user(request) assert str(cm.value) == "OIDC token invalid or expired." - @pytest.mark.parametrize("allowed_users", (set(), set(["Joey Jo Jo Junior Shabadoo"]))) + @pytest.mark.parametrize("allowed_users", (set(), {"Joey Jo Jo Junior Shabadoo"})) @patch.object(mbs_config.Config, "allowed_users", new_callable=PropertyMock) @patch("module_build_service.auth._get_token_info") @patch("module_build_service.auth._get_user_info") @@ -261,7 +261,7 @@ class KerberosMockConfig(object): class TestAuthModuleKerberos: - @pytest.mark.parametrize("allowed_users", (set(), set(["mprahl"]))) + @pytest.mark.parametrize("allowed_users", (set(), {"mprahl"})) @patch("kerberos.authGSSServerInit", return_value=(kerberos.AUTH_GSS_COMPLETE, object())) @patch("kerberos.authGSSServerStep", return_value=kerberos.AUTH_GSS_COMPLETE) @patch("kerberos.authGSSServerResponse", return_value="STOKEN") diff --git a/tests/test_build/test_build.py b/tests/test_build/test_build.py index 16b5516..0833942 100644 --- a/tests/test_build/test_build.py +++ b/tests/test_build/test_build.py @@ -55,7 +55,7 @@ from tests import ( base_dir = dirname(dirname(__file__)) -user = ("Homer J. Simpson", set(["packager"])) +user = ("Homer J. Simpson", {"packager"}) class FakeSCM(object): @@ -145,7 +145,7 @@ class FakeModuleBuilder(GenericBuilder): def buildroot_connect(self, groups): default_groups = FakeModuleBuilder.DEFAULT_GROUPS or { - "srpm-build": set([ + "srpm-build": { "shadow-utils", "fedora-release", "redhat-rpm-config", @@ -153,8 +153,8 @@ class FakeModuleBuilder(GenericBuilder): "fedpkg-minimal", "gnupg2", "bash", - ]), - "build": set([ + }, + "build": { "unzip", "fedora-release", "tar", @@ -179,7 +179,7 @@ class FakeModuleBuilder(GenericBuilder): "rpm-build", "gzip", "gcc-c++", - ]), + }, } if groups != default_groups: raise ValueError("Wrong groups in FakeModuleBuilder.buildroot_connect()") @@ -371,7 +371,7 @@ class BaseTestBuild: @patch( "module_build_service.builder.GenericBuilder.default_buildroot_groups", return_value={ - "srpm-build": set([ + "srpm-build": { "shadow-utils", "fedora-release", "redhat-rpm-config", @@ -379,8 +379,8 @@ class BaseTestBuild: "fedpkg-minimal", "gnupg2", "bash", - ]), - "build": set([ + }, + "build": { "unzip", "fedora-release", "tar", @@ -405,7 +405,7 @@ class BaseTestBuild: "rpm-build", "gzip", "gcc-c++", - ]), + }, }, ) class TestBuild(BaseTestBuild): @@ -468,8 +468,8 @@ class TestBuild(BaseTestBuild): # Check that components are tagged after the batch is built. tag_groups = [ - set(["perl-Tangerine-1-1", "perl-List-Compare-1-1"]), - set(["tangerine-1-1"]), + {"perl-Tangerine-1-1", "perl-List-Compare-1-1"}, + {"tangerine-1-1"}, ] def on_finalize_cb(cls, succeeded): @@ -484,9 +484,9 @@ class TestBuild(BaseTestBuild): # Check that the components are added to buildroot after the batch # is built. buildroot_groups = [ - set(["module-build-macros-1-1"]), - set(["perl-Tangerine-1-1", "perl-List-Compare-1-1"]), - set(["tangerine-1-1"]), + {"module-build-macros-1-1"}, + {"perl-Tangerine-1-1", "perl-List-Compare-1-1"}, + {"tangerine-1-1"}, ] def on_buildroot_add_artifacts_cb(cls, artifacts, install): @@ -1010,11 +1010,11 @@ class TestBuild(BaseTestBuild): # Check that components are tagged after the batch is built. tag_groups = [] tag_groups.append( - set([ + { "perl-Tangerine-0.23-1.module+0+d027b723", "perl-List-Compare-0.53-5.module+0+d027b723", "tangerine-0.22-3.module+0+d027b723", - ]) + } ) def on_tag_artifacts_cb(cls, artifacts, dest_tag=True): @@ -1024,11 +1024,11 @@ class TestBuild(BaseTestBuild): FakeModuleBuilder.on_tag_artifacts_cb = on_tag_artifacts_cb buildtag_groups = [] - buildtag_groups.append(set([ + buildtag_groups.append({ "perl-Tangerine-0.23-1.module+0+d027b723", "perl-List-Compare-0.53-5.module+0+d027b723", "tangerine-0.22-3.module+0+d027b723", - ])) + }) def on_buildroot_add_artifacts_cb(cls, artifacts, install): assert buildtag_groups.pop(0) == set(artifacts) @@ -1089,11 +1089,11 @@ class TestBuild(BaseTestBuild): # Check that components are tagged after the batch is built. tag_groups = [] tag_groups.append( - set([ + { "perl-Tangerine-0.23-1.module+0+d027b723", "perl-List-Compare-0.53-5.module+0+d027b723", "tangerine-0.22-3.module+0+d027b723", - ]) + } ) def on_tag_artifacts_cb(cls, artifacts, dest_tag=True): @@ -1103,11 +1103,11 @@ class TestBuild(BaseTestBuild): FakeModuleBuilder.on_tag_artifacts_cb = on_tag_artifacts_cb buildtag_groups = [] - buildtag_groups.append(set([ + buildtag_groups.append({ "perl-Tangerine-0.23-1.module+0+d027b723", "perl-List-Compare-0.53-5.module+0+d027b723", "tangerine-0.22-3.module+0+d027b723", - ])) + }) def on_buildroot_add_artifacts_cb(cls, artifacts, install): assert buildtag_groups.pop(0) == set(artifacts) @@ -1728,7 +1728,7 @@ class TestBuild(BaseTestBuild): def on_buildroot_add_repos_cb(cls, dependencies): # Make sure that the metadata module is not present since it doesn't have a Koji tag - assert set(dependencies.keys()) == set(["module-f28-build"]) + assert set(dependencies.keys()) == {"module-f28-build"} FakeModuleBuilder.on_buildroot_add_repos_cb = on_buildroot_add_repos_cb self.run_scheduler(db_session) @@ -1794,7 +1794,7 @@ class TestLocalBuild(BaseTestBuild): # Local base-runtime has changed profiles, so we can detect we use # the local one and not the main one. - FakeModuleBuilder.DEFAULT_GROUPS = {"srpm-build": set(["bar"]), "build": set(["foo"])} + FakeModuleBuilder.DEFAULT_GROUPS = {"srpm-build": {"bar"}, "build": {"foo"}} self.run_scheduler(db_session) diff --git a/tests/test_builder/test_koji.py b/tests/test_builder/test_koji.py index 4d17d61..1d9d167 100644 --- a/tests/test_builder/test_koji.py +++ b/tests/test_builder/test_koji.py @@ -597,8 +597,8 @@ class TestKojiBuilder: session = builder.koji_session groups = OrderedDict() - groups["build"] = set(["unzip"]) - groups["srpm-build"] = set(["fedora-release"]) + groups["build"] = {"unzip"} + groups["srpm-build"] = {"fedora-release"} builder.buildroot_connect(groups) if custom_whitelist: @@ -680,8 +680,8 @@ class TestKojiBuilder: FakeKojiModuleBuilder.tags = {} groups = OrderedDict() - groups["build"] = set(["unzip"]) - groups["srpm-build"] = set(["fedora-release"]) + groups["build"] = {"unzip"} + groups["srpm-build"] = {"fedora-release"} builder.buildroot_connect(groups) if blocklist: @@ -714,8 +714,8 @@ class TestKojiBuilder: session.getBuildTarget.return_value = {} groups = OrderedDict() - groups["build"] = set(["unzip"]) - groups["srpm-build"] = set(["fedora-release"]) + groups["build"] = {"unzip"} + groups["srpm-build"] = {"fedora-release"} builder.buildroot_connect(groups) if scratch: @@ -780,7 +780,7 @@ class TestKojiBuilder: db_session.commit() ret = KojiModuleBuilder.get_built_rpms_in_module_build(mmd) - assert set(ret) == set(["bar-2:1.30-4.el8+1308+551bfa71", "tar-2:1.30-4.el8+1308+551bfa71"]) + assert set(ret) == {"bar-2:1.30-4.el8+1308+551bfa71", "tar-2:1.30-4.el8+1308+551bfa71"} session.assert_not_called() @pytest.mark.usefixtures("reuse_component_init_data") diff --git a/tests/test_builder/test_mock.py b/tests/test_builder/test_mock.py index fbd9717..d2a128e 100644 --- a/tests/test_builder/test_mock.py +++ b/tests/test_builder/test_mock.py @@ -228,4 +228,4 @@ class TestMockModuleBuilderAddRepos: assert "repofile 2" in builder.yum_conf assert "repofile 3" in builder.yum_conf - assert set(builder.enabled_modules) == set(["foo:1", "app:1"]) + assert set(builder.enabled_modules) == {"foo:1", "app:1"} diff --git a/tests/test_content_generator.py b/tests/test_content_generator.py index 1ed72b0..245d2ab 100644 --- a/tests/test_content_generator.py +++ b/tests/test_content_generator.py @@ -609,19 +609,19 @@ class TestBuild: if not devel: # Only x86_64 packages should be filled in, because we requested x86_64 arch. - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "dhcp-12:4.3.5-5.module_2118aef6.src", "dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", "perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", - ]) + } else: # The i686 packages are filtered out in normal packages, because multilib # is not enabled for them - therefore we want to include them in -devel. - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "dhcp-libs-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine-12:4.3.5-5.module_2118aef6.i686", - ]) + } def test_fill_in_rpms_exclusivearch(self): self._add_test_rpm( @@ -646,8 +646,10 @@ class TestBuild: # Only dhcp-libs should be filled in, because perl-Tangerine has different # exclusivearch. - assert set(mmd.get_rpm_artifacts()) == set( - ["dhcp-12:4.3.5-5.module_2118aef6.src", "dhcp-libs-12:4.3.5-5.module_2118aef6.noarch"]) + assert set(mmd.get_rpm_artifacts()) == { + "dhcp-12:4.3.5-5.module_2118aef6.src", + "dhcp-libs-12:4.3.5-5.module_2118aef6.noarch" + } def test_fill_in_rpms_excludearch(self): self._add_test_rpm( @@ -671,10 +673,10 @@ class TestBuild: mmd = self.cg._fill_in_rpms_list(mmd, "x86_64") # Only perl-Tangerine should be filled in, because dhcp-libs is excluded from x86_64. - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine-12:4.3.5-5.module_2118aef6.noarch", - ]) + } @pytest.mark.parametrize("devel", (False, True)) def test_fill_in_rpms_rpm_whitelist(self, devel): @@ -722,17 +724,17 @@ class TestBuild: if not devel: # Only x86_64 dhcp-libs should be filled in, because only python27-dhcp is whitelisted # srpm name. - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "python27-dhcp-12:4.3.5-5.module_2118aef6.src", "python27-dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", - ]) + } else: - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "python27-dhcp-libs-12:4.3.5-5.module_2118aef6.i686", "foo-perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "foo-perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", "foo-perl-Tangerine-12:4.3.5-5.module_2118aef6.i686", - ]) + } @pytest.mark.parametrize("devel", (False, True)) def test_fill_in_rpms_list_filters(self, devel): @@ -797,14 +799,14 @@ class TestBuild: if not devel: # Only x86_64 perl-Tangerine should be filled in, because dhcp-libs is filtered out. - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", "perl-Tangerine-debuginfo-12:4.3.5-5.module_2118aef6.x86_64", "perl-Tangerine-debugsource-12:4.3.5-5.module_2118aef6.x86_64", - ]) + } else: - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "dhcp-12:4.3.5-5.module_2118aef6.src", "dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", "dhcp-libs-debuginfo-12:4.3.5-5.module_2118aef6.x86_64", @@ -815,7 +817,7 @@ class TestBuild: "perl-Tangerine-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine-debuginfo-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine-debugsource-12:4.3.5-5.module_2118aef6.i686", - ]) + } @pytest.mark.parametrize("devel", (False, True)) def test_fill_in_rpms_list_multilib(self, devel): @@ -857,16 +859,17 @@ class TestBuild: if not devel: # Only i686 package for dhcp-libs should be added, because perl-Tangerine does not have # multilib set. - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "dhcp-libs-12:4.3.5-5.module_2118aef6.src", "dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", "dhcp-libs-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", - ]) + } else: - assert set(mmd.get_rpm_artifacts()) == set( - ["perl-Tangerine-12:4.3.5-5.module_2118aef6.i686"]) + assert set(mmd.get_rpm_artifacts()) == { + "perl-Tangerine-12:4.3.5-5.module_2118aef6.i686" + } @pytest.mark.parametrize( "licenses, expected", @@ -925,12 +928,12 @@ class TestBuild: if not devel: # Only i686 package for dhcp-libs should be added, because perl-Tangerine does not have # multilib set. The "dhcp" SRPM should be also included. - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "dhcp-libs-12:4.3.5-5.module_2118aef6.noarch", "dhcp-12:4.3.5-5.module_2118aef6.src", - ]) + } else: - assert set(mmd.get_rpm_artifacts()) == set([]) + assert set(mmd.get_rpm_artifacts()) == set() def test_sanitize_mmd(self): mmd = self.cg.module.mmd() @@ -1017,11 +1020,12 @@ class TestBuild: mmd = self.cg.module.mmd() mmd = self.cg._fill_in_rpms_list(mmd, "x86_64") - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { 'python-pymongo-debuginfo-3.6.1-9.module+f29.1.0+2993+d789589b.x86_64', 'python3-pymongo-debuginfo-3.6.1-9.module+f29.1.0+2993+d789589b.x86_64', 'python-pymongo-3.6.1-9.module+f29.1.0+2993+d789589b.src', - 'python3-pymongo-3.6.1-9.module+f29.1.0+2993+d789589b.x86_64']) + 'python3-pymongo-3.6.1-9.module+f29.1.0+2993+d789589b.x86_64' + } def test_fill_in_rpms_list_debuginfo_deps_psycopg2(self): """ @@ -1064,7 +1068,7 @@ class TestBuild: mmd = self.cg.module.mmd() mmd = self.cg._fill_in_rpms_list(mmd, "x86_64") - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "python2-psycopg2-debuginfo-2.7.5-7.module+f29.0.0+2961+596d0223.x86_64", "python2-psycopg2-debug-debuginfo-2.7.5-7.module+f29.0.0+2961+596d0223.x86_64", "python-psycopg2-debugsource-2.7.5-7.module+f29.0.0+2961+596d0223.x86_64", @@ -1072,7 +1076,8 @@ class TestBuild: "python2-psycopg2-tests-2.7.5-7.module+f29.0.0+2961+596d0223.x86_64", "python2-psycopg2-debug-2.7.5-7.module+f29.0.0+2961+596d0223.x86_64", "python2-psycopg2-2.7.5-7.module+f29.0.0+2961+596d0223.x86_64", - "python-psycopg2-2.7.5-7.module+f29.0.0+2961+596d0223.src"]) + "python-psycopg2-2.7.5-7.module+f29.0.0+2961+596d0223.src" + } def test_fill_in_rpms_list_debugsource_for_non_srpm(self): self._add_test_rpm( @@ -1090,10 +1095,11 @@ class TestBuild: mmd = self.cg.module.mmd() mmd = self.cg._fill_in_rpms_list(mmd, "x86_64") - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "python2-psycopg2-debugsource-2.7.5-7.module+f29.0.0+2961+596d0223.x86_64", "python2-psycopg2-2.7.5-7.module+f29.0.0+2961+596d0223.x86_64", - "python-psycopg2-2.7.5-7.module+f29.0.0+2961+596d0223.src"]) + "python-psycopg2-2.7.5-7.module+f29.0.0+2961+596d0223.src" + } def test_fill_in_rpms_list_debuginfo_deps_glibc(self): self._add_test_rpm( @@ -1119,12 +1125,13 @@ class TestBuild: mmd = self.cg.module.mmd() mmd = self.cg._fill_in_rpms_list(mmd, "x86_64") - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "glibc-common-2.29.9000-16.fc31.x86_64", "glibc-2.29.9000-16.fc31.src", "glibc-2.29.9000-16.fc31.x86_64", "glibc-debuginfo-common-2.29.9000-16.fc31.x86_64", - "glibc-debuginfo-2.29.9000-16.fc31.x86_64"]) + "glibc-debuginfo-2.29.9000-16.fc31.x86_64" + } def test_fill_in_rpms_list_debuginfo_deps_kernel(self): self._add_test_rpm( @@ -1146,11 +1153,12 @@ class TestBuild: mmd = self.cg.module.mmd() mmd = self.cg._fill_in_rpms_list(mmd, "aarch64") - assert set(mmd.get_rpm_artifacts()) == set([ + assert set(mmd.get_rpm_artifacts()) == { "kernel-debuginfo-common-aarch64-5.0.9-301.fc30.aarch64", "kernel-5.0.9-301.fc30.src", "kernel-debuginfo-5.0.9-301.fc30.aarch64", - "kernel-5.0.9-301.fc30.aarch64"]) + "kernel-5.0.9-301.fc30.aarch64" + } def test_fill_in_rpms_list_debugsource_not_included(self): self._add_test_rpm( @@ -1171,4 +1179,4 @@ class TestBuild: mmd.add_rpm_filter("python2-psycopg2") mmd = self.cg._fill_in_rpms_list(mmd, "x86_64") - assert set(mmd.get_rpm_artifacts()) == set([]) + assert set(mmd.get_rpm_artifacts()) == set() diff --git a/tests/test_mmd_resolver.py b/tests/test_mmd_resolver.py index 508c0b0..98c8c8c 100644 --- a/tests/test_mmd_resolver.py +++ b/tests/test_mmd_resolver.py @@ -371,10 +371,10 @@ class TestMMDResolver: expanded = self.mmd_resolver.solve(app) # Build only against f28 and f29, because "gtk:3" is not built against f30. - expected = set([ + expected = { frozenset(["gtk:3:0:c8:x86_64", "app:1:0:0:src", "platform:f28:0:c0:x86_64"]), frozenset(["gtk:3:0:c9:x86_64", "app:1:0:0:src", "platform:f29:0:c0:x86_64"]), - ]) + } assert expanded == expected @@ -395,8 +395,8 @@ class TestMMDResolver: app = self._make_mmd("app:1:0", {"platform": ["f28"], "foo": ["1"]}) expanded = self.mmd_resolver.solve(app) - expected = set([ + expected = { frozenset(["foo:1:0:c8:x86_64", "app:1:0:0:src", "platform:f28:0:c0:x86_64"]), - ]) + } assert expanded == expected diff --git a/tests/test_models/test_models.py b/tests/test_models/test_models.py index 0699953..3d6de27 100644 --- a/tests/test_models/test_models.py +++ b/tests/test_models/test_models.py @@ -142,12 +142,12 @@ class TestModelsGetStreamsContexts: def test_get_last_builds_in_stream_version_lte(self, db_session): init_data_contexts(1, multiple_stream_versions=True) builds = ModuleBuild.get_last_builds_in_stream_version_lte(db_session, "platform", 290100) - builds = set([ + builds = { "%s:%s:%s:%s" % (build.name, build.stream, str(build.version), build.context) for build in builds - ]) + } db_session.commit() - assert builds == set(["platform:f29.0.0:3:00000000", "platform:f29.1.0:3:00000000"]) + assert builds == {"platform:f29.0.0:3:00000000", "platform:f29.1.0:3:00000000"} def test_get_last_builds_in_stream_version_lte_different_versions(self, db_session): """ @@ -180,16 +180,16 @@ class TestModelsGetStreamsContexts: builds = ModuleBuild.get_last_builds_in_stream_version_lte( db_session, "platform", 290200) - builds = set([ + builds = { "%s:%s:%s:%s" % (build.name, build.stream, str(build.version), build.context) for build in builds - ]) + } db_session.commit() - assert builds == set([ + assert builds == { "platform:f29.1.0:15:c11", "platform:f29.1.0:15:c11.another", "platform:f29.2.0:1:c11", - ]) + } def test_get_module_count(self, db_session): clean_database(False) diff --git a/tests/test_resolver/test_db.py b/tests/test_resolver/test_db.py index f0efd95..b0500ac 100644 --- a/tests/test_resolver/test_db.py +++ b/tests/test_resolver/test_db.py @@ -68,8 +68,8 @@ class TestDBModule: resolver = mbs_resolver.GenericResolver.create(db_session, tests.conf, backend="db") result = resolver.get_buildrequired_modulemds("testmodule", "master", platform_nsvc) - nsvcs = set([m.get_nsvc() for m in result]) - assert nsvcs == set(["testmodule:master:20170109091357:123"]) + nsvcs = {m.get_nsvc() for m in result} + assert nsvcs == {"testmodule:master:20170109091357:123"} @pytest.mark.parametrize("stream_versions", [False, True]) def test_get_compatible_base_module_modulemds_stream_versions( @@ -80,19 +80,22 @@ class TestDBModule: result = resolver.get_compatible_base_module_modulemds( "platform", "f29.1.0", stream_version_lte=stream_versions, virtual_streams=["f29"], states=[models.BUILD_STATES["ready"]]) - nsvcs = set([mmd.get_nsvc() for mmd in result]) + nsvcs = {mmd.get_nsvc() for mmd in result} if stream_versions: - assert nsvcs == set(["platform:f29.1.0:3:00000000", "platform:f29.0.0:3:00000000"]) + assert nsvcs == {"platform:f29.1.0:3:00000000", "platform:f29.0.0:3:00000000"} else: - assert nsvcs == set(["platform:f29.1.0:3:00000000", "platform:f29.0.0:3:00000000", - "platform:f29.2.0:3:00000000"]) + assert nsvcs == { + "platform:f29.1.0:3:00000000", + "platform:f29.0.0:3:00000000", + "platform:f29.2.0:3:00000000" + } @pytest.mark.parametrize("empty_buildrequires", [False, True]) def test_get_module_build_dependencies(self, empty_buildrequires, db_session): """ Tests that the buildrequires of testmodule are returned """ - expected = set(["module-f28-build"]) + expected = {"module-f28-build"} module = models.ModuleBuild.get_by_id(db_session, 2) if empty_buildrequires: expected = set() @@ -141,7 +144,7 @@ class TestDBModule: resolver = mbs_resolver.GenericResolver.create(db_session, tests.conf, backend="db") result = resolver.get_module_build_dependencies( "testmodule2", "master", "20180123171545", "c40c156c").keys() - assert set(result) == set(["module-f28-build"]) + assert set(result) == {"module-f28-build"} @patch( "module_build_service.config.Config.system", new_callable=PropertyMock, return_value="test" @@ -193,7 +196,7 @@ class TestDBModule: resolver = mbs_resolver.GenericResolver.create(db_session, tests.conf, backend="db") result = resolver.resolve_profiles(mmd, ("buildroot", "srpm-buildroot")) expected = { - "buildroot": set([ + "buildroot": { "unzip", "tar", "cpio", @@ -218,8 +221,8 @@ class TestDBModule: "rpm-build", "gzip", "gcc-c++", - ]), - "srpm-buildroot": set([ + }, + "srpm-buildroot": { "shadow-utils", "redhat-rpm-config", "rpm-build", @@ -227,7 +230,7 @@ class TestDBModule: "fedpkg-minimal", "gnupg2", "bash", - ]), + }, } assert result == expected @@ -247,7 +250,7 @@ class TestDBModule: mmd = models.ModuleBuild.get_by_id(db_session, 2).mmd() resolver = mbs_resolver.GenericResolver.create(db_session, tests.conf, backend="mbs") result = resolver.resolve_profiles(mmd, ("buildroot", "srpm-buildroot")) - expected = {"buildroot": set(["foo"]), "srpm-buildroot": set(["bar"])} + expected = {"buildroot": {"foo"}, "srpm-buildroot": {"bar"}} assert result == expected def test_get_latest_with_virtual_stream(self, db_session): diff --git a/tests/test_resolver/test_local.py b/tests/test_resolver/test_local.py index 56b7e49..f804523 100644 --- a/tests/test_resolver/test_local.py +++ b/tests/test_resolver/test_local.py @@ -63,6 +63,8 @@ class TestLocalResolverModule: resolver = mbs_resolver.GenericResolver.create(db_session, tests.conf, backend="local") result = resolver.get_buildrequired_modulemds( "testmodule", "master", platform_f8.mmd().get_nsvc()) - nsvcs = set([m.get_nsvc() for m in result]) - assert nsvcs == set( - ["testmodule:master:20170109091357:9c690d0e", "testmodule:master:20170109091357:123"]) + nsvcs = {m.get_nsvc() for m in result} + assert nsvcs == { + "testmodule:master:20170109091357:9c690d0e", + "testmodule:master:20170109091357:123" + } diff --git a/tests/test_resolver/test_mbs.py b/tests/test_resolver/test_mbs.py index 9cdf44e..eb25617 100644 --- a/tests/test_resolver/test_mbs.py +++ b/tests/test_resolver/test_mbs.py @@ -52,11 +52,8 @@ class TestMBSModule: module_mmds = resolver.get_module_modulemds( "testmodule", "master", "20180205135154", "9c690d0e", virtual_streams=["f28"] ) - nsvcs = set( - m.get_nsvc() - for m in module_mmds - ) - expected = set(["testmodule:master:20180205135154:9c690d0e"]) + nsvcs = set(m.get_nsvc() for m in module_mmds) + expected = {"testmodule:master:20180205135154:9c690d0e"} mbs_url = tests.conf.mbs_url expected_query = { "name": "testmodule", @@ -106,14 +103,11 @@ class TestMBSModule: mock_session.get.return_value = mock_res resolver = mbs_resolver.GenericResolver.create(db_session, tests.conf, backend="mbs") ret = resolver.get_module_modulemds("testmodule", "master", version) - nsvcs = set( - m.get_nsvc() - for m in ret - ) - expected = set([ + nsvcs = set(m.get_nsvc() for m in ret) + expected = { "testmodule:master:20180205135154:9c690d0e", "testmodule:master:20180205135154:c2c572ed", - ]) + } mbs_url = tests.conf.mbs_url expected_query = { "name": "testmodule", @@ -166,7 +160,7 @@ class TestMBSModule: ] mock_session.get.return_value = mock_res - expected = set(["module-f28-build"]) + expected = {"module-f28-build"} resolver = mbs_resolver.GenericResolver.create(db_session, tests.conf, backend="mbs") result = resolver.get_module_build_dependencies( "testmodule", "master", "20180205135154", "9c690d0e").keys() @@ -285,7 +279,7 @@ class TestMBSModule: formatted_testmodule_mmd, ("buildroot", "srpm-buildroot") ) expected = { - "buildroot": set([ + "buildroot": { "unzip", "tar", "cpio", @@ -310,8 +304,8 @@ class TestMBSModule: "rpm-build", "gzip", "gcc-c++", - ]), - "srpm-buildroot": set([ + }, + "srpm-buildroot": { "shadow-utils", "redhat-rpm-config", "rpm-build", @@ -319,7 +313,7 @@ class TestMBSModule: "fedpkg-minimal", "gnupg2", "bash", - ]), + }, } mbs_url = tests.conf.mbs_url @@ -356,7 +350,7 @@ class TestMBSModule: resolver = mbs_resolver.GenericResolver.create(db_session, tests.conf, backend="mbs") result = resolver.resolve_profiles( formatted_testmodule_mmd, ("buildroot", "srpm-buildroot")) - expected = {"buildroot": set(["foo"]), "srpm-buildroot": set(["bar"])} + expected = {"buildroot": {"foo"}, "srpm-buildroot": {"bar"}} assert result == expected @patch("module_build_service.resolver.MBSResolver.requests_session") diff --git a/tests/test_scheduler/test_default_modules.py b/tests/test_scheduler/test_default_modules.py index 31ee0c6..14e7a56 100644 --- a/tests/test_scheduler/test_default_modules.py +++ b/tests/test_scheduler/test_default_modules.py @@ -181,11 +181,11 @@ def test_handle_collisions(mock_grft, mock_get_session): mock_get_session.assert_called_once() xmd_mbs = mmd.get_xmd()["mbs"] - assert set(xmd_mbs["ursine_rpms"]) == set([ + assert set(xmd_mbs["ursine_rpms"]) == { "bash-0:4.4.19-7.el8.aarch64", "python2-tools-0:2.7.16-11.el8.aarch64", "python2-tools-0:2.7.16-11.el8.x86_64", - ]) + } mock_grft.mock_calls == [ call( mock_get_session.return_value, diff --git a/tests/test_scheduler/test_poller.py b/tests/test_scheduler/test_poller.py index ab667d2..d41f0f4 100644 --- a/tests/test_scheduler/test_poller.py +++ b/tests/test_scheduler/test_poller.py @@ -732,7 +732,7 @@ class TestPoller: if greenwave_result: assert len(modules) == 2 - assert set([m.id for m in modules]) == {1, 2} + assert {m.id for m in modules} == {1, 2} else: assert len(modules) == 1 assert modules[0].id == 1 diff --git a/tests/test_utils/test_utils.py b/tests/test_utils/test_utils.py index fd11623..ffdc037 100644 --- a/tests/test_utils/test_utils.py +++ b/tests/test_utils/test_utils.py @@ -576,7 +576,7 @@ class TestUtils: build.arches = [] module_build_service.utils.record_module_build_arches(build.mmd(), build, db_session) - arches = set([arch.name for arch in build.arches]) + arches = {arch.name for arch in build.arches} assert arches == set(get_build_arches.return_value) @pytest.mark.parametrize( @@ -1511,7 +1511,7 @@ class TestOfflineLocalBuilds: } } - assert set(mmd.get_profile_names()) == set(["buildroot", "srpm-buildroot"]) + assert set(mmd.get_profile_names()) == {"buildroot", "srpm-buildroot"} @patch("module_build_service.utils.general.open", create=True, new_callable=mock.mock_open) def test_import_builds_from_local_dnf_repos(self, patched_open, db_session): diff --git a/tests/test_utils/test_utils_mse.py b/tests/test_utils/test_utils_mse.py index de16062..0848920 100644 --- a/tests/test_utils/test_utils_mse.py +++ b/tests/test_utils/test_utils_mse.py @@ -85,8 +85,8 @@ class TestUtilsModuleStreamExpansion: db_session=db_session) mmds = module_build_service.utils.generate_expanded_mmds( db_session, module_build.mmd()) - contexts = set([mmd.get_context() for mmd in mmds]) - assert set(["e1e005fb", "ce132a1e"]) == contexts + contexts = {mmd.get_context() for mmd in mmds} + assert {"e1e005fb", "ce132a1e"} == contexts @pytest.mark.parametrize( "module_deps,stream_ambigous,expected_xmd,expected_buildrequires", @@ -97,13 +97,11 @@ class TestUtilsModuleStreamExpansion: "buildrequires": {"platform": ["f28"], "gtk": ["1", "2"]}, }], True, - set( - [ - frozenset(["platform:f28:0:c10", "gtk:2:0:c4"]), - frozenset(["platform:f28:0:c10", "gtk:1:0:c2"]), - ] - ), - set([frozenset(["gtk:1", "platform:f28"]), frozenset(["gtk:2", "platform:f28"])]), + { + frozenset(["platform:f28:0:c10", "gtk:2:0:c4"]), + frozenset(["platform:f28:0:c10", "gtk:1:0:c2"]) + }, + {frozenset(["gtk:1", "platform:f28"]), frozenset(["gtk:2", "platform:f28"])}, ), ( [{ @@ -111,18 +109,14 @@ class TestUtilsModuleStreamExpansion: "buildrequires": {"platform": ["f28"], "foo": ["1"], "gtk": ["1", "2"]}, }], True, - set( - [ - frozenset(["foo:1:0:c2", "gtk:1:0:c2", "platform:f28:0:c10"]), - frozenset(["foo:1:0:c2", "gtk:2:0:c4", "platform:f28:0:c10"]), - ] - ), - set( - [ - frozenset(["foo:1", "gtk:1", "platform:f28"]), - frozenset(["foo:1", "gtk:2", "platform:f28"]), - ] - ), + { + frozenset(["foo:1:0:c2", "gtk:1:0:c2", "platform:f28:0:c10"]), + frozenset(["foo:1:0:c2", "gtk:2:0:c4", "platform:f28:0:c10"]), + }, + { + frozenset(["foo:1", "gtk:1", "platform:f28"]), + frozenset(["foo:1", "gtk:2", "platform:f28"]), + }, ), ( [{ @@ -130,8 +124,8 @@ class TestUtilsModuleStreamExpansion: "buildrequires": {"platform": ["f28"], "gtk": ["1"], "foo": ["1"]}, }], False, - set([frozenset(["foo:1:0:c2", "gtk:1:0:c2", "platform:f28:0:c10"])]), - set([frozenset(["foo:1", "gtk:1", "platform:f28"])]), + {frozenset(["foo:1:0:c2", "gtk:1:0:c2", "platform:f28:0:c10"])}, + {frozenset(["foo:1", "gtk:1", "platform:f28"])}, ), ( [{ @@ -139,8 +133,8 @@ class TestUtilsModuleStreamExpansion: "buildrequires": {"gtk": ["1"], "foo": ["1"], "platform": ["f28"]}, }], False, - set([frozenset(["foo:1:0:c2", "gtk:1:0:c2", "platform:f28:0:c10"])]), - set([frozenset(["foo:1", "gtk:1", "platform:f28"])]), + {frozenset(["foo:1:0:c2", "gtk:1:0:c2", "platform:f28:0:c10"])}, + {frozenset(["foo:1", "gtk:1", "platform:f28"])}, ), ( [{ @@ -148,8 +142,8 @@ class TestUtilsModuleStreamExpansion: "buildrequires": {"platform": ["f28"], "gtk": ["-2"], "foo": ["-2"]}, }], True, - set([frozenset(["foo:1:0:c2", "gtk:1:0:c2", "platform:f28:0:c10"])]), - set([frozenset(["foo:1", "gtk:1", "platform:f28"])]), + {frozenset(["foo:1:0:c2", "gtk:1:0:c2", "platform:f28:0:c10"])}, + {frozenset(["foo:1", "gtk:1", "platform:f28"])}, ), ( [{ @@ -157,8 +151,8 @@ class TestUtilsModuleStreamExpansion: "buildrequires": {"platform": ["f28"], "gtk": ["1"]}, }], False, - set([frozenset(["gtk:1:0:c2", "platform:f28:0:c10"])]), - set([frozenset(["gtk:1", "platform:f28"])]), + {frozenset(["gtk:1:0:c2", "platform:f28:0:c10"])}, + {frozenset(["gtk:1", "platform:f28"])}, ), ( [{ @@ -166,8 +160,8 @@ class TestUtilsModuleStreamExpansion: "buildrequires": {"platform": ["f28"], "gtk": ["1"]}, }], True, - set([frozenset(["gtk:1:0:c2", "platform:f28:0:c10"])]), - set([frozenset(["gtk:1", "platform:f28"])]), + {frozenset(["gtk:1:0:c2", "platform:f28:0:c10"])}, + {frozenset(["gtk:1", "platform:f28"])}, ), ( [{ @@ -175,8 +169,8 @@ class TestUtilsModuleStreamExpansion: "buildrequires": {"platform": ["f29"], "app": ["1"]}, }], False, - set([frozenset(["app:1:0:c6", "platform:f29:0:c11"])]), - set([frozenset(["app:1", "platform:f29"])]), + {frozenset(["app:1:0:c6", "platform:f29:0:c11"])}, + {frozenset(["app:1", "platform:f29"])}, ), ], ) @@ -242,35 +236,35 @@ class TestUtilsModuleStreamExpansion: "requires": {"gtk": ["1", "2"]}, "buildrequires": {"platform": [], "gtk": ["1", "2"]}, }], - set([frozenset(["gtk:1"]), frozenset(["gtk:2"])]), + {frozenset(["gtk:1"]), frozenset(["gtk:2"])}, ), ( [{ "requires": {"gtk": ["1", "2"]}, "buildrequires": {"platform": [], "gtk": ["1"]}, }], - set([frozenset(["gtk:1", "gtk:2"])]), + {frozenset(["gtk:1", "gtk:2"])}, ), ( [{ "requires": {"gtk": ["1"], "foo": ["1"]}, "buildrequires": {"platform": [], "gtk": ["1"], "foo": ["1"]}, }], - set([frozenset(["foo:1", "gtk:1"])]), + {frozenset(["foo:1", "gtk:1"])}, ), ( [{ "requires": {"gtk": ["-2"], "foo": ["-2"]}, "buildrequires": {"platform": [], "gtk": ["-2"], "foo": ["-2"]}, }], - set([frozenset(["foo:1", "gtk:1"])]), + {frozenset(["foo:1", "gtk:1"])}, ), ( [{ "requires": {"gtk": [], "foo": []}, "buildrequires": {"platform": [], "gtk": ["1"], "foo": ["1"]}, }], - set([frozenset([])]), + {frozenset([])}, ), ], ) @@ -504,7 +498,7 @@ class TestUtilsModuleStreamExpansion: mmd.add_dependencies(new_deps) mmds = module_build_service.utils.mse.get_base_module_mmds(db_session, mmd) - expected = set(["platform:f29.0.0", "platform:f29.1.0", "platform:f29.2.0"]) + expected = {"platform:f29.0.0", "platform:f29.1.0", "platform:f29.2.0"} # Verify no duplicates were returned before doing set operations assert len(mmds["ready"]) == len(expected) # Verify the expected ones were returned @@ -532,10 +526,14 @@ class TestUtilsModuleStreamExpansion: mmds = module_build_service.utils.mse.get_base_module_mmds(db_session, mmd) if virtual_streams == ["f29"]: - expected = set( - ["platform:f29.0.0", "platform:f29.1.0", "platform:f29.2.0", "platform:lp29.1.1"]) + expected = { + "platform:f29.0.0", + "platform:f29.1.0", + "platform:f29.2.0", + "platform:lp29.1.1" + } else: - expected = set(["platform:f29.0.0", "platform:f29.1.0", "platform:f29.2.0"]) + expected = {"platform:f29.0.0", "platform:f29.1.0", "platform:f29.2.0"} # Verify no duplicates were returned before doing set operations assert len(mmds["ready"]) == len(expected) # Verify the expected ones were returned @@ -570,8 +568,8 @@ class TestUtilsModuleStreamExpansion: mmds = module_build_service.utils.mse.get_base_module_mmds(db_session, mmd) expected = {} - expected["ready"] = set(["platform:foo29", "platform:foo30"]) - expected["garbage"] = set(["platform:foo28"]) + expected["ready"] = {"platform:foo29", "platform:foo30"} + expected["garbage"] = {"platform:foo28"} # Verify no duplicates were returned before doing set operations assert len(mmds) == len(expected) diff --git a/tests/test_views/test_views.py b/tests/test_views/test_views.py index db1cd5e..fb0b5e1 100644 --- a/tests/test_views/test_views.py +++ b/tests/test_views/test_views.py @@ -49,10 +49,10 @@ from module_build_service.utils.general import ( get_rpm_release) -user = ("Homer J. Simpson", set(["packager"])) -other_user = ("some_other_user", set(["packager"])) -anonymous_user = ("anonymous", set(["packager"])) -import_module_user = ("Import M. King", set(["mbs-import-module"])) +user = ("Homer J. Simpson", {"packager"}) +other_user = ("some_other_user", {"packager"}) +anonymous_user = ("anonymous", {"packager"}) +import_module_user = ("Import M. King", {"mbs-import-module"}) base_dir = dirname(dirname(__file__)) @@ -788,7 +788,7 @@ class TestViews: elif virtual_streams == ("f28", "f29"): assert total == 4 for module in data["items"]: - assert len(set(module["virtual_streams"]) - set(["f28", "f29"])) == 0 + assert len(set(module["virtual_streams"]) - {"f28", "f29"}) == 0 elif len(virtual_streams) == 0: assert total == 5 @@ -1294,7 +1294,7 @@ class TestViews: assert data["status"] == 403 assert data["error"] == "Forbidden" - @patch("module_build_service.auth.get_user", return_value=("sammy", set(["packager"]))) + @patch("module_build_service.auth.get_user", return_value=("sammy", {"packager"})) def test_cancel_build_unauthorized_not_owner(self, mocked_get_user): rv = self.client.patch( "/module-build-service/1/module-builds/7", data=json.dumps({"state": "failed"})) @@ -1304,13 +1304,13 @@ class TestViews: assert data["error"] == "Forbidden" @patch( - "module_build_service.auth.get_user", return_value=("sammy", set(["packager", "mbs-admin"])) + "module_build_service.auth.get_user", return_value=("sammy", {"packager", "mbs-admin"}) ) def test_cancel_build_admin(self, mocked_get_user): with patch( "module_build_service.config.Config.admin_groups", new_callable=PropertyMock, - return_value=set(["mbs-admin"]), + return_value={"mbs-admin"}, ): rv = self.client.patch( "/module-build-service/1/module-builds/7", data=json.dumps({"state": "failed"})) @@ -1319,12 +1319,12 @@ class TestViews: assert data["state"] == 4 assert data["state_reason"] == "Canceled by sammy." - @patch("module_build_service.auth.get_user", return_value=("sammy", set(["packager"]))) + @patch("module_build_service.auth.get_user", return_value=("sammy", {"packager"})) def test_cancel_build_no_admin(self, mocked_get_user): with patch( "module_build_service.config.Config.admin_groups", new_callable=PropertyMock, - return_value=set(["mbs-admin"]), + return_value={"mbs-admin"}, ): rv = self.client.patch( "/module-build-service/1/module-builds/7", data=json.dumps({"state": "failed"})) @@ -1576,13 +1576,13 @@ class TestViews: json_input["buildrequire_overrides"] = {"platform": br_override_streams} expected_br = set(br_override_streams) else: - expected_br = set(["f29.0.0"]) + expected_br = {"f29.0.0"} if req_override_streams: json_input["require_overrides"] = {"platform": req_override_streams} expected_req = set(req_override_streams) else: - expected_req = set(["f29.0.0"]) + expected_req = {"f29.0.0"} rv = self.client.post(post_url, data=json.dumps(json_input)) data = json.loads(rv.data) @@ -1875,7 +1875,7 @@ class TestViews: assert data["error"] == "Forbidden" assert data["message"] == ( "Homer J. Simpson is not in any of {0}, only {1}" - .format(set(["mbs-import-module"]), set(["packager"])) + .format({"mbs-import-module"}, {"packager"}) ) @pytest.mark.parametrize("api_version", [1, 2])