Fix failing tests

bzr-revno: 2140
This commit is contained in:
Raoul Snyman 2013-01-07 16:40:26 +00:00 committed by Tim Bentley
commit 14bc31e446
2 changed files with 44 additions and 4 deletions

View File

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

View File

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