debian-django-cachalot/cachalot/tests/debug_toolbar.py

31 lines
1.1 KiB
Python

from uuid import UUID
from bs4 import BeautifulSoup
from django.test import LiveServerTestCase, override_settings
@override_settings(DEBUG=True)
class DebugToolbarTestCase(LiveServerTestCase):
def test_rendering(self):
#
# Rendering toolbar
#
response = self.client.get('/')
self.assertEqual(response.status_code, 200)
soup = BeautifulSoup(response.content.decode('utf-8'), 'html.parser')
toolbar = soup.find(id='djDebug')
self.assertIsNotNone(toolbar)
store_id = toolbar.attrs['data-store-id']
# Checks that store_id is a valid UUID.
UUID(store_id)
render_panel_url = toolbar.attrs['data-render-panel-url']
panel_id = soup.find(title='Cachalot')['class'][0]
panel_url = ('%s?store_id=%s&panel_id=%s'
% (render_panel_url, store_id, panel_id))
#
# Rendering panel
#
panel_response = self.client.get(panel_url)
self.assertEqual(panel_response.status_code, 200)
# TODO: Check that the displayed data is correct.