예제 #1
0
 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)
예제 #2
0
    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_)
예제 #3
0
    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)