当前位置: 首页>>代码示例>>Python>>正文


Python status.HTTP_405_METHOD_NOT_ALLOWED属性代码示例

本文整理汇总了Python中rest_framework.status.HTTP_405_METHOD_NOT_ALLOWED属性的典型用法代码示例。如果您正苦于以下问题:Python status.HTTP_405_METHOD_NOT_ALLOWED属性的具体用法?Python status.HTTP_405_METHOD_NOT_ALLOWED怎么用?Python status.HTTP_405_METHOD_NOT_ALLOWED使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在rest_framework.status的用法示例。


在下文中一共展示了status.HTTP_405_METHOD_NOT_ALLOWED属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_forbidden_actions

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_forbidden_actions(self):
        """
        <api root>/sites/ should not permit POST, PUT or DELETE operations
        """
        url = urljoin(urlroot, 'sites/securethe.news/')
        response1 = self.client.post(
            url, json={'name': 'Insecure the News?',
                       'domain': 'insecurethe.news'})
        self.assertEqual(response1.status_code,
                         status.HTTP_405_METHOD_NOT_ALLOWED)

        response2 = self.client.delete(url)
        self.assertEqual(response2.status_code,
                         status.HTTP_405_METHOD_NOT_ALLOWED)

        url = urljoin(urlroot, 'sites/insecurethe.news/')
        response3 = self.client.put(
            url, json={'name': 'Insecure the News?',
                       'domain': 'insecurethe.news'})
        self.assertEqual(response3.status_code,
                         status.HTTP_405_METHOD_NOT_ALLOWED) 
开发者ID:freedomofpress,项目名称:securethenews,代码行数:23,代码来源:tests.py

示例2: test_delete

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_delete(self):
        """Test that deleting users is not a semantically valid action"""

        url = "/api/users/{0!s}"

        all_users = self.users

        expected_results = defaultdict(lambda: {
            'status': [status.HTTP_405_METHOD_NOT_ALLOWED,
                       status.HTTP_403_FORBIDDEN],
            'reason': "Default response should be no access"})

        for user in all_users:
            with self.subTest(
                    user=user,
                    expected_statuses=expected_results[(user,)]['status'],
                    reason=expected_results[(user,)]['reason']):
                user_that_exists = DataCreationUtilities.create_test_user()
                response = self.clients[user].delete(
                    url.format(user_that_exists['id']))

                logging.debug(response)

                self.assertIn(
                    response.status_code, expected_results[(user,)]['status']) 
开发者ID:bcgov,项目名称:tfrs,代码行数:27,代码来源:test_api_security_users.py

示例3: membership

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def membership(self, request, **kwargs):
        if request.method == 'POST':
            email = request.data.get('email', None)

            if not email:
                return Response('email required', status=400)

            if User.objects.filter(email=email).exists():
                return Response('user already has account', status=400)

            family = request.user.membership.family
            family.invite_user_to_family(email=email)

            return Response('user invited', status=201)

        elif request.method == 'GET':
            family = request.user.membership.family
            members = Membership.objects \
                                .select_related('user') \
                                .filter(family=family)
            data = MembershipSerializer(members, many=True).data
            return Response(data)

        else:
            return Response('Method not allowed', status=status.HTTP_405_METHOD_NOT_ALLOWED) 
开发者ID:arecker,项目名称:bennedetto,代码行数:27,代码来源:views.py

示例4: follow

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def follow(self, request, pk, **kwargs):
        obj = self.queryset.get(id=int(pk))

        #follow, created = Follow.objects.get_or_create(request.user, obj)
        can_change_follow = True
        if hasattr(self, 'can_change_follow'):
            can_change_follow = self.can_change_follow(request.user, obj)

        if can_change_follow:
            if request.method == 'DELETE':
                if Follow.objects.is_following(request.user, obj):
                    fol = follow.utils.unfollow(request.user, obj)
                    signals.unfollow.send(FollowingModelViewSet, follower=request.user, followee=obj)
                return Response(status=status.HTTP_205_RESET_CONTENT)
            elif request.method == 'POST':
                if not Follow.objects.is_following(request.user, obj):
                    fol = follow.utils.follow(request.user, obj)
                    signals.follow.send(FollowingModelViewSet, follower=request.user, followee=obj)
                return Response(status=status.HTTP_201_CREATED)
        else:
            return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED) 
