def setup(self, mock_open, mock_temp, mock_command): tmpfile = mock.Mock() tmpfile.name = 'tmpfile' mock_temp.return_value = tmpfile root_bind = mock.Mock() root_bind.move_to_root = mock.Mock( return_value=['root-moved-arguments']) root_bind.root_dir = '../data' root_bind.shared_location = '/shared-dir' self.repo = RepositoryZypper(root_bind)
def setup(self, mock_open, mock_temp, mock_command): tmpfile = mock.Mock() tmpfile.name = 'tmpfile' mock_temp.return_value = tmpfile root_bind = mock.Mock() root_bind.move_to_root = mock.Mock( return_value=['root-moved-arguments'] ) root_bind.root_dir = '../data' root_bind.shared_location = '/shared-dir' self.repo = RepositoryZypper(root_bind)
class TestRepositoryZypper(object): @patch('kiwi.command.Command.run') @patch('kiwi.repository_zypper.NamedTemporaryFile') @patch('__builtin__.open') def setup(self, mock_open, mock_temp, mock_command): tmpfile = mock.Mock() tmpfile.name = 'tmpfile' mock_temp.return_value = tmpfile root_bind = mock.Mock() root_bind.move_to_root = mock.Mock( return_value=['root-moved-arguments']) root_bind.root_dir = '../data' root_bind.shared_location = '/shared-dir' self.repo = RepositoryZypper(root_bind) @raises(KiwiRepoTypeUnknown) @patch('kiwi.command.Command.run') def test_add_repo_raises(self, mock_command): self.repo.add_repo('foo', 'uri', 'xxx') def test_runtime_config(self): assert self.repo.runtime_config()['zypper_args'] == \ self.repo.zypper_args assert self.repo.runtime_config()['command_env'] == \ self.repo.command_env @patch('kiwi.command.Command.run') @patch('kiwi.repository_zypper.Path.wipe') @patch('os.path.exists') def test_add_repo(self, mock_exists, mock_wipe, mock_command): mock_exists.return_value = False self.repo.add_repo('foo', 'iso-mount/uri', 'rpm-md', 42) mock_wipe.assert_called_once_with( '../data/shared-dir/zypper/repos/foo.repo') assert mock_command.call_args_list == [ call(['zypper'] + self.repo.zypper_args + [ '--root', '../data', 'addrepo', '-f', '--type', 'YUM', '--keep-packages', 'iso-mount/uri', 'foo' ], self.repo.command_env), call(['zypper'] + self.repo.zypper_args + ['--root', '../data', 'modifyrepo', '-p', '42', 'foo'], self.repo.command_env) ] @patch('kiwi.command.Command.run') def test_delete_repo(self, mock_command): self.repo.delete_repo('foo') mock_command.assert_called_once_with( ['zypper'] + self.repo.zypper_args + ['--root', '../data', 'removerepo', 'foo'], self.repo.command_env) @patch('kiwi.path.Path.wipe') @patch('os.walk') def test_cleanup_unused_repos(self, mock_walk, mock_path): mock_walk.return_value = [('/foo', ('bar', 'baz'), ('spam', 'eggs'))] self.repo.repo_names = ['eggs'] self.repo.cleanup_unused_repos() assert mock_path.call_args_list == [ call('../data/shared-dir/zypper/solv/@System'), call('../data/shared-dir/zypper/repos/spam') ] @patch('kiwi.command.Command.run') def test_delete_all_repos(self, mock_command): self.repo.delete_all_repos() call = mock_command.call_args_list[0] assert mock_command.call_args_list[0] == \ call([ 'rm', '-r', '-f', '../data/shared-dir/zypper/repos' ]) call = mock_command.call_args_list[1] assert mock_command.call_args_list[1] == \ call([ 'mkdir', '-p', '../data/shared-dir/zypper/repos' ])
class TestRepositoryZypper(object): @patch('kiwi.command.Command.run') @patch('kiwi.repository_zypper.NamedTemporaryFile') @patch('__builtin__.open') def setup(self, mock_open, mock_temp, mock_command): tmpfile = mock.Mock() tmpfile.name = 'tmpfile' mock_temp.return_value = tmpfile root_bind = mock.Mock() root_bind.move_to_root = mock.Mock( return_value=['root-moved-arguments'] ) root_bind.root_dir = '../data' root_bind.shared_location = '/shared-dir' self.repo = RepositoryZypper(root_bind) @raises(KiwiRepoTypeUnknown) @patch('kiwi.command.Command.run') def test_add_repo_raises(self, mock_command): self.repo.add_repo('foo', 'uri', 'xxx') def test_runtime_config(self): assert self.repo.runtime_config()['zypper_args'] == \ self.repo.zypper_args assert self.repo.runtime_config()['command_env'] == \ self.repo.command_env @patch('kiwi.command.Command.run') @patch('kiwi.repository_zypper.Path.wipe') @patch('os.path.exists') def test_add_repo(self, mock_exists, mock_wipe, mock_command): mock_exists.return_value = False self.repo.add_repo('foo', 'iso-mount/uri', 'rpm-md', 42) mock_wipe.assert_called_once_with( '../data/shared-dir/zypper/repos/foo.repo' ) assert mock_command.call_args_list == [ call( ['zypper'] + self.repo.zypper_args + [ '--root', '../data', 'addrepo', '-f', '--type', 'YUM', '--keep-packages', 'iso-mount/uri', 'foo' ], self.repo.command_env ), call( ['zypper'] + self.repo.zypper_args + [ '--root', '../data', 'modifyrepo', '-p', '42', 'foo' ], self.repo.command_env ) ] @patch('kiwi.command.Command.run') def test_delete_repo(self, mock_command): self.repo.delete_repo('foo') mock_command.assert_called_once_with( ['zypper'] + self.repo.zypper_args + [ '--root', '../data', 'removerepo', 'foo' ], self.repo.command_env ) @patch('kiwi.path.Path.wipe') @patch('os.walk') def test_cleanup_unused_repos(self, mock_walk, mock_path): mock_walk.return_value = [ ('/foo', ('bar', 'baz'), ('spam', 'eggs')) ] self.repo.repo_names = ['eggs'] self.repo.cleanup_unused_repos() assert mock_path.call_args_list == [ call('../data/shared-dir/zypper/solv/@System'), call('../data/shared-dir/zypper/repos/spam') ] @patch('kiwi.command.Command.run') def test_delete_all_repos(self, mock_command): self.repo.delete_all_repos() call = mock_command.call_args_list[0] assert mock_command.call_args_list[0] == \ call([ 'rm', '-r', '-f', '../data/shared-dir/zypper/repos' ]) call = mock_command.call_args_list[1] assert mock_command.call_args_list[1] == \ call([ 'mkdir', '-p', '../data/shared-dir/zypper/repos' ])