Move container metadata into compose object
Rather than tracking this directly in OSBS phase, move this into Compose object, which will allow access to this from multiple phases. Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
44f7eff1b7
commit
36373479db
6 changed files with 45 additions and 43 deletions
|
|
@ -226,6 +226,7 @@ class DummyCompose(object):
|
|||
self.require_deliverable = mock.Mock()
|
||||
self.should_create_yum_database = True
|
||||
self.cache_region = None
|
||||
self.containers_metadata = {}
|
||||
|
||||
def setup_optional(self):
|
||||
self.all_variants["Server-optional"] = MockVariant(
|
||||
|
|
|
|||
|
|
@ -753,3 +753,27 @@ class StatusTest(unittest.TestCase):
|
|||
self.compose.conf["gather_backend"] = "yum"
|
||||
self.compose.conf["createrepo_database"] = False
|
||||
self.assertFalse(self.compose.should_create_yum_database)
|
||||
|
||||
|
||||
class DumpContainerMetadataTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.tmp_dir = tempfile.mkdtemp()
|
||||
with mock.patch("pungi.compose.ComposeInfo"):
|
||||
self.compose = Compose({}, self.tmp_dir)
|
||||
|
||||
def tearDown(self):
|
||||
shutil.rmtree(self.tmp_dir)
|
||||
|
||||
def test_dump_metadata(self):
|
||||
metadata = {"Server": {"x86_64": "Metadata"}}
|
||||
self.compose.containers_metadata = metadata
|
||||
self.compose.dump_containers_metadata()
|
||||
|
||||
with open(self.tmp_dir + "/compose/metadata/osbs.json") as f:
|
||||
data = json.load(f)
|
||||
self.assertEqual(data, metadata)
|
||||
|
||||
@mock.patch("pungi.phases.osbs.ThreadPool")
|
||||
def test_dump_empty_metadata(self, ThreadPool):
|
||||
self.compose.dump_containers_metadata()
|
||||
self.assertFalse(os.path.isfile(self.tmp_dir + "/compose/metadata/osbs.json"))
|
||||
|
|
|
|||
|
|
@ -36,34 +36,6 @@ class OSBSPhaseTest(helpers.PungiTestCase):
|
|||
phase = osbs.OSBSPhase(compose)
|
||||
self.assertTrue(phase.skip())
|
||||
|
||||
@mock.patch("pungi.phases.osbs.ThreadPool")
|
||||
def test_dump_metadata(self, ThreadPool):
|
||||
compose = helpers.DummyCompose(self.topdir, {"osbs": {"^Everything$": {}}})
|
||||
compose.just_phases = None
|
||||
compose.skip_phases = []
|
||||
compose.notifier = mock.Mock()
|
||||
phase = osbs.OSBSPhase(compose)
|
||||
phase.start()
|
||||
phase.stop()
|
||||
phase.pool.metadata = METADATA
|
||||
phase.dump_metadata()
|
||||
|
||||
with open(self.topdir + "/compose/metadata/osbs.json") as f:
|
||||
data = json.load(f)
|
||||
self.assertEqual(data, METADATA)
|
||||
|
||||
@mock.patch("pungi.phases.osbs.ThreadPool")
|
||||
def test_dump_metadata_after_skip(self, ThreadPool):
|
||||
compose = helpers.DummyCompose(self.topdir, {})
|
||||
compose.just_phases = None
|
||||
compose.skip_phases = []
|
||||
phase = osbs.OSBSPhase(compose)
|
||||
phase.start()
|
||||
phase.stop()
|
||||
phase.dump_metadata()
|
||||
|
||||
self.assertFalse(os.path.isfile(self.topdir + "/compose/metadata/osbs.json"))
|
||||
|
||||
@mock.patch("pungi.phases.osbs.ThreadPool")
|
||||
def test_request_push(self, ThreadPool):
|
||||
compose = helpers.DummyCompose(self.topdir, {"osbs": {"^Everything$": {}}})
|
||||
|
|
@ -190,7 +162,7 @@ SCRATCH_METADATA = {
|
|||
class OSBSThreadTest(helpers.PungiTestCase):
|
||||
def setUp(self):
|
||||
super(OSBSThreadTest, self).setUp()
|
||||
self.pool = mock.Mock(metadata={}, registries={})
|
||||
self.pool = mock.Mock(registries={})
|
||||
self.t = osbs.OSBSThread(self.pool)
|
||||
self.compose = helpers.DummyCompose(
|
||||
self.topdir,
|
||||
|
|
@ -226,7 +198,7 @@ class OSBSThreadTest(helpers.PungiTestCase):
|
|||
metadata = copy.deepcopy(METADATA)
|
||||
metadata["Server"]["x86_64"][0]["compose_id"] = self.compose.compose_id
|
||||
metadata["Server"]["x86_64"][0]["koji_task"] = 12345
|
||||
self.assertEqual(self.pool.metadata, metadata)
|
||||
self.assertEqual(self.compose.containers_metadata, metadata)
|
||||
|
||||
def _assertCorrectCalls(self, opts, setupCalls=None, scratch=False):
|
||||
setupCalls = setupCalls or []
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue