It is not a separate package since Python 3.3 Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com> (cherry picked from commit 3987688de6720d951bfeb0b49c364df9738b490b)
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| import unittest
 | |
| from unittest import mock
 | |
| 
 | |
| 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"])
 | |
|         self.assertCountEqual(
 | |
|             [(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())
 |