mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-09 13:49:24 +08:00
Use set literal to create a set
Signed-off-by: Chenxiong Qi <cqi@redhat.com>
This commit is contained in:
@@ -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/"
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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])
|
||||
|
||||
Reference in New Issue
Block a user