def test_rename(self): source = self._get_test_file('sample.png') thumbs = dict(small=(100, 100)) Image.set_sizes(thumbs=thumbs) image = Image(source=source, name="original.png", session=self.session) self.session.commit() image.name = 'updated.png' self.assertIn('updated.png', image.path) self.assertIn('updated_small.png', image.thumbnails['small'].path)
def test_to_dict(self): source = self._get_test_file('sample.png') thumbs = dict(small=(100, 100)) Image.set_sizes(thumbs=thumbs) image = Image(source=source, name="original.png", session=self.session) self.session.commit() d = image.to_dict() self.assertIn('small_url', d) self.assertIn('small_width', d) self.assertIn('width', d) self.assertIn('height', d) self.assertIn('small_height', d) d1 = image.to_dict(paths=True) self.assertIn('path', d1) self.assertIn('small_path', d1)
def test_create(self): thumbs = dict(small=(100, 100), medium=(300, 300)) full_size = (600, 400) handle = PIL.Image.open(self._get_test_file('sample.png')) big_handle = handle.resize(full_size) big_image = self._create_tmp_file(content=None, suffix=".png") big_handle.save(big_image) Image.set_sizes(thumbs=thumbs, full=full_size) i = Image(source=big_image, session=self.session) # no need to commit, session is being flushed by pufferfish self.assertEqual(len(i.thumbnails), len(thumbs)) self.assertEqual(i.thumbnails.keys(), thumbs.keys()) for tname, size in thumbs.iteritems(): thumb = i.thumbnails[tname] r_size = PIL.Image.open(thumb.path).size self.assertEqual(size[0], r_size[0]) self.assertEqual(thumb.url, thumb.path.replace(self.tempdir, "")) f_size = PIL.Image.open(i.path).size self.assertEqual(f_size, full_size) self.session.rollback()
def test_set_thumb_sizes(self): thumbs = dict(first=(300, 300), second=(600, 300)) Image.set_sizes(thumbs=thumbs) self.assertEqual(thumbs, Image.thumb_sizes)
def test_set_full_size(self): size = (600, 300) Image.set_sizes(full=size) self.assertEqual(Image.full_size, size)