summaryrefslogtreecommitdiff
path: root/tests/model_fields/test_imagefield.py
diff options
context:
space:
mode:
authordjango-bot <ops@djangoproject.com>2022-02-08 12:09:55 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-02-08 12:15:38 +0100
commit6a682b38e75d4c975b4c4493565a59f1bc14397c (patch)
tree0bd9cda550bea26238656d9f120d769e8b41bb9e /tests/model_fields/test_imagefield.py
parente73ce08888e6f34d3f050377cfd2fbb733be94a9 (diff)
[4.0.x] Refs #33476 -- Reformatted code with Black.
Backport of 9c19aff7c7561e3a82978a272ecdaad40dda5c00 from main.
Diffstat (limited to 'tests/model_fields/test_imagefield.py')
-rw-r--r--tests/model_fields/test_imagefield.py120
1 files changed, 63 insertions, 57 deletions
diff --git a/tests/model_fields/test_imagefield.py b/tests/model_fields/test_imagefield.py
index cbb58a0bbd..6ef46ef200 100644
--- a/tests/model_fields/test_imagefield.py
+++ b/tests/model_fields/test_imagefield.py
@@ -15,13 +15,19 @@ except ImproperlyConfigured:
if Image:
from .models import (
- Person, PersonDimensionsFirst, PersonTwoImages, PersonWithHeight,
- PersonWithHeightAndWidth, TestImageFieldFile, temp_storage_dir,
+ Person,
+ PersonDimensionsFirst,
+ PersonTwoImages,
+ PersonWithHeight,
+ PersonWithHeightAndWidth,
+ TestImageFieldFile,
+ temp_storage_dir,
)
else:
# Pillow not available, create dummy classes (tests will be skipped anyway)
class Person:
pass
+
PersonWithHeight = PersonWithHeightAndWidth = PersonDimensionsFirst = Person
PersonTwoImages = Person
@@ -49,11 +55,11 @@ class ImageFieldTestMixin(SerializeMixin):
shutil.rmtree(temp_storage_dir)
os.mkdir(temp_storage_dir)
- file_path1 = os.path.join(os.path.dirname(__file__), '4x8.png')
- self.file1 = self.File(open(file_path1, 'rb'), name='4x8.png')
+ file_path1 = os.path.join(os.path.dirname(__file__), "4x8.png")
+ self.file1 = self.File(open(file_path1, "rb"), name="4x8.png")
- file_path2 = os.path.join(os.path.dirname(__file__), '8x4.png')
- self.file2 = self.File(open(file_path2, 'rb'), name='8x4.png')
+ file_path2 = os.path.join(os.path.dirname(__file__), "8x4.png")
+ self.file2 = self.File(open(file_path2, "rb"), name="8x4.png")
def tearDown(self):
"""
@@ -63,7 +69,7 @@ class ImageFieldTestMixin(SerializeMixin):
self.file2.close()
shutil.rmtree(temp_storage_dir)
- def check_dimensions(self, instance, width, height, field_name='mugshot'):
+ def check_dimensions(self, instance, width, height, field_name="mugshot"):
"""
Asserts that the given width and height values match both the
field's height and width attributes and the height and width fields
@@ -81,18 +87,18 @@ class ImageFieldTestMixin(SerializeMixin):
# Check height/width attributes of field.
if width is None and height is None:
with self.assertRaises(ValueError):
- getattr(field, 'width')
+ getattr(field, "width")
with self.assertRaises(ValueError):
- getattr(field, 'height')
+ getattr(field, "height")
else:
self.assertEqual(field.width, width)
self.assertEqual(field.height, height)
# Check height/width fields of model, if defined.
- width_field_name = field_name + '_width'
+ width_field_name = field_name + "_width"
if hasattr(instance, width_field_name):
self.assertEqual(getattr(instance, width_field_name), width)
- height_field_name = field_name + '_height'
+ height_field_name = field_name + "_height"
if hasattr(instance, height_field_name):
self.assertEqual(getattr(instance, height_field_name), height)
@@ -137,7 +143,7 @@ class ImageFieldTests(ImageFieldTestMixin, TestCase):
p.mugshot.save("shot", self.file1)
p = self.PersonModel.objects.get(name="Joan")
path = p.mugshot.path
- shutil.move(path, path + '.moved')
+ shutil.move(path, path + ".moved")
self.PersonModel.objects.get(name="Joan")
def test_delete_when_missing(self):
@@ -193,11 +199,11 @@ class ImageFieldTests(ImageFieldTestMixin, TestCase):
self.assertEqual(p.mugshot.field, loaded_mugshot.field)
def test_defer(self):
- self.PersonModel.objects.create(name='Joe', mugshot=self.file1)
+ self.PersonModel.objects.create(name="Joe", mugshot=self.file1)
with self.assertNumQueries(1):
- qs = list(self.PersonModel.objects.defer('mugshot'))
+ qs = list(self.PersonModel.objects.defer("mugshot"))
with self.assertNumQueries(0):
- self.assertEqual(qs[0].name, 'Joe')
+ self.assertEqual(qs[0].name, "Joe")
@skipIf(Image is None, "Pillow is required to test ImageField")
@@ -210,7 +216,7 @@ class ImageFieldTwoDimensionsTests(ImageFieldTestMixin, TestCase):
"""
Tests assigning an image field through the model's constructor.
"""
- p = self.PersonModel(name='Joe', mugshot=self.file1)
+ p = self.PersonModel(name="Joe", mugshot=self.file1)
self.check_dimensions(p, 4, 8)
p.save()
self.check_dimensions(p, 4, 8)
@@ -219,7 +225,7 @@ class ImageFieldTwoDimensionsTests(ImageFieldTestMixin, TestCase):
"""
Tests behavior when image is not passed in constructor.
"""
- p = self.PersonModel(name='Joe')
+ p = self.PersonModel(name="Joe")
# TestImageField value will default to being an instance of its
# attr_class, a TestImageFieldFile, with name == None, which will
# cause it to evaluate as False.
@@ -227,7 +233,7 @@ class ImageFieldTwoDimensionsTests(ImageFieldTestMixin, TestCase):
self.assertFalse(p.mugshot)
# Test setting a fresh created model instance.
- p = self.PersonModel(name='Joe')
+ p = self.PersonModel(name="Joe")
p.mugshot = self.file1
self.check_dimensions(p, 4, 8)
@@ -235,7 +241,7 @@ class ImageFieldTwoDimensionsTests(ImageFieldTestMixin, TestCase):
"""
Tests assigning an image in Manager.create().
"""
- p = self.PersonModel.objects.create(name='Joe', mugshot=self.file1)
+ p = self.PersonModel.objects.create(name="Joe", mugshot=self.file1)
self.check_dimensions(p, 4, 8)
def test_default_value(self):
@@ -252,7 +258,7 @@ class ImageFieldTwoDimensionsTests(ImageFieldTestMixin, TestCase):
"""
Assigning ImageField to None clears dimensions.
"""
- p = self.PersonModel(name='Joe', mugshot=self.file1)
+ p = self.PersonModel(name="Joe", mugshot=self.file1)
self.check_dimensions(p, 4, 8)
# If image assigned to None, dimension fields should be cleared.
@@ -267,7 +273,7 @@ class ImageFieldTwoDimensionsTests(ImageFieldTestMixin, TestCase):
Tests assignment using the field's save method and deletion using
the field's delete method.
"""
- p = self.PersonModel(name='Joe')
+ p = self.PersonModel(name="Joe")
p.mugshot.save("mug", self.file1)
self.check_dimensions(p, 4, 8)
@@ -284,14 +290,14 @@ class ImageFieldTwoDimensionsTests(ImageFieldTestMixin, TestCase):
"""
Dimensions are updated correctly in various situations.
"""
- p = self.PersonModel(name='Joe')
+ p = self.PersonModel(name="Joe")
# Dimensions should get set if file is saved.
p.mugshot.save("mug", self.file1)
self.check_dimensions(p, 4, 8)
# Test dimensions after fetching from database.
- p = self.PersonModel.objects.get(name='Joe')
+ p = self.PersonModel.objects.get(name="Joe")
# Bug 11084: Dimensions should not get recalculated if file is
# coming from the database. We test this by checking if the file
# was opened.
@@ -363,76 +369,76 @@ class TwoImageFieldTests(ImageFieldTestMixin, TestCase):
def test_constructor(self):
p = self.PersonModel(mugshot=self.file1, headshot=self.file2)
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, 8, 4, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, 8, 4, "headshot")
p.save()
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, 8, 4, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, 8, 4, "headshot")
def test_create(self):
p = self.PersonModel.objects.create(mugshot=self.file1, headshot=self.file2)
self.check_dimensions(p, 4, 8)
- self.check_dimensions(p, 8, 4, 'headshot')
+ self.check_dimensions(p, 8, 4, "headshot")
def test_assignment(self):
p = self.PersonModel()
- self.check_dimensions(p, None, None, 'mugshot')
- self.check_dimensions(p, None, None, 'headshot')
+ self.check_dimensions(p, None, None, "mugshot")
+ self.check_dimensions(p, None, None, "headshot")
p.mugshot = self.file1
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, None, None, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, None, None, "headshot")
p.headshot = self.file2
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, 8, 4, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, 8, 4, "headshot")
# Clear the ImageFields one at a time.
p.mugshot = None
- self.check_dimensions(p, None, None, 'mugshot')
- self.check_dimensions(p, 8, 4, 'headshot')
+ self.check_dimensions(p, None, None, "mugshot")
+ self.check_dimensions(p, 8, 4, "headshot")
p.headshot = None
- self.check_dimensions(p, None, None, 'mugshot')
- self.check_dimensions(p, None, None, 'headshot')
+ self.check_dimensions(p, None, None, "mugshot")
+ self.check_dimensions(p, None, None, "headshot")
def test_field_save_and_delete_methods(self):
- p = self.PersonModel(name='Joe')
+ p = self.PersonModel(name="Joe")
p.mugshot.save("mug", self.file1)
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, None, None, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, None, None, "headshot")
p.headshot.save("head", self.file2)
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, 8, 4, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, 8, 4, "headshot")
# We can use save=True when deleting the image field with null=True
# dimension fields and the other field has an image.
p.headshot.delete(save=True)
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, None, None, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, None, None, "headshot")
p.mugshot.delete(save=False)
- self.check_dimensions(p, None, None, 'mugshot')
- self.check_dimensions(p, None, None, 'headshot')
+ self.check_dimensions(p, None, None, "mugshot")
+ self.check_dimensions(p, None, None, "headshot")
def test_dimensions(self):
"""
Dimensions are updated correctly in various situations.
"""
- p = self.PersonModel(name='Joe')
+ p = self.PersonModel(name="Joe")
# Dimensions should get set for the saved file.
p.mugshot.save("mug", self.file1)
p.headshot.save("head", self.file2)
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, 8, 4, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, 8, 4, "headshot")
# Test dimensions after fetching from database.
- p = self.PersonModel.objects.get(name='Joe')
+ p = self.PersonModel.objects.get(name="Joe")
# Bug 11084: Dimensions should not get recalculated if file is
# coming from the database. We test this by checking if the file
# was opened.
self.assertIs(p.mugshot.was_opened, False)
self.assertIs(p.headshot.was_opened, False)
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, 8, 4, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, 8, 4, "headshot")
# After checking dimensions on the image fields, the files will
# have been opened.
self.assertIs(p.mugshot.was_opened, True)
@@ -441,8 +447,8 @@ class TwoImageFieldTests(ImageFieldTestMixin, TestCase):
# check dimensions again, the file should not have opened.
p.mugshot.was_opened = False
p.headshot.was_opened = False
- self.check_dimensions(p, 4, 8, 'mugshot')
- self.check_dimensions(p, 8, 4, 'headshot')
+ self.check_dimensions(p, 4, 8, "mugshot")
+ self.check_dimensions(p, 8, 4, "headshot")
self.assertIs(p.mugshot.was_opened, False)
self.assertIs(p.headshot.was_opened, False)
@@ -450,8 +456,8 @@ class TwoImageFieldTests(ImageFieldTestMixin, TestCase):
# update.
p.mugshot = self.file2
p.headshot = self.file1
- self.check_dimensions(p, 8, 4, 'mugshot')
- self.check_dimensions(p, 4, 8, 'headshot')
+ self.check_dimensions(p, 8, 4, "mugshot")
+ self.check_dimensions(p, 4, 8, "headshot")
# Dimensions were recalculated, and hence file should have opened.
self.assertIs(p.mugshot.was_opened, True)
self.assertIs(p.headshot.was_opened, True)