コード例 #1
0
ファイル: wrappers.py プロジェクト: Gipzo/aiorest-ws
    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])
コード例 #2
0
ファイル: test_modify.py プロジェクト: Gipzo/aiorest-ws
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
コード例 #3
0
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
コード例 #4
0
ファイル: wrappers.py プロジェクト: webmaks/aiorest-ws
    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])
コード例 #5
0
ファイル: test_middlewares.py プロジェクト: Gipzo/aiorest-ws
    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))
コード例 #6
0
    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))
コード例 #7
0
ファイル: test_middlewares.py プロジェクト: Gipzo/aiorest-ws
    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))
コード例 #8
0
    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))
コード例 #9
0
    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)
コード例 #10
0
ファイル: middlewares.py プロジェクト: Gipzo/aiorest-ws
    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)
コード例 #11
0
    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)
コード例 #12
0
    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)
コード例 #13
0
ファイル: test_middlewares.py プロジェクト: Gipzo/aiorest-ws
    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)
コード例 #14
0
ファイル: test_middlewares.py プロジェクト: Gipzo/aiorest-ws
    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
        )
コード例 #15
0
ファイル: test_modify.py プロジェクト: Gipzo/aiorest-ws
def test_add_property():
    request = Request()
    add_property(request, "token", None)

    assert "_token" in request.__dict__.keys()
    assert request.token is None
コード例 #16
0
def test_add_property():
    request = Request()
    add_property(request, 'token', None)

    assert '_token' in request.__dict__.keys()
    assert request.token is None