##// END OF EJS Templates
If thread is specified in the post template, do not load it again
If thread is specified in the post template, do not load it again

File last commit:

r1441:f2404e3c merge decentral
r1670:c9facaf1 default
Show More
test_views.py
46 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',
'api_sync_pull',
}
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