mirror of
https://github.com/samsonjs/vdirsyncer.git
synced 2026-03-25 08:55:50 +00:00
Use mock for dav tests too
This commit is contained in:
parent
600cc64e46
commit
a711bf0428
2 changed files with 14 additions and 8 deletions
|
|
@ -17,6 +17,8 @@ import tempfile
|
|||
import shutil
|
||||
import sys
|
||||
import os
|
||||
import urlparse
|
||||
import mock
|
||||
|
||||
from werkzeug.test import Client
|
||||
from werkzeug.wrappers import BaseResponse as WerkzeugResponse
|
||||
|
|
@ -74,6 +76,7 @@ class DavStorageTests(StorageTests):
|
|||
tmpdir = None
|
||||
storage_class = None
|
||||
radicale_path = None
|
||||
patcher = None
|
||||
|
||||
def _get_storage(self, **kwargs):
|
||||
self.tmpdir = tempfile.mkdtemp()
|
||||
|
|
@ -86,19 +89,26 @@ class DavStorageTests(StorageTests):
|
|||
server = 'http://127.0.0.1'
|
||||
full_url = server + self.radicale_path
|
||||
|
||||
def x(method, path, data=None, headers=None):
|
||||
path = path or self.radicale_path
|
||||
def x(session, method, url, data=None, headers=None, **kw):
|
||||
path = urlparse.urlparse(url).path or self.radicale_path
|
||||
assert isinstance(data, bytes) or data is None
|
||||
r = c.open(path=path, method=method, data=data, headers=headers)
|
||||
r = Response(r)
|
||||
return r
|
||||
return self.storage_class(url=full_url, _request_func=x, **kwargs)
|
||||
|
||||
self.patcher = p = mock.patch('requests.Session.request', new=x)
|
||||
p.start()
|
||||
|
||||
return self.storage_class(url=full_url, **kwargs)
|
||||
|
||||
def teardown_method(self, method):
|
||||
self.app = None
|
||||
if self.tmpdir is not None:
|
||||
shutil.rmtree(self.tmpdir)
|
||||
self.tmpdir = None
|
||||
if self.patcher is not None:
|
||||
self.patcher.stop()
|
||||
self.patcher = None
|
||||
|
||||
def test_dav_broken_item(self):
|
||||
item = Item(u'UID:1')
|
||||
|
|
|
|||
|
|
@ -27,8 +27,7 @@ class DavStorage(Storage):
|
|||
_repr_attributes = ('url', 'username')
|
||||
|
||||
def __init__(self, url, username='', password='', collection=None,
|
||||
verify=True, auth='basic', useragent='vdirsyncer',
|
||||
_request_func=None, **kwargs):
|
||||
verify=True, auth='basic', useragent='vdirsyncer', **kwargs):
|
||||
'''
|
||||
:param url: Direct URL for the CalDAV collection. No autodiscovery.
|
||||
:param username: Username for authentication.
|
||||
|
|
@ -37,11 +36,8 @@ class DavStorage(Storage):
|
|||
:param auth: Authentication method, from {'basic', 'digest'}, default
|
||||
'basic'.
|
||||
:param useragent: Default 'vdirsyncer'.
|
||||
:param _request_func: Function to use for network calls. Same API as
|
||||
requests.request. Useful for tests.
|
||||
'''
|
||||
super(DavStorage, self).__init__(**kwargs)
|
||||
self._request = _request_func or self._request
|
||||
|
||||
self._settings = {'verify': verify}
|
||||
if auth == 'basic':
|
||||
|
|
|
|||
Loading…
Reference in a new issue