Improve dependecies tests

Mute output during tests.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-10-29 02:56:48 -04:00
parent ca907c63f6
commit b9244ee62b
3 changed files with 32 additions and 14 deletions

View File

@@ -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)
==================

View File

@@ -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()

View File

@@ -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)
)