Use set literal to create a set

Signed-off-by: Chenxiong Qi <cqi@redhat.com>
This commit is contained in:
Chenxiong Qi
2019-08-15 21:14:02 +08:00
parent dbced8668b
commit e6aa47e02a
21 changed files with 192 additions and 187 deletions

View File

@@ -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/"

View File

@@ -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": {

View File

@@ -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()

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

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

View File

@@ -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)

View File

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

View File

@@ -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"}

View File

@@ -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()

View File

@@ -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

View File

@@ -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)

View File

@@ -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):

View File

@@ -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"
}

View File

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

View File

@@ -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,

View File

@@ -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

View File

@@ -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):

View File

@@ -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)

View File

@@ -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])