def __init__(self, *args, **kwargs): super(Request, self).__init__() self._method = kwargs.pop('method', None) self._url = kwargs.pop('url', None) self._args = kwargs.pop('args', {}) for key in kwargs.keys(): add_property(self, key, kwargs[key])
def test_attribute_error_for_added_property(): request = Request() add_property(request, "token", None) assert "_token" in request.__dict__.keys() with pytest.raises(AttributeError): request.token = "test_token" assert request.token is None
def test_attribute_error_for_added_property(): request = Request() add_property(request, 'token', None) assert '_token' in request.__dict__.keys() with pytest.raises(AttributeError): request.token = "test_token" assert request.token is None
def __init__(self, *args, **kwargs): super(Request, self).__init__() self._method = kwargs.pop('method', None) self._url = kwargs.pop('url', None) self._args = kwargs.pop('args', {}) self._data = kwargs.pop('data', None) self._event_name = kwargs.pop('event_name', None) for key in kwargs.keys(): add_property(self, key, kwargs[key])
def test_authenticate(self): class TestView(MethodBasedView): auth_required = True user = User(is_user=True) token_data = {'key': 'value'} raw_token = self.middleware.manager.generate(token_data) request = Request() add_property(request, 'user', user) add_property(request, 'token', raw_token) view = TestView() self.assertIsNone(self.middleware.authenticate(request, view))
def test_authenticate_with_permissions(self): class ViewWithIsAuthenticatedPermission(MethodBasedView): auth_required = True permission_classes = (IsAuthenticated, ) user = User(is_user=True) token_data = {'key': 'value'} raw_token = self.middleware.manager.generate(token_data) request = Request() add_property(request, 'user', user) add_property(request, 'token', raw_token) view = ViewWithIsAuthenticatedPermission() self.assertIsNone(self.middleware.authenticate(request, view))
def test_init_credentials(self): user = self._create_simple_user(self.middleware.user_model) token_data = {'key': 'value'} raw_token = self.middleware.manager.generate(token_data) init_data = {'name': 'api', 'token': raw_token, 'user_id': user.id} self.middleware.storage_backend.save(init_data['name'], init_data['token'], user_id=init_data['user_id']) request = Request() add_property(request, 'token', raw_token) self.middleware.init_credentials(request) self.assertIsInstance(request.user, User) self.assertTrue(request.user.is_user) self.assertIsNotNone(request.token_payload)
def init_credentials(self, request): """Getting credentials (user, keys, tokens) from database/cache/etc. :param request: instance of Request class. """ token = getattr(request, 'token', None) if token: token_payload = self.manager.verify(token) user = self.get_user_by_token(token) else: token_payload = None user = User() add_property(request, 'user', user) add_property(request, 'token_payload', token_payload)
def init_credentials(self, request): """ Getting credentials (user, keys, tokens) from database/cache/etc. :param request: instance of Request class. """ token = getattr(request, 'token', None) if token: token_payload = self.manager.verify(token) user = self.get_user_by_token(token) else: token_payload = None user = User() add_property(request, 'user', user) add_property(request, 'token_payload', token_payload)
def test_authenticate_with_permissions_and_raise_exception(self): class CustomPermission(AbstractPermission): @staticmethod def check(request, handler): raise PermissionDeniedException class ViewWithPermissions(MethodBasedView): auth_required = True permission_classes = (CustomPermission, ) user = User(is_user=True) token_data = {'key': 'value'} raw_token = self.middleware.manager.generate(token_data) request = Request() add_property(request, 'user', user) add_property(request, 'token', raw_token) view = ViewWithPermissions() self.assertRaises(PermissionDeniedException, self.middleware.authenticate, request, view)
def test_init_credentials(self): user = self._create_simple_user(self.middleware.user_model) token_data = {'key': 'value'} raw_token = self.middleware.manager.generate(token_data) init_data = { 'name': 'api', 'token': raw_token, 'user_id': user.id } self.middleware.storage_backend.save( init_data['name'], init_data['token'], user_id=init_data['user_id'] ) request = Request() add_property(request, 'token', raw_token) self.middleware.init_credentials(request) self.assertIsInstance(request.user, User) self.assertTrue(request.user.is_user) self.assertIsNotNone(request.token_payload)
def test_authenticate_with_permissions_and_raise_exception(self): class CustomPermission(AbstractPermission): @staticmethod def check(request, handler): raise PermissionDeniedException class ViewWithPermissions(MethodBasedView): auth_required = True permission_classes = (CustomPermission, ) user = User(is_user=True) token_data = {'key': 'value'} raw_token = self.middleware.manager.generate(token_data) request = Request() add_property(request, 'user', user) add_property(request, 'token', raw_token) view = ViewWithPermissions() self.assertRaises( PermissionDeniedException, self.middleware.authenticate, request, view )
def test_add_property(): request = Request() add_property(request, "token", None) assert "_token" in request.__dict__.keys() assert request.token is None
def test_add_property(): request = Request() add_property(request, 'token', None) assert '_token' in request.__dict__.keys() assert request.token is None