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 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):
|
||||
|
||||
@ -156,3 +156,44 @@ class TestLib(TestCase):
|
||||
# THEN: check_directory_exists raises an exception
|
||||
mocked_exists.assert_called_with(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()
|
||||
# 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.value.assert_called_with(u'advanced/data path')
|
||||
mocked_settings.value.return_value.toString.assert_called_with()
|
||||
mocked_settings.value.assert_called_with(u'advanced/data path', u'')
|
||||
assert data_path == u'custom/dir', u'Result should be "custom/dir"'
|
||||
|
||||
def get_section_data_path_test(self):
|
||||
|
Loading…
Reference in New Issue
Block a user