def testSmallerImageObject(self): image, buffer = self._make_image(width=641, height=481) buffer.seek(0, os.SEEK_END) orig_size = buffer.tell() buffer.seek(0) cimage = CachedImage("test_small") metadata = {'content_type': 'image/png'} cimage.cache_put(buffer, metadata) smaller = IMAGE_SIZE_ORDERING[0:7] bigger = IMAGE_SIZE_ORDERING[7:-1] # skip the original for size_key in smaller: self.assertTrue(cimage.can_size(size_key)) cmeta, cstream = cimage.get(size_key=size_key) self.assertEqual(cmeta['size_key'], size_key) cstream.seek(0, os.SEEK_END) stream_size = cstream.tell() self.assertLess(stream_size, orig_size) for size_key in bigger: self.assertFalse(cimage.can_size(size_key), msg="size key: %s shouldn't be sized" % size_key) cmeta, cstream = cimage.get(size_key=size_key) cstream.seek(0, os.SEEK_END) stream_size = cstream.tell() self.assertEqual(stream_size, orig_size) self.assertNotEqual(cmeta['size_key'], size_key) self.assertEqual(cmeta['size_key'], OBJECT_ORIGINAL)
def testHugeImageObject(self): image, buffer = self._make_image() buffer.seek(0, os.SEEK_END) orig_size = buffer.tell() buffer.seek(0) cimage = CachedImage("test_huge") metadata = {'content_type': 'image/png'} cimage.cache_put(buffer, metadata) for size in IMAGE_SIZE_ORDERING: self.assertTrue(cimage.can_size(size)) cmeta, cstream = cimage.get(size_key=size) self.assertEqual(cmeta['size_key'], size) cstream.seek(0, os.SEEK_END) stream_size = cstream.tell() if size != OBJECT_ORIGINAL: self.assertLess(stream_size, orig_size) else: self.assertEqual(stream_size, orig_size)