From b9244ee62b6247f5ff7ace2062812c683ca92008 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 29 Oct 2019 02:56:48 -0400 Subject: [PATCH] Improve dependecies tests Mute output during tests. Signed-off-by: Roberto Rosario --- HISTORY.rst | 1 + mayan/apps/dependencies/classes.py | 6 ++- mayan/apps/dependencies/tests/test_classes.py | 39 ++++++++++++------- 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index 604ad9b6b5..60eb18f8d7 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -21,6 +21,7 @@ - Update Pillow to version 6.2.1. - Move Celery and Django Celery dependencies to the task manager app. +- Improve dependecies app tests. 3.2.8 (2019-10-01) ================== diff --git a/mayan/apps/dependencies/classes.py b/mayan/apps/dependencies/classes.py index fc498dd254..95caf74d12 100644 --- a/mayan/apps/dependencies/classes.py +++ b/mayan/apps/dependencies/classes.py @@ -403,7 +403,11 @@ class Dependency(object): ] """ print(_('Patching files... '), end='') - sys.stdout.flush() + + try: + sys.stdout.flush() + except AttributeError: + pass if not path: path = self.get_install_path() diff --git a/mayan/apps/dependencies/tests/test_classes.py b/mayan/apps/dependencies/tests/test_classes.py index dbc9f6ff87..9ba3a68d9c 100644 --- a/mayan/apps/dependencies/tests/test_classes.py +++ b/mayan/apps/dependencies/tests/test_classes.py @@ -4,6 +4,7 @@ from pathlib2 import Path import shutil from mayan.apps.common.tests import BaseTestCase +from mayan.apps.common.tests.utils import mute_stdout from mayan.apps.storage.utils import mkdtemp from ..classes import Dependency, Provider @@ -18,36 +19,48 @@ class TestDependency(Dependency): class DependencyClassTestCase(BaseTestCase): - def test_file_patching(self): - test_replace_text = 'replaced_text' + def setUp(self): + super(DependencyClassTestCase, self).setUp() - temporary_directory = mkdtemp() - path_temporary_directory = Path(temporary_directory) - path_test_file = path_temporary_directory / 'test_file.css' + self.test_replace_text = 'replaced_text' - with path_test_file.open(mode='w') as file_object: + self.temporary_directory = mkdtemp() + self.path_temporary_directory = Path(self.temporary_directory) + self.path_test_file = self.path_temporary_directory / 'test_file.css' + + with self.path_test_file.open(mode='w') as file_object: file_object.write( '@import url("https://fonts.googleapis.com/css?family=Lato:400,700,400italic");' ) + self.test_dependency = TestDependency( + name='test_dependency', module=__name__ + ) - dependency = TestDependency(name='test_dependency', module=__name__) + def tearDown(self): + super(DependencyClassTestCase, self).tearDown() + shutil.rmtree(self.temporary_directory, ignore_errors=True) + + def test_file_patching(self): replace_list = [ { 'filename_pattern': '*', 'content_patterns': [ { 'search': '"https://fonts.googleapis.com/css?family=Lato:400,700,400italic"', - 'replace': test_replace_text, + 'replace': self.test_replace_text, } ] } ] - dependency.patch_files(path=temporary_directory, replace_list=replace_list) + with mute_stdout(): + self.test_dependency.patch_files( + path=self.temporary_directory, replace_list=replace_list + ) - with path_test_file.open(mode='r') as file_object: + with self.path_test_file.open(mode='r') as file_object: final_text = file_object.read() - shutil.rmtree(temporary_directory, ignore_errors=True) - - self.assertEqual(final_text, '@import url({});'.format(test_replace_text)) + self.assertEqual( + final_text, '@import url({});'.format(self.test_replace_text) + )