forked from pythonprobr/pythonpro-website
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconftest.py
More file actions
60 lines (41 loc) · 1.39 KB
/
conftest.py
File metadata and controls
60 lines (41 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import pytest
from model_bakery import baker
from django.contrib.auth.models import AnonymousUser
from django.contrib.sessions.middleware import SessionMiddleware
from django.test import RequestFactory
@pytest.fixture
def pre_request():
factory = RequestFactory()
request = factory.get('/')
request.user = AnonymousUser()
return request
def dummy_get_response(request):
return None
def _get_request_with_session_setted(pre_request):
middleware = SessionMiddleware(dummy_get_response)
middleware.process_request(pre_request)
pre_request.session.save()
return pre_request
@pytest.fixture
def mocked_request(pre_request):
return _get_request_with_session_setted(pre_request)
@pytest.fixture
def mocked_request_2(pre_request):
return _get_request_with_session_setted(pre_request)
@pytest.fixture
def mocked_request_logged(pre_request, logged_user):
pre_request.user = logged_user
middleware = SessionMiddleware(dummy_get_response)
middleware.process_request(pre_request)
pre_request.session.save()
return pre_request
@pytest.fixture
def user_session(logged_user):
return baker.make('UserSession', user=logged_user)
@pytest.fixture
def mocked_request_with_analytics(mocked_request, user_session):
mocked_request.session['analytics'] = {
'id': user_session.id,
'uuid': str(user_session.uuid)
}
return mocked_request