예제 #1
0
 def _assert_valid_thumbnail_filename(self, expected_error_substring,
                                      thumbnail_filename):
     # type: (Text, Text) -> None
     """Helper method for test_require_valid_thumbnail_filename."""
     with self.assertRaisesRegexp(  # type: ignore[no-untyped-call]
             utils.ValidationError, expected_error_substring):
         utils.require_valid_thumbnail_filename(thumbnail_filename)
예제 #2
0
 def _assert_valid_thumbnail_filename(
         self, expected_error_substring, thumbnail_filename):
     """Helper method for test_require_valid_thumbnail_filename."""
     with self.assertRaisesRegexp(
         utils.ValidationError, expected_error_substring):
         utils.require_valid_thumbnail_filename(
             thumbnail_filename)
예제 #3
0
    def require_valid_thumbnail_filename(cls,
                                         thumbnail_filename,
                                         strict=False):
        """Checks whether the thumbnail filename of the blog post is a valid
        one.

        Args:
            thumbnail_filename: str. The thumbnail filename to validate.
            strict: bool. Enable strict checks on the blog post when the
                blog post is published or is going to be published.

        Raises:
            ValidationError. Provided thumbnail filename is invalid.
        """
        if strict:
            if not isinstance(thumbnail_filename, python_utils.BASESTRING):
                raise utils.ValidationError(
                    'Expected thumbnail filename to be a string, received: %s.'
                    % thumbnail_filename)

        if thumbnail_filename == '':
            raise utils.ValidationError(
                'Thumbnail filename should not be empty.')

        utils.require_valid_thumbnail_filename(thumbnail_filename)
예제 #4
0
 def test_require_valid_thumbnail_filename(self):
     """Test thumbnail filename validation."""
     self._assert_valid_thumbnail_filename(
         'Expected thumbnail filename to be a string, received 10', 10)
     self._assert_valid_thumbnail_filename(
         'Thumbnail filename should not start with a dot.', '.name')
     self._assert_valid_thumbnail_filename(
         'Thumbnail filename should not include slashes or '
         'consecutive dot characters.', 'file/name')
     self._assert_valid_thumbnail_filename(
         'Thumbnail filename should not include slashes or '
         'consecutive dot characters.', 'file..name')
     self._assert_valid_thumbnail_filename(
         'Thumbnail filename should include an extension.', 'name')
     self._assert_valid_thumbnail_filename(
         'Expected a filename ending in svg, received name.jpg', 'name.jpg')
     filename = 'filename.svg'
     utils.require_valid_thumbnail_filename(filename)