Mercurial > public > sg101
view core/tests/test_html.py @ 989:2908859c2fe4
Smilies now use relative links.
This is for upcoming switch to SSL. Currently we do not need absolute URLs for
smilies. If this changes we can add it later.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Thu, 29 Oct 2015 20:54:34 -0500 |
parents | 9b197dbba34b |
children |
line wrap: on
line source
"""Tests for the core.html module.""" import unittest from core.html import ImageCheckError from core.html import image_check TEST_HTML = """ <p>Posters and Facebook events are starting to come in...</p> <p><img src="{src1}" alt="image"></p> <p><img src="{src2}" alt="image"></p> """ class ImageCheckTestCase(unittest.TestCase): def setUp(self): self.allowed_hosts = ['example.com'] def test_happy_path(self): url1 = 'https://example.com/1.jpg' url2 = 'https://example.com/2.jpg' html = TEST_HTML.format(src1=url1, src2=url2) result = image_check(html, self.allowed_hosts) self.assertTrue(result) def test_empty_image(self): url1 = 'https://example.com/1.jpg' url2 = '' html = TEST_HTML.format(src1=url1, src2=url2) self.assertRaises(ImageCheckError, image_check, html, self.allowed_hosts) def test_relative_ok(self): url1 = 'https://example.com/1.jpg' url2 = '/some/path/2.jpg' html = TEST_HTML.format(src1=url1, src2=url2) result = image_check(html, self.allowed_hosts) self.assertTrue(result) def test_non_https(self): url1 = 'http://example.com/1.jpg' url2 = 'https://example.com/2.jpg' html = TEST_HTML.format(src1=url1, src2=url2) self.assertRaises(ImageCheckError, image_check, html, self.allowed_hosts) def test_missing_hostname(self): url1 = 'http:///1.jpg' url2 = 'https://example.com/2.jpg' html = TEST_HTML.format(src1=url1, src2=url2) self.assertRaises(ImageCheckError, image_check, html, self.allowed_hosts) def test_hostname_not_allowed1(self): url1 = 'https://xxx.example.com/1.jpg' url2 = 'https://example.com/2.jpg' html = TEST_HTML.format(src1=url1, src2=url2) self.assertRaises(ImageCheckError, image_check, html, self.allowed_hosts) def test_hostname_not_allowed2(self): url1 = 'https://xxx.example.com/1.jpg' url2 = 'https://yyy.example.com/2.jpg' html = TEST_HTML.format(src1=url1, src2=url2) self.assertRaises(ImageCheckError, image_check, html, self.allowed_hosts) def test_empty_string(self): result = image_check('') self.assertTrue(result) def test_whitespace(self): result = image_check('\r\n\r\n') self.assertTrue(result)