def test_bottom_right_position_with_vertical_watermark(self): with self.app.app_context(): watermark_filter = WatermarkFilter( **{ 'image': 'watermark_vertical.png', 'size': 0.5, 'position': 'bottom_right' }) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, '_bottom_right_position')(image_jpg) self.assertTupleEqual((35, 250), image.size) self.assertEqual(965, left) self.assertEqual(250, upper) watermark_filter = WatermarkFilter( **{ 'image': 'watermark_vertical.png', 'size': 0.25, 'position': 'bottom_right' }) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, '_bottom_right_position')(image_jpg) self.assertTupleEqual((17, 125), image.size) self.assertEqual(983, left) self.assertEqual(375, upper)
def test_center_position_with_vertical_watermark(self): with self.app.app_context(): watermark_filter = WatermarkFilter( **{ 'image': 'watermark_vertical.png', 'size': 0.5, 'position': 'center' }) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, '_center_position')(image_jpg) self.assertTupleEqual((35, 250), image.size) self.assertEqual(483, left) self.assertEqual(125, upper) watermark_filter = WatermarkFilter( **{ 'image': 'watermark_vertical.png', 'size': 0.25, 'position': 'center' }) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, '_center_position')(image_jpg) self.assertTupleEqual((17, 125), image.size) self.assertEqual(492, left) self.assertEqual(188, upper)
def test_bottom_right_position_with_horizontal_watermark(self): with self.app.app_context(): watermark_filter = WatermarkFilter(**{ 'image': 'watermark.png', 'size': 0.5, 'position': 'bottom_right' }) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, '_bottom_right_position')(image_jpg) self.assertTupleEqual((500, 70), image.size) self.assertEqual(500, left) self.assertEqual(430, upper) watermark_filter = WatermarkFilter(**{ 'image': 'watermark.png', 'size': 0.25, 'position': 'bottom_right' }) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, '_bottom_right_position')(image_jpg) self.assertTupleEqual((250, 35), image.size) self.assertEqual(750, left) self.assertEqual(465, upper)
def test_center_position_with_horizontal_watermark(self): with self.app.app_context(): watermark_filter = WatermarkFilter(**{ 'image': 'watermark.png', 'size': 0.5, 'position': 'center' }) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, '_center_position')(image_jpg) self.assertTupleEqual((500, 70), image.size) self.assertEqual(250, left) self.assertEqual(215, upper) watermark_filter = WatermarkFilter(**{ 'image': 'watermark.png', 'size': 0.25, 'position': 'center' }) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, '_center_position')(image_jpg) self.assertTupleEqual((250, 35), image.size) self.assertEqual(375, left) self.assertEqual(233, upper)
def test_wrong_resource_type(self): with self.app.app_context(): watermark_filter = WatermarkFilter(**{ 'image': 'file.png', 'size': 0.5, 'position': 'center' }) with self.assertRaises(ValueError): watermark_filter.apply('string')
def test_wrong_watermark_path(self): with self.app.app_context(): watermark_filter = WatermarkFilter(**{ 'image': 'file.png', 'size': 0.5, 'position': 'center' }) image_jpg = copy(self.image_png) with self.assertRaises(ValueError): watermark_filter.apply(image_jpg)
def test_watermark_non_rgb(self): with self.app.app_context(): watermark_filter = WatermarkFilter(**{"image": "watermark_nonrgb.tif", "size": 0.5, "position": "top_left"}) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, "_top_left_position")(image_jpg) self.assertTupleEqual((500, 70), image.size) self.assertEqual(0, left) self.assertEqual(0, upper) image_jpg = watermark_filter.apply(image_jpg) self.assertTupleEqual((1000, 500), image_jpg.size)
def test_watermark_non_rgb(self): with self.app.app_context(): watermark_filter = WatermarkFilter( **{ 'image': 'watermark_nonrgb.tif', 'size': 0.5, 'position': 'top_left' }) image_jpg = copy(self.image_png) image, left, upper = getattr(watermark_filter, '_top_left_position')(image_jpg) self.assertTupleEqual((500, 70), image.size) self.assertEqual(0, left) self.assertEqual(0, upper) image_jpg = watermark_filter.apply(image_jpg) self.assertTupleEqual((1000, 500), image_jpg.size)
def test_wrong_init_parameters(self): with self.assertRaises(ValueError): WatermarkFilter(**{}) with self.assertRaises(ValueError): WatermarkFilter(**{'image': 1}) with self.assertRaises(ValueError): WatermarkFilter(**{ 'image': 'watermark.png', 'size': 'string', 'position': 'center' }) with self.assertRaises(ValueError): WatermarkFilter(**{ 'image': 'watermark.png', 'size': 0.5, 'position': 1 }) with self.assertRaises(ValueError): WatermarkFilter(**{'image': 'watermark.png', 'size': 0.5}) with self.assertRaises(ValueError): WatermarkFilter( **{ 'image': 'watermark.png', 'size': 0.5, 'position': 'center', 'opacity': 'string' }) with self.assertRaises(ValueError): WatermarkFilter( **{ 'image': 'watermark.png', 'size': 1.5, 'position': 'center', 'opacity': 'string' }) with self.assertRaises(ValueError): WatermarkFilter( **{ 'image': 'watermark.png', 'size': 0.5, 'position': 'center', 'opacity': 1.5 })
def test_wrong_resource_type(self): with self.app.app_context(): watermark_filter = WatermarkFilter(**{"image": "file.png", "size": 0.5, "position": "center"}) with self.assertRaises(ValueError): watermark_filter.apply("string")
def test_wrong_watermark_path(self): with self.app.app_context(): watermark_filter = WatermarkFilter(**{"image": "file.png", "size": 0.5, "position": "center"}) image_jpg = copy(self.image_png) with self.assertRaises(ValueError): watermark_filter.apply(image_jpg)