开发者ID:peragro,项目名称:django-project,代码行数:23,代码来源:views.py

示例5: test_cannot_create_submission

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_cannot_create_submission(self):
        v_uid = self.asset.latest_deployed_version.uid
        submission = {
            "q1": "a5",
            "q2": "a6",
        }
        # Owner
        response = self.client.post(self.submission_url, data=submission)
        self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)

        # Shared
        self._share_with_another_user()
        self._log_in_as_another_user()
        response = self.client.post(self.submission_url, data=submission)
        self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)

        # Anonymous
        self.client.logout()
        response = self.client.post(self.submission_url, data=submission)
        self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) 
开发者ID:kobotoolbox,项目名称:kpi,代码行数:22,代码来源:test_api_submissions.py

示例6: test_active_user

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_active_user(self):
        '''
        Try to activate a user, where only staff is allowed
        '''
        response = self.client.post('/api/account/register/', self.userData, format='json')
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)             # Check if response is created
        user = User.objects.get(username=self.userName)

        #Unauthenticated
        response = self.client.post('/api/account/activateUser/', { "email":user.email}, format='json')
        #self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)        # Check if response is not authorized

        #Normal user authenticated
        self.client.force_authenticate(self.simpleUser)
        response = self.client.post('/api/account/activateUser/', {"email": user.email}, format='json')
        #self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)        # Check if response is not authorized
        self.client.logout()

        #Staff authenticated
        self.client.force_authenticate(self.admin)
        response = self.client.post('/api/account/activateUser/', {"email": user.email}, format='json')
        self.assertEqual(response.status_code, status.HTTP_200_OK)                  # Check if response is ok

        response = self.client.post('/api/account/activateUser/', {"email": user.email}, format='json')
        #self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)  # Check if response is method is not allowed 
开发者ID:bioinformatics-ua,项目名称:GenericCDSS,代码行数:27,代码来源:testUserViewSet.py

示例7: test_add_access_with_permission

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_add_access_with_permission(self):
        test_user = "user"
        u = User.objects.create_user(test_user, "", test_user)
        p = Permission.objects.get(codename="add_vendor")
        assert p is not None
        u.user_permissions.add(p)
        u.save()
        assert u.has_perm("productdb.add_vendor")

        client = APIClient()
        client.login(username=test_user, password=test_user)
        response = client.post(REST_VENDOR_LIST, data={"name": "Awesome Vendor"})

        assert response.status_code == status.HTTP_405_METHOD_NOT_ALLOWED, "API endpoint is always read only"
        assert response.json() == {'detail': 'Method "POST" not allowed.'}
        assert Vendor.objects.count() == 3, "no additional vendor is created" 
开发者ID:hoelsner,项目名称:product-database,代码行数:18,代码来源:test_productdb_api_views.py

示例8: test_change_access_with_permission

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_change_access_with_permission(self):
        # create a user with permissions
        test_user = "user"
        u = User.objects.create_user(test_user, "", test_user)
        p = Permission.objects.get(codename="change_vendor")
        assert p is not None
        u.user_permissions.add(p)
        u.save()
        assert u.has_perm("productdb.change_vendor")

        client = APIClient()
        client.login(username=test_user, password=test_user)
        response = client.put(REST_VENDOR_DETAIL % 1, data={"name": "renamed vendor"})

        assert response.status_code == status.HTTP_405_METHOD_NOT_ALLOWED, "API endpoint is always read only"
        assert response.json() == {'detail': 'Method "PUT" not allowed.'} 
开发者ID:hoelsner,项目名称:product-database,代码行数:18,代码来源:test_productdb_api_views.py

