|
2 | 2 |
|
3 | 3 | import base64 |
4 | 4 | import unittest |
| 5 | +import warnings |
5 | 6 |
|
6 | 7 | import django |
7 | 8 | from django.contrib.auth.models import Group, Permission, User |
@@ -417,17 +418,34 @@ def test_can_read_get_queryset_permissions(self): |
417 | 418 | self.assertEqual(response.status_code, status.HTTP_200_OK) |
418 | 419 |
|
419 | 420 | # Read list |
| 421 | + def test_django_object_permissions_filter_deprecated(self): |
| 422 | + with warnings.catch_warnings(record=True) as w: |
| 423 | + warnings.simplefilter("always") |
| 424 | + DjangoObjectPermissionsFilter() |
| 425 | + |
| 426 | + message = ("`DjangoObjectPermissionsFilter` has been deprecated and moved " |
| 427 | + "to the 3rd-party django-rest-framework-guardian package.") |
| 428 | + self.assertEqual(len(w), 1) |
| 429 | + self.assertIs(w[-1].category, DeprecationWarning) |
| 430 | + self.assertEqual(str(w[-1].message), message) |
| 431 | + |
420 | 432 | def test_can_read_list_permissions(self): |
421 | 433 | request = factory.get('/', HTTP_AUTHORIZATION=self.credentials['readonly']) |
422 | 434 | object_permissions_list_view.cls.filter_backends = (DjangoObjectPermissionsFilter,) |
423 | | - response = object_permissions_list_view(request) |
| 435 | + # TODO: remove in version 3.10 |
| 436 | + with warnings.catch_warnings(record=True): |
| 437 | + warnings.simplefilter("always") |
| 438 | + response = object_permissions_list_view(request) |
424 | 439 | self.assertEqual(response.status_code, status.HTTP_200_OK) |
425 | 440 | self.assertEqual(response.data[0].get('id'), 1) |
426 | 441 |
|
427 | 442 | def test_cannot_read_list_permissions(self): |
428 | 443 | request = factory.get('/', HTTP_AUTHORIZATION=self.credentials['writeonly']) |
429 | 444 | object_permissions_list_view.cls.filter_backends = (DjangoObjectPermissionsFilter,) |
430 | | - response = object_permissions_list_view(request) |
| 445 | + # TODO: remove in version 3.10 |
| 446 | + with warnings.catch_warnings(record=True): |
| 447 | + warnings.simplefilter("always") |
| 448 | + response = object_permissions_list_view(request) |
431 | 449 | self.assertEqual(response.status_code, status.HTTP_200_OK) |
432 | 450 | self.assertListEqual(response.data, []) |
433 | 451 |
|
|
0 commit comments