##// END OF EJS Templates
Bumped version
Bumped version

File last commit:

r1175:3d7a615a decentral
r1353:d66dc192 2.10.0 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