##// END OF EJS Templates
Added tag 2.12.0 for changeset 9cffa58fae74
Added tag 2.12.0 for changeset 9cffa58fae74

File last commit:

r1441:f2404e3c merge decentral
r1492:3d14eafa default
Show More
test_views.py
45 lines | 1.2 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 AttributeError:
# This is normal, some views do not have names
pass