from vdirsyncer import exceptions from vdirsyncer.cli.utils import handle_cli_error from vdirsyncer.cli.utils import storage_instance_from_config from vdirsyncer.cli.utils import storage_names def test_handle_cli_error(capsys): try: raise exceptions.InvalidResponse('ayy lmao') except BaseException: handle_cli_error() out, err = capsys.readouterr() assert 'returned something vdirsyncer doesn\'t understand' in err assert 'ayy lmao' in err def test_storage_instance_from_config(monkeypatch): def lol(**kw): assert kw == {'foo': 'bar', 'baz': 1} return 'OK' monkeypatch.setitem(storage_names._storages, 'lol', lol) config = {'type': 'lol', 'foo': 'bar', 'baz': 1} assert storage_instance_from_config(config) == 'OK'