def test_has_permission(self, authentication_class, jwt_filters, view_kwargs, expected_result):
     request = RequestFactory().get('/')
     request.successful_authenticator = authentication_class
     request.auth = generate_jwt(self.user, filters=jwt_filters)
     view = Mock(kwargs=view_kwargs)
     self.assertEqual(
         permissions.JwtHasContentOrgFilterForRequestedCourse().has_permission(request, view),
         expected_result,
     )
 def test_has_permission(self, authentication_class, jwt_filters, view_kwargs, expected_result):
     request = RequestFactory().get('/')
     request.successful_authenticator = authentication_class
     request.auth = generate_jwt(self.user, filters=jwt_filters)
     view = Mock(kwargs=view_kwargs)
     self.assertEqual(
         permissions.JwtHasContentOrgFilterForRequestedCourse().has_permission(request, view),
         expected_result,
     )
 def test_has_permission(self, authentication_class, jwt_scopes, required_scopes, expected_result):
     request = RequestFactory().get('/')
     request.successful_authenticator = authentication_class
     request.auth = generate_jwt(self.user, scopes=jwt_scopes)
     if required_scopes is None:
         view = APIView()
     else:
         view = Mock(required_scopes=required_scopes)
     self.assertEqual(permissions.JwtHasScope().has_permission(request, view), expected_result)
 def test_has_permission(self, authentication_class, jwt_scopes, required_scopes, expected_result):
     request = RequestFactory().get('/')
     request.successful_authenticator = authentication_class
     request.auth = generate_jwt(self.user, scopes=jwt_scopes)
     if required_scopes is None:
         view = APIView()
     else:
         view = Mock(required_scopes=required_scopes)
     self.assertEqual(permissions.JwtHasScope().has_permission(request, view), expected_result)
示例#5
0
 def _create_jwt_header(self,
                        user,
                        is_restricted=False,
                        scopes=None,
                        filters=None):
     token = generate_jwt(user,
                          is_restricted=is_restricted,
                          scopes=scopes,
                          filters=filters)
     return "JWT {}".format(token)
示例#6
0
文件: test_api.py 项目: lxp20201/lxp
 def test_get_token(self):
     """
     Ensure we can get a CSRF token.
     """
     url = reverse('csrf_token')
     user = UserFactory()
     jwt = generate_jwt(user)
     self.client.credentials(HTTP_AUTHORIZATION='JWT {}'.format(jwt))
     response = self.client.get(url, format='json')
     self.assertEqual(response.status_code, status.HTTP_200_OK)
     self.assertIn('csrfToken', response.data)
    def test_has_permission(self, permission_class, authentication_class, is_restricted):
        request = RequestFactory().get('/')
        request.successful_authenticator = authentication_class() if authentication_class else None
        request.user = factories.UserFactory()
        request.auth = generate_jwt(request.user, is_restricted=is_restricted)

        is_jwt_auth_subclass = issubclass(type(request.successful_authenticator), JSONWebTokenAuthentication)

        has_permission = permission_class().has_permission(request, view=None)
        expected_restricted_permission = is_restricted and is_jwt_auth_subclass
        if permission_class == permissions.JwtRestrictedApplication:
            self.assertEqual(has_permission, expected_restricted_permission)
        else:
            self.assertEqual(has_permission, not expected_restricted_permission)
    def test_has_permission(self, permission_class, authentication_class, is_restricted, enforce_scopes, waffle_mock):
        waffle_mock.return_value = enforce_scopes
        request = RequestFactory().get('/')
        request.successful_authenticator = authentication_class() if authentication_class else None
        request.user = factories.UserFactory()
        request.auth = generate_jwt(request.user, is_restricted=is_restricted)

        is_jwt_auth_subclass = issubclass(type(request.successful_authenticator), BaseJSONWebTokenAuthentication)

        has_permission = permission_class().has_permission(request, view=None)
        expected_restricted_permission = enforce_scopes and is_restricted and is_jwt_auth_subclass
        if permission_class == permissions.JwtRestrictedApplication:
            self.assertEqual(has_permission, expected_restricted_permission)
        else:
            self.assertEqual(has_permission, not expected_restricted_permission)
示例#9
0
 def _create_request(self, user_filters, requested_username):
     url = f'/?username={requested_username}'
     request = RequestFactory().get(url)
     request.user = UserFactory(username='******')
     request.auth = generate_jwt(request.user, filters=user_filters)
     return request
示例#10
0
 def _create_jwt_header(self, user, is_restricted=False, scopes=None, filters=None):
     token = generate_jwt(user, is_restricted=is_restricted, scopes=scopes, filters=filters)
     return "JWT {}".format(token)
示例#11
0
 def _create_request(self, user_filters, requested_username):
     url = '/?username={}'.format(requested_username)
     request = RequestFactory().get(url)
     request.user = UserFactory(username='******')
     request.auth = generate_jwt(request.user, filters=user_filters)
     return request