3eddcfccd8
F401 'dnf' imported but unused F401 'imp' imported but unused F401 'os' imported but unused F401 'subprocess' imported but unused F401 'sys' imported but unused F401 'yum' imported but unused JIRA: COMPOSE-4108 Signed-off-by: Haibo Lin <hlin@redhat.com>
78 lines
2.4 KiB
Python
78 lines
2.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
try:
|
|
import unittest2 as unittest
|
|
except ImportError:
|
|
import unittest
|
|
|
|
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())
|