def __init__(self, *args, extensions=None, mimetypes=None, **kwargs): super().__init__(*args, **kwargs) validator = validators.FileTypeValidator( extensions=extensions, mimetypes=mimetypes, ) self.fields["file"].validators.append(validator)
def test_invalid_file_extension(self): valid_extensions = {".gz"} valid_mimetypes = {"application/x-tar"} validator = validators.FileTypeValidator(extensions=valid_extensions) file_ = SimpleUploadedFile("test.tar.bz2", bytes()) with self.assertRaises(ValidationError): validator(file_)
def test_valid_file(self): valid_extensions = {".gz"} valid_mimetypes = {"application/x-tar"} validator = validators.FileTypeValidator( extensions=valid_extensions, mimetypes=valid_mimetypes, ) file_ = SimpleUploadedFile("test.tar.gz", content=None) try: validator(file_) except ValidationError as e: error = e else: error = None self.assertIsNone(error)