diff options
Diffstat (limited to 'service/test/support/integration/multi_user_client.py')
-rw-r--r-- | service/test/support/integration/multi_user_client.py | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/service/test/support/integration/multi_user_client.py b/service/test/support/integration/multi_user_client.py index de272e16..82acb210 100644 --- a/service/test/support/integration/multi_user_client.py +++ b/service/test/support/integration/multi_user_client.py @@ -19,12 +19,11 @@ from mockito import mock, when, any as ANY from pixelated.authentication import Authenticator, Authentication from twisted.internet import defer -from pixelated.application import UserAgentMode, set_up_protected_resources, get_static_folder +from pixelated.application import UserAgentMode, set_up_protected_resources from pixelated.config.services import ServicesFactory from pixelated.config.sessions import LeapSessionFactory import pixelated.config.services -from pixelated.resources import IPixelatedSession from pixelated.resources.root_resource import RootResource from test.support.integration import AppTestClient from test.support.integration.app_test_client import AppTestAccount, StubSRPChecker @@ -46,7 +45,7 @@ class MultiUserClient(AppTestClient): self.service_factory = ServicesFactory(UserAgentMode(is_single_user=False)) - root_resource = RootResource(self.service_factory, get_static_folder()) + root_resource = RootResource(self.service_factory) leap_provider = mock() self.credentials_checker = StubSRPChecker(leap_provider) self.resource = set_up_protected_resources(root_resource, leap_provider, self.service_factory) @@ -58,41 +57,41 @@ class MultiUserClient(AppTestClient): else: when(Authenticator)._bonafide_auth(username, password).thenRaise(SRPAuthError) - def login(self, username='username', password='password', session=None): - auth_session = Authentication(username, 'some_user_token', 'some_user_uuid', 'session_id', {'is_admin': False}) + def login(self, username='username', password='password'): + session = Authentication(username, 'some_user_token', 'some_user_uuid', 'session_id', {'is_admin': False}) leap_session = self._test_account.leap_session - leap_session.user_auth = auth_session + leap_session.user_auth = session config = mock() config.leap_home = 'some_folder' leap_session.config = config leap_session.fresh_account = False self.leap_session = leap_session self.services = self._test_account.services - self.user_auth = auth_session + self.user_auth = session self._mock_bonafide_auth(username, password) - when(LeapSessionFactory).create(username, password, auth_session).thenReturn(leap_session) + when(LeapSessionFactory).create(username, password, session).thenReturn(leap_session) with patch('mockito.invocation.AnswerSelector', AnswerSelector): when(leap_session).initial_sync().thenAnswer(lambda: defer.succeed(None)) when(pixelated.config.services).Services(ANY()).thenReturn(self.services) - csrftoken = IPixelatedSession(session).get_csrf_token() - request = request_mock(path='/login', method="POST", body={'username': username, 'password': password, 'csrftoken': csrftoken}, ajax=False) - request.session = session + request = request_mock(path='/login', method="POST", body={'username': username, 'password': password}) return self._render(request, as_json=False) - def get(self, path, get_args='', as_json=True, session=None): + def get(self, path, get_args='', as_json=True, from_request=None): request = request_mock(path) request.args = get_args - if session: + if from_request: + session = from_request.getSession() request.session = session return self._render(request, as_json) - def post(self, path, body='', headers=None, ajax=True, csrf='token', as_json=True, session=None): + def post(self, path, body='', headers=None, ajax=True, csrf='token', as_json=True, from_request=None): headers = headers or {'Content-Type': 'application/json'} request = request_mock(path=path, method="POST", body=body, headers=headers, ajax=ajax, csrf=csrf) - if session: + if from_request: + session = from_request.getSession() request.session = session return self._render(request, as_json) |