Skip to content
This repository has been archived by the owner on Aug 10, 2023. It is now read-only.

Commit

Permalink
Polishing
Browse files Browse the repository at this point in the history
  • Loading branch information
martinmo committed Mar 21, 2019
1 parent 1662a36 commit 017ca95
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
8 changes: 4 additions & 4 deletions inloop/solutions/validators.py
Expand Up @@ -5,25 +5,25 @@

def _get_allowed_filename_extensions():
"""
Return all allowed filename extensions.
Return a list of all allowed filename extensions.
"""
allowed_filename_extensions = config.ALLOWED_FILENAME_EXTENSIONS
if not allowed_filename_extensions:
return None
return []
return [e.strip().lower() for e in allowed_filename_extensions.split(",")]


def validate_filenames(upload):
"""
Verify that all uploaded files comply to the given naming constraints.
"""
allowed_filename_extensions = _get_allowed_filename_extensions()
allowed_filename_extensions = tuple(_get_allowed_filename_extensions())
if not allowed_filename_extensions:
raise ValidationError("Currently no filename extensions are accepted.")
if not upload:
raise ValidationError("No files were supplied.")
for file_name, _ in upload.items():
if not file_name.lower().endswith(tuple(allowed_filename_extensions)):
if not file_name.lower().endswith(allowed_filename_extensions):
raise ValidationError(
"One or more files contain disallowed filename extensions. "
"(Allowed: {})".format(", ".join(allowed_filename_extensions))
Expand Down
12 changes: 7 additions & 5 deletions tests/solutions/test_validators.py
Expand Up @@ -30,11 +30,12 @@ def test_invalid_uploads(self):
uploads = {
"HelloWorld.kt": "class Test {}",
}
self.assertRaises(ValidationError, validate_filenames, uploads)
with self.assertRaises(ValidationError):
validate_filenames(uploads)

def test_no_uploads(self):
uploads = {}
self.assertRaises(ValidationError, validate_filenames, uploads)
with self.assertRaises(ValidationError):
validate_filenames({})

def test_case_insensitivity(self):
uploads = {
Expand All @@ -52,10 +53,11 @@ def test_case_insensitivity(self):
class EmptyAllowedFileNameExtensionsValidationTest(TestCase):
def test_get_allowed_filename_extensions(self):
filename_extensions = _get_allowed_filename_extensions()
self.assertFalse(filename_extensions)
self.assertEqual([], filename_extensions)

def test_uploads(self):
uploads = {
"HelloWorld.java": "public class HelloWorld {//...}",
}
self.assertRaises(ValidationError, validate_filenames, uploads)
with self.assertRaises(ValidationError):
validate_filenames(uploads)

0 comments on commit 017ca95

Please sign in to comment.