forked from openlp/openlp
Fix failing tests
bzr-revno: 2140
This commit is contained in:
commit
14bc31e446
@ -3,9 +3,9 @@ Package to test the openlp.core.lib package.
|
|||||||
"""
|
"""
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
|
|
||||||
from mock import MagicMock, patch
|
from mock import MagicMock, patch, call
|
||||||
|
|
||||||
from openlp.core.lib import str_to_bool, translate, check_directory_exists
|
from openlp.core.lib import str_to_bool, translate, check_directory_exists, get_text_file_string
|
||||||
|
|
||||||
class TestLib(TestCase):
|
class TestLib(TestCase):
|
||||||
|
|
||||||
@ -156,3 +156,44 @@ class TestLib(TestCase):
|
|||||||
# THEN: check_directory_exists raises an exception
|
# THEN: check_directory_exists raises an exception
|
||||||
mocked_exists.assert_called_with(directory_to_check)
|
mocked_exists.assert_called_with(directory_to_check)
|
||||||
self.assertRaises(ValueError, check_directory_exists, directory_to_check)
|
self.assertRaises(ValueError, check_directory_exists, directory_to_check)
|
||||||
|
|
||||||
|
def get_text_file_string_no_file_test(self):
|
||||||
|
"""
|
||||||
|
Test the get_text_file_string() function when a file does not exist
|
||||||
|
"""
|
||||||
|
with patch(u'openlp.core.lib.os.path.isfile') as mocked_isfile:
|
||||||
|
# GIVEN: A mocked out isfile which returns true, and a text file name
|
||||||
|
filename = u'testfile.txt'
|
||||||
|
mocked_isfile.return_value = False
|
||||||
|
|
||||||
|
# WHEN: get_text_file_string is called
|
||||||
|
result = get_text_file_string(filename)
|
||||||
|
|
||||||
|
# THEN: The result should be False
|
||||||
|
mocked_isfile.assert_called_with(filename)
|
||||||
|
assert result is False, u'False should be returned if no file exists'
|
||||||
|
|
||||||
|
def get_text_file_string_read_error_test(self):
|
||||||
|
"""
|
||||||
|
Test the get_text_file_string() method when a read error happens
|
||||||
|
"""
|
||||||
|
with patch(u'openlp.core.lib.os.path.isfile') as mocked_isfile, patch(u'__builtin__.open') as mocked_open:
|
||||||
|
# GIVEN: A mocked-out open() which raises an exception and isfile returns True
|
||||||
|
filename = u'testfile.txt'
|
||||||
|
mocked_isfile.return_value = True
|
||||||
|
mocked_open.side_effect = IOError()
|
||||||
|
|
||||||
|
# WHEN: get_text_file_string is called
|
||||||
|
result = get_text_file_string(filename)
|
||||||
|
|
||||||
|
# THEN: None should be returned
|
||||||
|
mocked_isfile.assert_called_with(filename)
|
||||||
|
mocked_open.assert_called_with(filename, u'r')
|
||||||
|
assert result is None, u'None should be returned if the file cannot be opened'
|
||||||
|
|
||||||
|
def get_text_file_string_decode_error_test(self):
|
||||||
|
"""
|
||||||
|
Test the get_text_file_string() method when the contents cannot be decoded
|
||||||
|
"""
|
||||||
|
assert True, u'Impossible to test due to conflicts when mocking out the "open" function'
|
||||||
|
|
||||||
|
@ -48,8 +48,7 @@ class TestAppLocation(TestCase):
|
|||||||
data_path = AppLocation.get_data_path()
|
data_path = AppLocation.get_data_path()
|
||||||
# THEN: the mocked Settings methods were called and the value returned was our set up value
|
# THEN: the mocked Settings methods were called and the value returned was our set up value
|
||||||
mocked_settings.contains.assert_called_with(u'advanced/data path')
|
mocked_settings.contains.assert_called_with(u'advanced/data path')
|
||||||
mocked_settings.value.assert_called_with(u'advanced/data path')
|
mocked_settings.value.assert_called_with(u'advanced/data path', u'')
|
||||||
mocked_settings.value.return_value.toString.assert_called_with()
|
|
||||||
assert data_path == u'custom/dir', u'Result should be "custom/dir"'
|
assert data_path == u'custom/dir', u'Result should be "custom/dir"'
|
||||||
|
|
||||||
def get_section_data_path_test(self):
|
def get_section_data_path_test(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user