##// END OF EJS Templates
Save "opening post" flag with the post itself and don't count it every time. Speed up getting posts with attachments and images
Save "opening post" flag with the post itself and don't count it every time. Speed up getting posts with attachments and images

File last commit:

r1175:3d7a615a decentral
r1337:4c8c3ec5 default
Show More
test_views.py
47 lines | 1.3 KiB | text/x-python | PythonLexer
import logging
from django.core.urlresolvers import reverse, NoReverseMatch
from django.test import TestCase, Client
from boards import urls
logger = logging.getLogger(__name__)
HTTP_CODE_OK = 200
EXCLUDED_VIEWS = {
'banned',
'get_thread_diff',
}
class ViewTest(TestCase):
def test_all_views(self):
"""
Try opening all views defined in ulrs.py that don't need additional
parameters
"""
client = Client()
for url in urls.urlpatterns:
try:
view_name = url.name
if view_name in EXCLUDED_VIEWS:
logger.debug('View {} is excluded.'.format(view_name))
continue
logger.debug('Testing view %s' % view_name)
try:
response = client.get(reverse(view_name))
self.assertEqual(HTTP_CODE_OK, response.status_code,
'View not opened: {}'.format(view_name))
except NoReverseMatch:
# This view just needs additional arguments
pass
except Exception as e:
self.fail('Got exception %s at %s view' % (e, view_name))
except AttributeError:
# This is normal, some views do not have names
pass