class PrimaryXMLFileContextTests(unittest.TestCase): def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = PrimaryXMLFileContext(self.working_dir, 3) def tearDown(self): shutil.rmtree(self.working_dir) def test_init(self): self.assertEquals(self.context.fast_forward, False) self.assertEquals(self.context.num_packages, 3) def test_add_unit_metadata(self): self.context.metadata_file_handle = mock.Mock() self.context.add_unit_metadata(mock.Mock(metadata={'repodata': {'primary': 'bar'}})) self.context.metadata_file_handle.write.assert_called_once_with('bar') def test_add_unit_metadata_unicode(self): """ Test that the primary repodata is passed as a str even if it's a unicode object. """ self.context.metadata_file_handle = mock.Mock() expected_call = 'some unicode' metadata = { 'repodata': {'primary': unicode(expected_call)} } self.context.add_unit_metadata(mock.Mock(metadata=metadata)) self.context.metadata_file_handle.write.assert_called_once_with(expected_call)
class PrimaryXMLFileContextTests(unittest.TestCase): def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = PrimaryXMLFileContext(self.working_dir, 3) def tearDown(self): shutil.rmtree(self.working_dir) def test_init(self): self.assertEquals(self.context.fast_forward, False) self.assertEquals(self.context.num_packages, 3) def test_add_unit_metadata(self): self.context.metadata_file_handle = mock.Mock() self.context.add_unit_metadata( mock.Mock(metadata={'repodata': { 'primary': 'bar' }})) self.context.metadata_file_handle.write.assert_called_once_with('bar') def test_add_unit_metadata_unicode(self): """ Test that the primary repodata is passed as a str even if it's a unicode object. """ self.context.metadata_file_handle = mock.Mock() expected_call = 'some unicode' metadata = {'repodata': {'primary': unicode(expected_call)}} self.context.add_unit_metadata(mock.Mock(metadata=metadata)) self.context.metadata_file_handle.write.assert_called_once_with( expected_call)
class PrimaryXMLFileContextTests(unittest.TestCase): def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = PrimaryXMLFileContext(self.working_dir, 3, checksum_type='sha256') self.unit = mock.Mock() self.unit.render_primary.return_value = 'somexml' def tearDown(self): shutil.rmtree(self.working_dir) def test_init(self): self.assertEquals(self.context.fast_forward, False) self.assertEquals(self.context.num_packages, 3) def test_add_unit_metadata(self): self.context.metadata_file_handle = mock.Mock() self.context.add_unit_metadata(self.unit) self.context.metadata_file_handle.write.assert_called_once_with( 'somexml') self.unit.render_primary.assert_called_once_with('sha256') def test_add_unit_metadata_unicode(self): """ Test that the primary repodata is passed as a str even if it's a unicode object. """ self.context.metadata_file_handle = mock.Mock() expected_call = u'some unicode' self.unit.render_primary.return_value = expected_call self.context.add_unit_metadata(self.unit) self.context.metadata_file_handle.write.assert_called_once_with( expected_call) self.unit.render_primary.assert_called_once_with('sha256')
def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = PrimaryXMLFileContext(self.working_dir, 3, checksum_type='sha256') self.unit = mock.Mock() self.unit.render_primary.return_value = 'somexml'
class PrimaryXMLFileContextTests(unittest.TestCase): def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = PrimaryXMLFileContext(self.working_dir, 3, checksum_type='sha256') self.unit = mock.Mock() self.unit.render_primary.return_value = 'somexml' def tearDown(self): shutil.rmtree(self.working_dir) def test_init(self): self.assertEquals(self.context.fast_forward, False) self.assertEquals(self.context.num_packages, 3) def test_add_unit_metadata(self): self.context.metadata_file_handle = mock.Mock() self.context.add_unit_metadata(self.unit) self.context.metadata_file_handle.write.assert_called_once_with('somexml') self.unit.render_primary.assert_called_once_with('sha256') def test_add_unit_metadata_unicode(self): """ Test that the primary repodata is passed as a str even if it's a unicode object. """ self.context.metadata_file_handle = mock.Mock() expected_call = u'some unicode' self.unit.render_primary.return_value = expected_call self.context.add_unit_metadata(self.unit) self.context.metadata_file_handle.write.assert_called_once_with(expected_call) self.unit.render_primary.assert_called_once_with('sha256')
def test_primary_file_creation(self): path = os.path.join(self.metadata_file_dir, REPO_DATA_DIR_NAME, PRIMARY_XML_FILE_NAME) context = PrimaryXMLFileContext(self.metadata_file_dir, 0) context._open_metadata_file_handle() context._close_metadata_file_handle() self.assertTrue(os.path.exists(path))
def process_main(self, unit=None): wd = self.get_working_dir() total = len(self.parent.publish_msi.units + self.parent.publish_msm.units) checksum_type = 'sha256' with PrimaryXMLFileContext(wd, total, checksum_type) as primary: units = itertools.chain(self.parent.publish_msi.units, self.parent.publish_msm.units) for unit in units: primary.add_unit_metadata(unit) with FilelistsXMLFileContext(wd, checksum_type) as filelists: for unit in units: filelists.add_unit_metadata(unit) with OtherXMLFileContext(wd, checksum_type) as other: for unit in units: other.add_unit_metadata(unit) with RepomdXMLFileContext(wd, checksum_type) as repomd: repomd.add_metadata_file_metadata('primary', primary.metadata_file_path, primary.checksum) repomd.add_metadata_file_metadata('filelists', filelists.metadata_file_path, filelists.checksum) repomd.add_metadata_file_metadata('other', other.metadata_file_path, other.checksum)
class PrimaryXMLFileContextTests(unittest.TestCase): def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = PrimaryXMLFileContext(self.working_dir, 3) def tearDown(self): shutil.rmtree(self.working_dir) def test_init(self): self.assertEquals(self.context.fast_forward, False) self.assertEquals(self.context.num_packages, 3) def test_add_unit_metadata(self): self.context.metadata_file_handle = mock.Mock() self.context.add_unit_metadata(mock.Mock(metadata={'repodata': {'primary': 'bar'}})) self.context.metadata_file_handle.write.assert_called_once_with('bar')
def test_primary_closing_tag(self): context = PrimaryXMLFileContext(self.metadata_file_dir, 0) context._open_metadata_file_handle() self.assertRaises(NotImplementedError, context._write_root_tag_close) context._write_root_tag_open() try: context._write_root_tag_close() except Exception, e: self.fail(e.message)
def test_primary_unit_metadata(self): path = os.path.join(self.metadata_file_dir, REPO_DATA_DIR_NAME, PRIMARY_XML_FILE_NAME) unit = self._generate_rpm("seems-legit") context = PrimaryXMLFileContext(self.metadata_file_dir, 1) context._open_metadata_file_handle() context.add_unit_metadata(unit) context._close_metadata_file_handle() handle = gzip.open(path, "r") content = handle.read() handle.close() self.assertEqual(content, "PRIMARY")
def test_primary_opening_tag(self): path = os.path.join(self.metadata_file_dir, REPO_DATA_DIR_NAME, PRIMARY_XML_FILE_NAME) context = PrimaryXMLFileContext(self.metadata_file_dir, 0) context._open_metadata_file_handle() context._write_root_tag_open() context._close_metadata_file_handle() self.assertNotEqual(os.path.getsize(path), 0) primary_handle = gzip.open(path, "r") content = primary_handle.read() primary_handle.close() self.assertTrue(content.startswith("<metadata")) self.assertEqual(content.count('xmlns="%s"' % COMMON_NAMESPACE), 1) self.assertEqual(content.count('xmlns:rpm="%s"' % RPM_NAMESPACE), 1) self.assertEqual(content.count('packages="0"'), 1)
def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = PrimaryXMLFileContext(self.working_dir, 3)
def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = PrimaryXMLFileContext(self.working_dir, 3)
def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = PrimaryXMLFileContext(self.working_dir, 3, checksum_type='sha256') self.unit = mock.Mock() self.unit.render_primary.return_value = 'somexml'