Added dosctrings to fixtures
This commit is contained in:
parent
93cf9be04f
commit
9ec47f1ec9
|
@ -27,12 +27,19 @@ def factories_autodiscover():
|
||||||
|
|
||||||
@pytest.fixture(autouse=True)
|
@pytest.fixture(autouse=True)
|
||||||
def cache():
|
def cache():
|
||||||
|
"""
|
||||||
|
Returns a django Cache instance for cache-related operations
|
||||||
|
"""
|
||||||
yield django_cache
|
yield django_cache
|
||||||
django_cache.clear()
|
django_cache.clear()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def factories(db):
|
def factories(db):
|
||||||
|
"""
|
||||||
|
Returns a dictionnary containing all registered factories with keys such as
|
||||||
|
users.User or music.Track
|
||||||
|
"""
|
||||||
from funkwhale_api import factories
|
from funkwhale_api import factories
|
||||||
for v in factories.registry.values():
|
for v in factories.registry.values():
|
||||||
try:
|
try:
|
||||||
|
@ -45,6 +52,10 @@ def factories(db):
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def nodb_factories():
|
def nodb_factories():
|
||||||
|
"""
|
||||||
|
Returns a dictionnary containing all registered factories with a build strategy
|
||||||
|
that does not require access to the database
|
||||||
|
"""
|
||||||
from funkwhale_api import factories
|
from funkwhale_api import factories
|
||||||
for v in factories.registry.values():
|
for v in factories.registry.values():
|
||||||
try:
|
try:
|
||||||
|
@ -57,6 +68,9 @@ def nodb_factories():
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def preferences(db, cache):
|
def preferences(db, cache):
|
||||||
|
"""
|
||||||
|
return a dynamic_preferences manager for global_preferences
|
||||||
|
"""
|
||||||
manager = global_preferences_registry.manager()
|
manager = global_preferences_registry.manager()
|
||||||
manager.all()
|
manager.all()
|
||||||
yield manager
|
yield manager
|
||||||
|
@ -64,6 +78,10 @@ def preferences(db, cache):
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def tmpdir():
|
def tmpdir():
|
||||||
|
"""
|
||||||
|
Returns a temporary directory path where you can write things during your
|
||||||
|
test
|
||||||
|
"""
|
||||||
d = tempfile.mkdtemp()
|
d = tempfile.mkdtemp()
|
||||||
yield d
|
yield d
|
||||||
shutil.rmtree(d)
|
shutil.rmtree(d)
|
||||||
|
@ -71,11 +89,18 @@ def tmpdir():
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def tmpfile():
|
def tmpfile():
|
||||||
|
"""
|
||||||
|
Returns a temporary file where you can write things during your test
|
||||||
|
"""
|
||||||
yield tempfile.NamedTemporaryFile()
|
yield tempfile.NamedTemporaryFile()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def logged_in_client(db, factories, client):
|
def logged_in_client(db, factories, client):
|
||||||
|
"""
|
||||||
|
Returns a logged-in, non-API client with an authenticated ``User``
|
||||||
|
stored in the ``user`` attribute
|
||||||
|
"""
|
||||||
user = factories['users.User']()
|
user = factories['users.User']()
|
||||||
assert client.login(username=user.username, password='test')
|
assert client.login(username=user.username, password='test')
|
||||||
setattr(client, 'user', user)
|
setattr(client, 'user', user)
|
||||||
|
@ -85,16 +110,24 @@ def logged_in_client(db, factories, client):
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def anonymous_user():
|
def anonymous_user():
|
||||||
|
"""Returns a AnonymousUser() instance"""
|
||||||
return AnonymousUser()
|
return AnonymousUser()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def api_client(client):
|
def api_client(client):
|
||||||
|
"""
|
||||||
|
Return an API client without any authentication
|
||||||
|
"""
|
||||||
return APIClient()
|
return APIClient()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def logged_in_api_client(db, factories, api_client):
|
def logged_in_api_client(db, factories, api_client):
|
||||||
|
"""
|
||||||
|
Return a logged-in API client with an authenticated ``User``
|
||||||
|
stored in the ``user`` attribute
|
||||||
|
"""
|
||||||
user = factories['users.User']()
|
user = factories['users.User']()
|
||||||
assert api_client.login(username=user.username, password='test')
|
assert api_client.login(username=user.username, password='test')
|
||||||
setattr(api_client, 'user', user)
|
setattr(api_client, 'user', user)
|
||||||
|
@ -104,6 +137,10 @@ def logged_in_api_client(db, factories, api_client):
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def superuser_api_client(db, factories, api_client):
|
def superuser_api_client(db, factories, api_client):
|
||||||
|
"""
|
||||||
|
Return a logged-in API client with an authenticated superuser
|
||||||
|
stored in the ``user`` attribute
|
||||||
|
"""
|
||||||
user = factories['users.SuperUser']()
|
user = factories['users.SuperUser']()
|
||||||
assert api_client.login(username=user.username, password='test')
|
assert api_client.login(username=user.username, password='test')
|
||||||
setattr(api_client, 'user', user)
|
setattr(api_client, 'user', user)
|
||||||
|
@ -113,6 +150,10 @@ def superuser_api_client(db, factories, api_client):
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def superuser_client(db, factories, client):
|
def superuser_client(db, factories, client):
|
||||||
|
"""
|
||||||
|
Return a logged-in, non-API client with an authenticated ``User``
|
||||||
|
stored in the ``user`` attribute
|
||||||
|
"""
|
||||||
user = factories['users.SuperUser']()
|
user = factories['users.SuperUser']()
|
||||||
assert client.login(username=user.username, password='test')
|
assert client.login(username=user.username, password='test')
|
||||||
setattr(client, 'user', user)
|
setattr(client, 'user', user)
|
||||||
|
@ -122,11 +163,17 @@ def superuser_client(db, factories, client):
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def api_request():
|
def api_request():
|
||||||
|
"""
|
||||||
|
Returns a dummy API request object you can pass to API views
|
||||||
|
"""
|
||||||
return APIRequestFactory()
|
return APIRequestFactory()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def fake_request():
|
def fake_request():
|
||||||
|
"""
|
||||||
|
Returns a dummy, non-API request object you can pass to regular views
|
||||||
|
"""
|
||||||
return client.RequestFactory()
|
return client.RequestFactory()
|
||||||
|
|
||||||
|
|
||||||
|
@ -140,16 +187,6 @@ def activity_registry():
|
||||||
record.registry[key] = value
|
record.registry[key] = value
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def activity_registry():
|
|
||||||
r = record.registry
|
|
||||||
state = list(record.registry.items())
|
|
||||||
yield record.registry
|
|
||||||
record.registry.clear()
|
|
||||||
for key, value in state:
|
|
||||||
record.registry[key] = value
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def activity_muted(activity_registry, mocker):
|
def activity_muted(activity_registry, mocker):
|
||||||
yield mocker.patch.object(record, 'send')
|
yield mocker.patch.object(record, 'send')
|
||||||
|
@ -157,6 +194,9 @@ def activity_muted(activity_registry, mocker):
|
||||||
|
|
||||||
@pytest.fixture(autouse=True)
|
@pytest.fixture(autouse=True)
|
||||||
def media_root(settings):
|
def media_root(settings):
|
||||||
|
"""
|
||||||
|
Sets settings.MEDIA_ROOT to a temporary path and returns this path
|
||||||
|
"""
|
||||||
tmp_dir = tempfile.mkdtemp()
|
tmp_dir = tempfile.mkdtemp()
|
||||||
settings.MEDIA_ROOT = tmp_dir
|
settings.MEDIA_ROOT = tmp_dir
|
||||||
yield settings.MEDIA_ROOT
|
yield settings.MEDIA_ROOT
|
||||||
|
@ -165,12 +205,19 @@ def media_root(settings):
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def r_mock():
|
def r_mock():
|
||||||
|
"""
|
||||||
|
Returns a requests_mock.mock() object you can use to mock HTTP calls made
|
||||||
|
using python-requests
|
||||||
|
"""
|
||||||
with requests_mock.mock() as m:
|
with requests_mock.mock() as m:
|
||||||
yield m
|
yield m
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def authenticated_actor(factories, mocker):
|
def authenticated_actor(factories, mocker):
|
||||||
|
"""
|
||||||
|
Returns an authenticated ActivityPub actor
|
||||||
|
"""
|
||||||
actor = factories['federation.Actor']()
|
actor = factories['federation.Actor']()
|
||||||
mocker.patch(
|
mocker.patch(
|
||||||
'funkwhale_api.federation.authentication.SignatureAuthentication.authenticate_actor',
|
'funkwhale_api.federation.authentication.SignatureAuthentication.authenticate_actor',
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue