Remove compat for ProhibitNullCharactersValidator (#7333)

This commit is contained in:
Jair Henrique 2020-05-14 04:24:09 -03:00 committed by GitHub
parent fccfdd21c0
commit aed74961ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 14 deletions

View File

@ -19,11 +19,6 @@ except ImportError:
RegexURLResolver as URLResolver, RegexURLResolver as URLResolver,
) )
try:
from django.core.validators import ProhibitNullCharactersValidator # noqa
except ImportError:
ProhibitNullCharactersValidator = None
def get_original_route(urlpattern): def get_original_route(urlpattern):
""" """

View File

@ -14,7 +14,8 @@ from django.core.exceptions import ObjectDoesNotExist
from django.core.exceptions import ValidationError as DjangoValidationError from django.core.exceptions import ValidationError as DjangoValidationError
from django.core.validators import ( from django.core.validators import (
EmailValidator, MaxLengthValidator, MaxValueValidator, MinLengthValidator, EmailValidator, MaxLengthValidator, MaxValueValidator, MinLengthValidator,
MinValueValidator, RegexValidator, URLValidator, ip_address_validators MinValueValidator, ProhibitNullCharactersValidator, RegexValidator,
URLValidator, ip_address_validators
) )
from django.forms import FilePathField as DjangoFilePathField from django.forms import FilePathField as DjangoFilePathField
from django.forms import ImageField as DjangoImageField from django.forms import ImageField as DjangoImageField
@ -33,7 +34,6 @@ from pytz.exceptions import InvalidTimeError
from rest_framework import ( from rest_framework import (
ISO_8601, RemovedInDRF313Warning, RemovedInDRF314Warning ISO_8601, RemovedInDRF313Warning, RemovedInDRF314Warning
) )
from rest_framework.compat import ProhibitNullCharactersValidator
from rest_framework.exceptions import ErrorDetail, ValidationError from rest_framework.exceptions import ErrorDetail, ValidationError
from rest_framework.settings import api_settings from rest_framework.settings import api_settings
from rest_framework.utils import html, humanize_datetime, json, representation from rest_framework.utils import html, humanize_datetime, json, representation
@ -785,9 +785,7 @@ class CharField(Field):
self.validators.append( self.validators.append(
MinLengthValidator(self.min_length, message=message)) MinLengthValidator(self.min_length, message=message))
# ProhibitNullCharactersValidator is None on Django < 2.0 self.validators.append(ProhibitNullCharactersValidator())
if ProhibitNullCharactersValidator is not None:
self.validators.append(ProhibitNullCharactersValidator())
self.validators.append(ProhibitSurrogateCharactersValidator()) self.validators.append(ProhibitSurrogateCharactersValidator())
def run_validation(self, data=empty): def run_validation(self, data=empty):

View File

@ -13,7 +13,6 @@ from django.utils.timezone import activate, deactivate, override, utc
import rest_framework import rest_framework
from rest_framework import exceptions, serializers from rest_framework import exceptions, serializers
from rest_framework.compat import ProhibitNullCharactersValidator
from rest_framework.fields import ( from rest_framework.fields import (
BuiltinSignatureError, DjangoImageField, is_simple_callable BuiltinSignatureError, DjangoImageField, is_simple_callable
) )
@ -747,7 +746,6 @@ class TestCharField(FieldValues):
field.run_validation(' ') field.run_validation(' ')
assert exc_info.value.detail == ['This field may not be blank.'] assert exc_info.value.detail == ['This field may not be blank.']
@pytest.mark.skipif(ProhibitNullCharactersValidator is None, reason="Skipped on Django < 2.0")
def test_null_bytes(self): def test_null_bytes(self):
field = serializers.CharField() field = serializers.CharField()
@ -762,8 +760,8 @@ class TestCharField(FieldValues):
field = serializers.CharField() field = serializers.CharField()
for code_point, expected_message in ( for code_point, expected_message in (
(0xD800, 'Surrogate characters are not allowed: U+D800.'), (0xD800, 'Surrogate characters are not allowed: U+D800.'),
(0xDFFF, 'Surrogate characters are not allowed: U+DFFF.'), (0xDFFF, 'Surrogate characters are not allowed: U+DFFF.'),
): ):
with pytest.raises(serializers.ValidationError) as exc_info: with pytest.raises(serializers.ValidationError) as exc_info:
field.run_validation(chr(code_point)) field.run_validation(chr(code_point))