def test_restrict_mediatype(): """Test mime type validation. """ counter = image_hook_counter() ADDINS = [feed_image_restrict_mediatypes(('image/png', 'image/gif')), counter] class TestFeedImage(feedev.File): content = "" def headers(p): if p == 1: return {'Content-Type': 'text/plain'} elif p == 2: return {'Content-Type': 'image/jpeg'} elif p == 3: return {'Content-Type': 'image/png; charset=ISO-8859-1'} # charsets are correctly parsed out elif p == 4: return {'Content-Type': 'image/png'} class TestFeed(feedev.Feed): content = FeedWithImage % (TestFeedImage.url) def pass1(feed): assert counter.success == 0 def pass2(feed): assert counter.success == 0 def pass3(feed): assert counter.success == 1 def pass4(feed): assert counter.success == 2 feedev.testcaller()
def test_failure_reset(): """Image fails if no valid extension (=no image). """ counter = image_hook_counter() ADDINS = [feed_image_restrict_mediatypes(('image/png', 'image/gif')), counter] class TestFeedImage(feedev.File): content = "" def headers(p): if p == 1: return {'Content-Type': 'image/png'} elif p == 2: return {'Content-Type': 'image/jpeg'} class TestFeed(feedev.Feed): content = FeedWithImage % TestFeedImage.url def pass1(feed): assert counter.failure == 0 def pass2(feed): # invalid media types cause the image to fail completely assert counter.failure == 1 feedev.testcaller()