def test_delete(self): repository = Mock() # test remote = Remote('123', repository) remote.delete() # validation repository.open.assert_called_once_with() repository.impl.remote_delete.assert_called_once_with(remote.id, None)
def test_add(self, options): repository = Mock() # test remote = Remote('123', repository) remote.add() # validation repository.open.assert_called_once_with() repository.impl.remote_add.assert_called_once_with(remote.id, remote.url, options, None)
def test_list_refs(self, lib, ref): remote_id = '123' summary = { 'branch:1': 'commit:1', 'branch:2': 'commit:2' } commits = [ ('commit:1', [{'version': 1}]), ('commit:2', [{'version': 2}]) ] _lib = Mock() lib_repo = Mock() lib_repo.remote_list_refs.return_value = (1, summary) lib_repo.load_variant.side_effect = commits _lib.OSTree.ObjectType.COMMIT = 'COMMIT' _lib.OSTree.RepoPullFlags.COMMIT_ONLY = 'COMMIT_ONLY' lib.return_value = _lib ref_objects = [Mock(), Mock()] ref.side_effect = ref_objects # test remote = Remote(remote_id, Mock(impl=lib_repo)) remote.open = Mock() listed = remote.list_refs(required=True) # validation lib.assert_called_with() remote.open.assert_called_once_with() lib_repo.remote_list_refs.assert_called_once_with(remote_id, None) lib_repo.pull.assert_called_once_with( remote_id, sorted(summary.keys()), _lib.OSTree.RepoPullFlags.COMMIT_ONLY, None, None) self.assertEqual( ref.call_args_list, [ (('branch:1', 'commit:1', {'version': 1}), {}), (('branch:2', 'commit:2', {'version': 2}), {}), ]) self.assertEqual( lib_repo.load_variant.call_args_list, [ ((_lib.OSTree.ObjectType.COMMIT, 'commit:1'), {}), ((_lib.OSTree.ObjectType.COMMIT, 'commit:2'), {}), ]) self.assertEqual(listed, ref_objects)
def test_update_not_exist(self, _list): repository = Mock() _list.return_value = [] # test remote = Remote('123', repository) remote.delete = Mock() remote.add = Mock() remote.update() # validation _list.assert_called_once_with(repository) remote.add.assert_called_once_with() self.assertFalse(remote.delete.called)
def test_options(self, lib): _lib = Mock() _lib.GLib.Variant.side_effect = variant lib.return_value = _lib # test remote = Remote('', '') remote.ssl_key_path = '/tmp/key' remote.ssl_cert_path = '/tmp/certificate' remote.ssl_ca_path = '/tmp/ca' remote.ssl_validation = True remote.gpg_validation = True remote.proxy_url = 'http://proxy' options = remote.options # validation self.assertEqual( options, ('a{sv}', { 'tls-client-cert-path': ('s', '/tmp/certificate'), 'tls-client-key-path': ('s', '/tmp/key'), 'tls-permissive': ('s', 'false'), 'gpg-verify': ('s', 'true'), 'tls-ca-path': ('s', '/tmp/ca'), 'proxy': ('s', 'http://proxy') }) )
def test_update(self, _list): remote_id = '123' repository = Mock() _list.return_value = [remote_id] # test remote = Remote(remote_id, repository) remote.delete = Mock() remote.add = Mock() remote.update() # validation _list.assert_called_once_with(repository) remote.delete.assert_called_once_with() remote.add.assert_called_once_with()
def test_list(self): repository = Mock() # test remotes = Remote.list(repository) # validation self.assertEqual(remotes, repository.impl.remote_list.return_value)
def test_list_refs_no_summary(self, lib): remote_id = '123' _lib = Mock() _lib.GLib.GError = GError lib_repo = Mock() lib_repo.remote_list_refs.side_effect = GError() lib.return_value = _lib # test remote = Remote(remote_id, Mock(impl=lib_repo)) remote.open = Mock() listed = remote.list_refs() # validation lib.assert_called_with() remote.open.assert_called_once_with() lib_repo.remote_list_refs.assert_called_once_with(remote_id, None) self.assertEqual(listed, [])
def test_import_key(self, lib): repository = Mock() keyring = '/tmp/keyring' key_id = 'test-key' fp = Mock() _lib = Mock() _lib.GLib.GError = GError _lib.Gio.File.new_for_path.return_value = fp lib.return_value = _lib # test remote = Remote('123', repository) remote.import_key(keyring, [key_id]) # validation repository.open.assert_called_once_with() _lib.Gio.File.new_for_path.assert_called_once_with(keyring) repository.impl.remote_gpg_import.assert_called_once_with( remote.id, fp.read.return_value, [key_id])
def test_list_refs_no_summary_but_required(self, lib): remote_id = '123' _lib = Mock() _lib.GLib.GError = GError lib_repo = Mock() lib_repo.remote_list_refs.side_effect = GError() lib.return_value = _lib # test and validation remote = Remote(remote_id, Mock(impl=lib_repo)) self.assertRaises(LibError, remote.list_refs, True)
def test_init(self): repository = Mock() remote_id = 'test' # test remote = Remote(remote_id, repository) # validation self.assertEqual(remote.repository, repository) self.assertEqual(remote.id, remote_id) self.assertEqual(remote.url, '') self.assertEqual(remote.ssl_ca_path, None) self.assertEqual(remote.ssl_cert_path, None) self.assertEqual(remote.ssl_key_path, None) self.assertEqual(remote.proxy_url, None) self.assertFalse(remote.ssl_validation) self.assertFalse(remote.gpg_validation)
def test_open(self): repository = Mock() remote = Remote('123', repository) remote.open() repository.open.assert_called_once_with()
def test_impl(self): repository = Mock() remote = Remote('123', repository) self.assertEqual(remote.impl, repository.impl)