Skip to content

Commit aed7496

Browse files
authored
Remove compat for ProhibitNullCharactersValidator (#7333)
1 parent fccfdd2 commit aed7496

File tree

3 files changed

+5
-14
lines changed

3 files changed

+5
-14
lines changed

rest_framework/compat.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,6 @@
1919
RegexURLResolver as URLResolver,
2020
)
2121

22-
try:
23-
from django.core.validators import ProhibitNullCharactersValidator # noqa
24-
except ImportError:
25-
ProhibitNullCharactersValidator = None
26-
2722

2823
def get_original_route(urlpattern):
2924
"""

rest_framework/fields.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
from django.core.exceptions import ValidationError as DjangoValidationError
1515
from django.core.validators import (
1616
EmailValidator, MaxLengthValidator, MaxValueValidator, MinLengthValidator,
17-
MinValueValidator, RegexValidator, URLValidator, ip_address_validators
17+
MinValueValidator, ProhibitNullCharactersValidator, RegexValidator,
18+
URLValidator, ip_address_validators
1819
)
1920
from django.forms import FilePathField as DjangoFilePathField
2021
from django.forms import ImageField as DjangoImageField
@@ -33,7 +34,6 @@
3334
from rest_framework import (
3435
ISO_8601, RemovedInDRF313Warning, RemovedInDRF314Warning
3536
)
36-
from rest_framework.compat import ProhibitNullCharactersValidator
3737
from rest_framework.exceptions import ErrorDetail, ValidationError
3838
from rest_framework.settings import api_settings
3939
from rest_framework.utils import html, humanize_datetime, json, representation
@@ -785,9 +785,7 @@ def __init__(self, **kwargs):
785785
self.validators.append(
786786
MinLengthValidator(self.min_length, message=message))
787787

788-
# ProhibitNullCharactersValidator is None on Django < 2.0
789-
if ProhibitNullCharactersValidator is not None:
790-
self.validators.append(ProhibitNullCharactersValidator())
788+
self.validators.append(ProhibitNullCharactersValidator())
791789
self.validators.append(ProhibitSurrogateCharactersValidator())
792790

793791
def run_validation(self, data=empty):

tests/test_fields.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
import rest_framework
1515
from rest_framework import exceptions, serializers
16-
from rest_framework.compat import ProhibitNullCharactersValidator
1716
from rest_framework.fields import (
1817
BuiltinSignatureError, DjangoImageField, is_simple_callable
1918
)
@@ -747,7 +746,6 @@ def test_disallow_blank_with_trim_whitespace(self):
747746
field.run_validation(' ')
748747
assert exc_info.value.detail == ['This field may not be blank.']
749748

750-
@pytest.mark.skipif(ProhibitNullCharactersValidator is None, reason="Skipped on Django < 2.0")
751749
def test_null_bytes(self):
752750
field = serializers.CharField()
753751

@@ -762,8 +760,8 @@ def test_surrogate_characters(self):
762760
field = serializers.CharField()
763761

764762
for code_point, expected_message in (
765-
(0xD800, 'Surrogate characters are not allowed: U+D800.'),
766-
(0xDFFF, 'Surrogate characters are not allowed: U+DFFF.'),
763+
(0xD800, 'Surrogate characters are not allowed: U+D800.'),
764+
(0xDFFF, 'Surrogate characters are not allowed: U+DFFF.'),
767765
):
768766
with pytest.raises(serializers.ValidationError) as exc_info:
769767
field.run_validation(chr(code_point))

0 commit comments

Comments
 (0)