class TestSolverRepositorySUSE: def setup(self): self.xml_data = etree.parse('../data/repomd.xml') self.uri = mock.Mock() self.solver = SolverRepositorySUSE(self.uri) def setup_method(self, cls): self.setup() @patch.object(SolverRepositoryBase, 'download_from_repository') @patch.object(SolverRepositoryBase, '_create_solvables') @patch.object(SolverRepositoryBase, '_create_temporary_metadata_dir') @patch.object(SolverRepositoryBase, '_get_repomd_xml') def test__setup_repository_metadata_online( self, mock_xml, mock_mkdtemp, mock_create_solvables, mock_download_from_repository ): mock_mkdtemp.return_value = 'metadata_dir.XX' mock_xml.return_value = self.xml_data self.solver._setup_repository_metadata() mock_download_from_repository.assert_called_once_with( 'suse/repodata/55f95a93-primary.xml.gz', 'metadata_dir.XX/55f95a93-primary.xml.gz' ) mock_create_solvables.assert_called_once_with( 'metadata_dir.XX', 'rpmmd2solv' ) @patch.object(SolverRepositoryBase, 'download_from_repository') @patch.object(SolverRepositoryBase, '_create_solvables') @patch.object(SolverRepositoryBase, '_get_repomd_xml') @patch.object(SolverRepositoryBase, '_create_temporary_metadata_dir') def test__setup_repository_metadata_media( self, mock_mkdtemp, mock_xml, mock_create_solvables, mock_download_from_repository ): mock_xml.side_effect = Exception mock_mkdtemp.return_value = 'metadata_dir.XX' self.solver._setup_repository_metadata() mock_download_from_repository.assert_called_once_with( 'suse/setup/descr/packages.gz', 'metadata_dir.XX/packages.gz' ) mock_create_solvables.assert_called_once_with( 'metadata_dir.XX', 'susetags2solv' )
class TestSolverRepositorySUSE(object): def setup(self): self.xml_data = etree.parse('../data/repomd.xml') self.uri = mock.Mock() self.solver = SolverRepositorySUSE(self.uri) @patch.object(SolverRepositoryBase, 'download_from_repository') @patch.object(SolverRepositoryBase, '_create_solvables') @patch.object(SolverRepositoryBase, '_create_temporary_metadata_dir') @patch.object(SolverRepositoryBase, '_get_repomd_xml') def test__setup_repository_metadata_online( self, mock_xml, mock_mkdtemp, mock_create_solvables, mock_download_from_repository ): mock_mkdtemp.return_value = 'metadata_dir.XX' mock_xml.return_value = self.xml_data self.solver._setup_repository_metadata() mock_download_from_repository.assert_called_once_with( 'suse/repodata/55f95a93-primary.xml.gz', 'metadata_dir.XX/55f95a93-primary.xml.gz' ) mock_create_solvables.assert_called_once_with( 'metadata_dir.XX', 'rpmmd2solv' ) @patch.object(SolverRepositoryBase, 'download_from_repository') @patch.object(SolverRepositoryBase, '_create_solvables') @patch.object(SolverRepositoryBase, '_get_repomd_xml') @patch.object(SolverRepositoryBase, '_create_temporary_metadata_dir') def test__setup_repository_metadata_media( self, mock_mkdtemp, mock_xml, mock_create_solvables, mock_download_from_repository ): mock_xml.side_effect = Exception mock_mkdtemp.return_value = 'metadata_dir.XX' self.solver._setup_repository_metadata() mock_download_from_repository.assert_called_once_with( 'suse/setup/descr/packages.gz', 'metadata_dir.XX/packages.gz' ) mock_create_solvables.assert_called_once_with( 'metadata_dir.XX', 'susetags2solv' )
def __new__(self, uri, user=None, secret=None): if uri.repo_type == 'yast2': return SolverRepositorySUSE(uri, user, secret) elif uri.repo_type == 'rpm-md': return SolverRepositoryRpmMd(uri, user, secret) elif uri.repo_type == 'rpm-dir': return SolverRepositoryRpmDir(uri, user, secret) else: raise KiwiSolverRepositorySetupError( 'Support for %s solver repository type not implemented' % uri.repo_type)
def setup(self): self.xml_data = etree.parse('../data/repomd.xml') self.uri = mock.Mock() self.solver = SolverRepositorySUSE(self.uri)