class OtherXMLFileContextTests(unittest.TestCase): def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = OtherXMLFileContext(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(repodata={'other': 'bar'})) self.context.metadata_file_handle.write.assert_called_once_with('bar') def test_add_unit_metadata_unicode(self): """ Test that the other repodata is passed as a str even if it's a unicode object. """ self.context.metadata_file_handle = mock.Mock() expected_call = 'some unicode' repodata = {'other': unicode(expected_call)} self.context.add_unit_metadata(mock.Mock(repodata=repodata)) 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 = OtherXMLFileContext(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': { 'other': 'bar' }})) self.context.metadata_file_handle.write.assert_called_once_with('bar') def test_add_unit_metadata_unicode(self): """ Test that the other 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': {'other': 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 OtherXMLFileContextTests(unittest.TestCase): def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = OtherXMLFileContext(self.working_dir, 3, 'sha256') self.unit = mock.Mock() self.unit.render_other.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_other.assert_called_once_with('sha256') def test_add_unit_metadata_unicode(self): """ Test that the other 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_other.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_other.assert_called_once_with('sha256')
class OtherXMLFileContextTests(unittest.TestCase): def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = OtherXMLFileContext(self.working_dir, 3, 'sha256') self.unit = mock.Mock() self.unit.render_other.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_other.assert_called_once_with('sha256') def test_add_unit_metadata_unicode(self): """ Test that the other 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_other.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_other.assert_called_once_with('sha256')
def test_other_file_creation(self): path = os.path.join(self.metadata_file_dir, REPO_DATA_DIR_NAME, OTHER_XML_FILE_NAME) context = OtherXMLFileContext(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 = OtherXMLFileContext(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': {'other': 'bar'}})) self.context.metadata_file_handle.write.assert_called_once_with('bar')
def test_other_opening_tag(self): path = os.path.join(self.metadata_file_dir, REPO_DATA_DIR_NAME, OTHER_XML_FILE_NAME) context = OtherXMLFileContext(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) other_handle = gzip.open(path, "r") context = other_handle.read() other_handle.close() self.assertTrue(context.startswith("<otherdata")) self.assertEqual(context.count('xmlns="%s"' % OTHER_NAMESPACE), 1) self.assertEqual(context.count('packages="0"'), 1)
def test_other_closing_tag(self): context = OtherXMLFileContext(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_other_unit_metadata(self): path = os.path.join(self.metadata_file_dir, REPO_DATA_DIR_NAME, OTHER_XML_FILE_NAME) unit = self._generate_rpm("uh-huh") context = OtherXMLFileContext(self.metadata_file_dir, 1) context._open_metadata_file_handle() context.add_unit_metadata(unit) context._close_metadata_file_handle() self.assertNotEqual(os.path.getsize(path), 0) handle = gzip.open(path, "r") content = handle.read() handle.close() self.assertEqual(content, "OTHER")
def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = OtherXMLFileContext(self.working_dir, 3)
def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = OtherXMLFileContext(self.working_dir, 3)
def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = OtherXMLFileContext(self.working_dir, 3, 'sha256') self.unit = mock.Mock() self.unit.render_other.return_value = 'somexml'
def setUp(self): self.working_dir = tempfile.mkdtemp() self.context = OtherXMLFileContext(self.working_dir, 3, 'sha256') self.unit = mock.Mock() self.unit.render_other.return_value = 'somexml'