context_processors: Convert tests to pytest style

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
This commit is contained in:
Sunil Mohan Adapa 2019-05-01 16:11:00 -07:00 committed by Joseph Nuthalapati
parent 8cd08c2a76
commit 8587df1f4a
No known key found for this signature in database
GPG Key ID: 5398F00A2FA43C35

View File

@ -18,65 +18,57 @@
"""
Test module for custom context processors.
"""
from unittest.mock import Mock, MagicMock
from unittest.mock import MagicMock, Mock
from django.http import HttpRequest
from django.test import TestCase
from plinth import cfg
from plinth import context_processors as cp
from plinth import menu
def setUpModule(): # noqa
"""Setup all test cases by initializing menu module."""
menu.init()
def test_common():
"""Verify that the common() function returns the correct values."""
cfg.read() # initialize config settings
request = HttpRequest()
request.path = '/aaa/bbb/ccc/'
request.user = Mock()
request.user.groups.filter().exists = Mock(return_value=True)
request.session = MagicMock()
response = cp.common(request)
assert response is not None
config = response['cfg']
assert config is not None
assert config.box_name == 'FreedomBox'
assert response['box_name'] == 'FreedomBox'
submenu = response['submenu']
assert submenu is None
urls = response['active_menu_urls']
assert urls is not None
assert ['/', '/aaa/', '/aaa/bbb/', '/aaa/bbb/ccc/'] == urls
assert response['user_is_admin']
class ContextProcessorsTestCase(TestCase):
"""Verify behavior of the context_processors module."""
def test_common_border_conditions():
"""Verify that the common() function works for border conditions."""
request = HttpRequest()
request.path = ''
request.user = Mock()
request.user.groups.filter().exists = Mock(return_value=True)
request.session = MagicMock()
response = cp.common(request)
assert response['active_menu_urls'] == []
def test_common(self):
"""Verify that the common() function returns the correct values."""
cfg.read() # initialize config settings
request.path = '/'
response = cp.common(request)
assert response['active_menu_urls'] == ['/']
request = HttpRequest()
request.path = '/aaa/bbb/ccc/'
request.user = Mock()
request.user.groups.filter().exists = Mock(return_value=True)
request.session = MagicMock()
response = cp.common(request)
self.assertIsNotNone(response)
config = response['cfg']
self.assertIsNotNone(config)
self.assertEqual('FreedomBox', config.box_name)
self.assertEqual('FreedomBox', response['box_name'])
submenu = response['submenu']
self.assertIsNone(submenu)
urls = response['active_menu_urls']
self.assertIsNotNone(urls)
self.assertEqual(['/', '/aaa/', '/aaa/bbb/', '/aaa/bbb/ccc/'], urls)
self.assertTrue(response['user_is_admin'])
def test_common_border_conditions(self):
"""Verify that the common() function works for border conditions."""
request = HttpRequest()
request.path = ''
request.user = Mock()
request.user.groups.filter().exists = Mock(return_value=True)
request.session = MagicMock()
response = cp.common(request)
self.assertEqual([], response['active_menu_urls'])
request.path = '/'
response = cp.common(request)
self.assertEqual(['/'], response['active_menu_urls'])
request.path = '/aaa/bbb'
response = cp.common(request)
self.assertEqual(['/', '/aaa/'], response['active_menu_urls'])
request.path = '/aaa/bbb'
response = cp.common(request)
assert response['active_menu_urls'] == ['/', '/aaa/']