示例9: test_delete_access_with_permission

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_delete_access_with_permission(self):
        test_user = "user"
        u = User.objects.create_user(test_user, "", test_user)
        p = Permission.objects.get(codename="delete_vendor")
        assert p is not None
        u.user_permissions.add(p)
        u.save()
        assert u.has_perm("productdb.delete_vendor")

        client = APIClient()
        client.login(username=test_user, password=test_user)
        response = client.delete(REST_VENDOR_DETAIL % 1)

        assert response.status_code == status.HTTP_405_METHOD_NOT_ALLOWED, "API endpoint is always read only"
        assert response.json() == {'detail': 'Method "DELETE" not allowed.'}
        assert Vendor.objects.count() == 3, "no vendor was deleted" 
开发者ID:hoelsner,项目名称:product-database,代码行数:18,代码来源:test_productdb_api_views.py

示例10: test_model_creation

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_model_creation(admin_api_client, admin_user, model_name):
  model_data = setup_model(model_name, admin_user)

  response = admin_api_client.post('/collab/{}/'.format(model_name),
                                   data=model_data,
                                   HTTP_ACCEPT='application/json')

  # Manually handle matches, where API does not allow creation or
  # modification of objects, as they're read only
  if model_name == "matches":
    assert_response(response, status.HTTP_405_METHOD_NOT_ALLOWED)
    return

  assert_response(response, status.HTTP_201_CREATED)
  projects_created = [response.data]

  response = admin_api_client.get('/collab/{}/'.format(model_name),
                                  HTTP_ACCEPT="application/json")
  assert_response(response, status.HTTP_200_OK, projects_created) 
开发者ID:nirizr,项目名称:rematch,代码行数:21,代码来源:test_models.py

示例11: test_post

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_post(self):
        """
        POST requests should throw a 405 Error
        """
        view = BasicObjectView.as_view()

        data = {'fake': 'data'}
        request = factory.post('/', data, format='json')

        with self.assertNumQueries(0):
            response = view(request).render()

        self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
        self.assertEqual(response.data, {"detail": 'Method "POST" not allowed.'}) 
开发者ID:MattBroach,项目名称:DjangoRestMultipleModels,代码行数:16,代码来源:test_object_view.py

示例12: test_put

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_put(self):
        """
        PUT requests should throw a 405 Error
        """
        view = BasicObjectView.as_view()

        data = {'fake': 'data'}
        request = factory.put('/', data, format='json')

        with self.assertNumQueries(0):
            response = view(request).render()

        self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
        self.assertEqual(response.data, {"detail": 'Method "PUT" not allowed.'}) 
开发者ID:MattBroach,项目名称:DjangoRestMultipleModels,代码行数:16,代码来源:test_object_view.py

示例13: test_delete

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_delete(self):
        """
        DELETE requests should throw a 405 Error
        """
        view = BasicObjectView.as_view()

        request = factory.delete('/')

        with self.assertNumQueries(0):
            response = view(request).render()

        self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
        self.assertEqual(response.data, {"detail": 'Method "DELETE" not allowed.'}) 
开发者ID:MattBroach,项目名称:DjangoRestMultipleModels,代码行数:15,代码来源:test_object_view.py

示例14: test_post

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_post(self):
        """
        POST requests should throw a 405 Error
        """
        view = BasicFlatView.as_view()

        data = {'fake': 'data'}
        request = factory.post('/', data, format='json')

        with self.assertNumQueries(0):
            response = view(request).render()

        self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
        self.assertEqual(response.data, {"detail": 'Method "POST" not allowed.'}) 
开发者ID:MattBroach,项目名称:DjangoRestMultipleModels,代码行数:16,代码来源:test_flat_view.py

示例15: test_put

# 需要导入模块: from rest_framework import status [as 别名]
# 或者: from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED [as 别名]
def test_put(self):
        """
        PUT requests should throw a 405 Error
        """
        view = BasicFlatView.as_view()

        data = {'fake': 'data'}
        request = factory.put('/', data, format='json')

        with self.assertNumQueries(0):
            response = view(request).render()

        self.assertEqual(response.status_code, status.HTTP_405_METHOD_NOT_ALLOWED)
        self.assertEqual(response.data, {"detail": 'Method "PUT" not allowed.'}) 
开发者ID:MattBroach,项目名称:DjangoRestMultipleModels,代码行数:16,代码来源:test_flat_view.py


注:本文中的rest_framework.status.HTTP_405_METHOD_NOT_ALLOWED属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。