Simplify warnings testing

This commit is contained in:
Ryan P Kilby 2020-08-24 04:10:28 -07:00
parent d16f7c6dfe
commit 9db35ed522
2 changed files with 6 additions and 16 deletions

View File

@ -2,7 +2,6 @@ import datetime
import os import os
import re import re
import uuid import uuid
import warnings
from decimal import ROUND_DOWN, ROUND_UP, Decimal from decimal import ROUND_DOWN, ROUND_UP, Decimal
import pytest import pytest
@ -702,23 +701,17 @@ class TestNullableBooleanField(TestBooleanField):
class TestNullBooleanField(TestCase): class TestNullBooleanField(TestCase):
@pytest.mark.filterwarnings('ignore::rest_framework.RemovedInDRF314Warning')
def test_allow_null(self): def test_allow_null(self):
msg = '`allow_null` is not a valid option.' msg = '`allow_null` is not a valid option.'
with self.assertRaisesMessage(AssertionError, msg):
with warnings.catch_warnings(): serializers.NullBooleanField(allow_null=False)
warnings.simplefilter('ignore', rest_framework.RemovedInDRF314Warning)
with self.assertRaisesMessage(AssertionError, msg):
serializers.NullBooleanField(allow_null=False)
def test_deprecation_warning(self): def test_deprecation_warning(self):
with warnings.catch_warnings(record=True) as w: msg = r"^The `NullBooleanField` is deprecated"
warnings.simplefilter('always', rest_framework.RemovedInDRF314Warning) with self.assertWarnsRegex(rest_framework.RemovedInDRF314Warning, msg):
serializers.NullBooleanField() serializers.NullBooleanField()
self.assertEqual(len(w), 1)
self.assertIs(w[0].category, rest_framework.RemovedInDRF314Warning)
self.assertIn("The `NullBooleanField` is deprecated", str(w[0].message))
# String types... # String types...

View File

@ -1,5 +1,3 @@
import warnings
import pytest import pytest
from django.core.validators import MaxValueValidator, MinValueValidator from django.core.validators import MaxValueValidator, MinValueValidator
from django.db import models from django.db import models
@ -314,8 +312,7 @@ class TestMetadata:
class TestSimpleMetadataFieldInfo(TestCase): class TestSimpleMetadataFieldInfo(TestCase):
def test_null_boolean_field_info_type(self): def test_null_boolean_field_info_type(self):
options = metadata.SimpleMetadata() options = metadata.SimpleMetadata()
with warnings.catch_warnings(): with self.assertWarns(RemovedInDRF314Warning):
warnings.simplefilter('ignore', RemovedInDRF314Warning)
field = serializers.NullBooleanField() field = serializers.NullBooleanField()
field_info = options.get_field_info(field) field_info = options.get_field_info(field)
assert field_info['type'] == 'boolean' assert field_info['type'] == 'boolean'