From 8587df1f4a0d527459d7555306825aefd1d8355f Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 1 May 2019 16:11:00 -0700 Subject: [PATCH] context_processors: Convert tests to pytest style Signed-off-by: Sunil Mohan Adapa Reviewed-by: Joseph Nuthalapati --- plinth/tests/test_context_processors.py | 94 +++++++++++-------------- 1 file changed, 43 insertions(+), 51 deletions(-) diff --git a/plinth/tests/test_context_processors.py b/plinth/tests/test_context_processors.py index f15ed9bbc..c61394989 100644 --- a/plinth/tests/test_context_processors.py +++ b/plinth/tests/test_context_processors.py @@ -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/']