예제 #1
0
    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)
예제 #2
0
    def test_add_unit_metadata(self):
        context = FilelistsXMLFileContext(self.working_dir, 3)
        context.metadata_file_handle = mock.Mock()

        context.add_unit_metadata(mock.Mock(repodata={'filelists': 'bar'}))

        context.metadata_file_handle.write.assert_called_once_with('bar')
예제 #3
0
    def test_add_unit_metadata(self):
        context = FilelistsXMLFileContext(self.working_dir, 3, 'sha256')
        context.metadata_file_handle = mock.Mock()

        context.add_unit_metadata(self.unit)

        context.metadata_file_handle.write.assert_called_once_with('somexml')
        self.unit.render_filelists.assert_called_once_with('sha256')
예제 #4
0
    def test_add_unit_metadata_unicode(self):
        """
        Test that the filelists repodata is passed as a str even if it's a unicode object.
        """
        context = FilelistsXMLFileContext(self.working_dir, 3)
        context.metadata_file_handle = mock.Mock()
        expected_call = 'some unicode'
        repodata = {'filelists': unicode(expected_call)}

        context.add_unit_metadata(mock.Mock(repodata=repodata))
        context.metadata_file_handle.write.assert_called_once_with(expected_call)
예제 #5
0
    def test_add_unit_metadata_unicode(self):
        """
        Test that the filelists repodata is passed as a str even if it's a unicode object.
        """
        context = FilelistsXMLFileContext(self.working_dir, 3, 'sha256')
        context.metadata_file_handle = mock.Mock()
        expected_call = u'some unicode'
        self.unit.render_filelists.return_value = expected_call

        context.add_unit_metadata(self.unit)
        context.metadata_file_handle.write.assert_called_once_with(
            expected_call)
        self.unit.render_filelists.assert_called_once_with('sha256')
예제 #6
0
 def test_init(self):
     context = FilelistsXMLFileContext(self.working_dir, 3)
     self.assertEquals(context.fast_forward, False)
     self.assertEquals(context.num_packages, 3)