diff options
| author | django-bot <ops@djangoproject.com> | 2022-02-08 12:09:55 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-08 12:15:38 +0100 |
| commit | 6a682b38e75d4c975b4c4493565a59f1bc14397c (patch) | |
| tree | 0bd9cda550bea26238656d9f120d769e8b41bb9e /tests/model_fields/test_imagefield.py | |
| parent | e73ce08888e6f34d3f050377cfd2fbb733be94a9 (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.py | 120 |
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) |
