tumbi-assembler/tests/test_gather_source_module.py
Lubomír Sedlář d95d1f59e2 Drop unittest2
The library is imported if available, but we never build it in any
environment where the package would be installed. It was last used for
RHEL 6 builds.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2024-11-22 13:54:46 +01:00

77 lines
2.4 KiB
Python

# -*- coding: utf-8 -*-
import unittest
try:
from unittest import mock
except ImportError:
import mock
import six
from pungi.phases.gather.sources.source_module import GatherSourceModule
from tests import helpers
from pungi.module_util import Modulemd
@unittest.skipUnless(Modulemd is not None, "Skipped test, no module support.")
class TestGatherSourceModule(helpers.PungiTestCase):
def setUp(self):
super(TestGatherSourceModule, self).setUp()
self.compose = helpers.DummyCompose(self.topdir, {})
def _add_pkg(self, arch):
mock_rpm = mock.Mock(
version="1.0.0",
release="1",
epoch=0,
excludearch=None,
exclusivearch=None,
sourcerpm="pkg-1.0.0-1",
nevra="pkg-0:1.0.0-1.%s" % arch,
arch=arch,
)
mock_rpm.name = "pkg"
self.compose.variants["Server"].nsvc_to_pkgset[
"testmodule:master:1:2017"
].rpms_by_arch[arch] = [mock_rpm]
def test_without_modules(self):
source = GatherSourceModule(self.compose)
packages, groups = source("x86_64", self.compose.variants["Server"])
self.assertEqual(packages, set())
self.assertEqual(groups, set())
def test_include_two_packages(self):
self.compose.variants["Server"].add_fake_module(
"testmodule:master:1:2017",
rpm_nvrs=["pkg-0:1.0.0-1.x86_64", "pkg-0:1.0.0-1.i686"],
with_artifacts=True,
mmd_arch="x86_64",
)
self._add_pkg("x86_64")
self._add_pkg("i686")
source = GatherSourceModule(self.compose)
packages, groups = source("x86_64", self.compose.variants["Server"])
six.assertCountEqual(
self,
[(rpm[0].nevra, rpm[1]) for rpm in packages],
[("pkg-0:1.0.0-1.x86_64", None), ("pkg-0:1.0.0-1.i686", None)],
)
self.assertEqual(groups, set())
def test_does_not_include_unlisted(self):
self.compose.variants["Server"].add_fake_module(
"testmodule:master:1:2017",
rpm_nvrs=[],
with_artifacts=True,
mmd_arch="x86_64",
)
self._add_pkg("x86_64")
source = GatherSourceModule(self.compose)
packages, groups = source("x86_64", self.compose.variants["Server"])
self.assertEqual(packages, set())
self.assertEqual(groups, set())