From c30eedda089f022175522f084d6f7b36fd7771d5 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Sun, 29 Sep 2013 23:21:47 +0200 Subject: [PATCH] Some more updates to some of the tests. --- tests/functional/openlp_core_lib/test_lib.py | 92 +++++++++++-------- .../openlp_core_lib/test_pluginmanager.py | 12 +-- 2 files changed, 61 insertions(+), 43 deletions(-) diff --git a/tests/functional/openlp_core_lib/test_lib.py b/tests/functional/openlp_core_lib/test_lib.py index 4b67cee2b..5e2bd187b 100644 --- a/tests/functional/openlp_core_lib/test_lib.py +++ b/tests/functional/openlp_core_lib/test_lib.py @@ -45,9 +45,9 @@ TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', class TestLib(TestCase): - def str_to_bool_with_bool_test(self): + def str_to_bool_with_bool_true_test(self): """ - Test the str_to_bool function with boolean input + Test the str_to_bool function with boolean input of True """ # GIVEN: A boolean value set to true true_boolean = True @@ -56,9 +56,13 @@ class TestLib(TestCase): true_result = str_to_bool(true_boolean) # THEN: We should get back a True bool - assert isinstance(true_result, bool), 'The result should be a boolean' - assert true_result is True, 'The result should be True' + self.assertIsInstance(true_result, bool, 'The result should be a boolean') + self.assertTrue(true_result, 'The result should be True') + def str_to_bool_with_bool_false_test(self): + """ + Test the str_to_bool function with boolean input of False + """ # GIVEN: A boolean value set to false false_boolean = False @@ -66,12 +70,12 @@ class TestLib(TestCase): false_result = str_to_bool(false_boolean) # THEN: We should get back a True bool - assert isinstance(false_result, bool), 'The result should be a boolean' - assert false_result is False, 'The result should be True' + self.assertIsinstance(false_result, bool, 'The result should be a boolean') + self.assertFalse(false_result, 'The result should be True') - def str_to_bool_with_invalid_test(self): + def str_to_bool_with_integer_test(self): """ - Test the str_to_bool function with a set of invalid inputs + Test the str_to_bool function with an integer input """ # GIVEN: An integer value int_string = 1 @@ -80,8 +84,12 @@ class TestLib(TestCase): int_result = str_to_bool(int_string) # THEN: we should get back a false - assert int_result is False, 'The result should be False' + self.assertFalse(int_result, 'The result should be False') + def str_to_bool_with_invalid_string_test(self): + """ + Test the str_to_bool function with an invalid string + """ # GIVEN: An string value with completely invalid input invalid_string = 'my feet are wet' @@ -89,11 +97,11 @@ class TestLib(TestCase): str_result = str_to_bool(invalid_string) # THEN: we should get back a false - assert str_result is False, 'The result should be False' + self.assertFalse(str_result, 'The result should be False') - def str_to_bool_with_false_values_test(self): + def str_to_bool_with_string_false_test(self): """ - Test the str_to_bool function with a set of false inputs + Test the str_to_bool function with a string saying "false" """ # GIVEN: A string set to "false" false_string = 'false' @@ -102,8 +110,12 @@ class TestLib(TestCase): false_result = str_to_bool(false_string) # THEN: we should get back a false - assert false_result is False, 'The result should be False' + self.assertFalse(false_result, 'The result should be False') + def str_to_bool_with_string_no_test(self): + """ + Test the str_to_bool function with a string saying "NO" + """ # GIVEN: An string set to "NO" no_string = 'NO' @@ -111,11 +123,11 @@ class TestLib(TestCase): str_result = str_to_bool(no_string) # THEN: we should get back a false - assert str_result is False, 'The result should be False' + self.assertFalse(str_result, 'The result should be False') - def str_to_bool_with_true_values_test(self): + def str_to_bool_with_true_string_value_test(self): """ - Test the str_to_bool function with a set of true inputs + Test the str_to_bool function with a string set to "True" """ # GIVEN: A string set to "True" true_string = 'True' @@ -124,8 +136,12 @@ class TestLib(TestCase): true_result = str_to_bool(true_string) # THEN: we should get back a true - assert true_result is True, 'The result should be True' + self.assertTrue(true_result, 'The result should be True') + def str_to_bool_with_yes_string_value_test(self): + """ + Test the str_to_bool function with a string set to "yes" + """ # GIVEN: An string set to "yes" yes_string = 'yes' @@ -133,7 +149,7 @@ class TestLib(TestCase): str_result = str_to_bool(yes_string) # THEN: we should get back a true - assert str_result is True, 'The result should be True' + self.assertTrue(str_result, 'The result should be True') def translate_test(self): """ @@ -152,7 +168,7 @@ class TestLib(TestCase): # THEN: the translated string should be returned, and the mocked function should have been called mocked_translate.assert_called_with(context, text, comment, encoding, n) - assert result == 'Translated string', 'The translated string should have been returned' + self.assertEqual('Translated string', result, 'The translated string should have been returned') def check_directory_exists_test(self): """ @@ -169,7 +185,7 @@ class TestLib(TestCase): # THEN: Only os.path.exists should have been called mocked_exists.assert_called_with(directory_to_check) - assert not mocked_makedirs.called, 'os.makedirs should not have been called' + self.assertIsNot(mocked_makedirs.called, 'os.makedirs should not have been called') # WHEN: os.path.exists returns False and we check the directory exists mocked_exists.return_value = False @@ -207,13 +223,14 @@ class TestLib(TestCase): # THEN: The result should be False mocked_isfile.assert_called_with(filename) - assert result is False, 'False should be returned if no file exists' + self.assertFalse(result, '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('openlp.core.lib.os.path.isfile') as mocked_isfile, patch('openlp.core.lib.open', create=True) as mocked_open: + with patch('openlp.core.lib.os.path.isfile') as mocked_isfile, \ + patch('openlp.core.lib.open', create=True) as mocked_open: # GIVEN: A mocked-out open() which raises an exception and isfile returns True filename = 'testfile.txt' mocked_isfile.return_value = True @@ -225,13 +242,13 @@ class TestLib(TestCase): # THEN: None should be returned mocked_isfile.assert_called_with(filename) mocked_open.assert_called_with(filename, 'r') - assert result is None, 'None should be returned if the file cannot be opened' + self.assertIsNone(result, '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, 'Impossible to test due to conflicts when mocking out the "open" function' + self.skipTest('Impossible to test due to conflicts when mocking out the "open" function') def build_icon_with_qicon_test(self): """ @@ -246,7 +263,7 @@ class TestLib(TestCase): result = build_icon(mocked_icon) # THEN: The result should be our mocked QIcon - assert result is mocked_icon, 'The result should be the mocked QIcon' + self.assertIs(mocked_icon, result, 'The result should be the mocked QIcon') def build_icon_with_resource_test(self): """ @@ -268,7 +285,7 @@ class TestLib(TestCase): MockedQPixmap.assert_called_with(resource_uri) # There really should be more assert statements here but due to type checking and things they all break. The # best we can do is to assert that we get back a MagicMock object. - assert isinstance(result, MagicMock), 'The result should be a MagicMock, because we mocked it out' + self.assertIsInstance(result, MagicMock, 'The result should be a MagicMock, because we mocked it out') def image_to_byte_test(self): """ @@ -293,7 +310,8 @@ class TestLib(TestCase): mocked_buffer.open.assert_called_with('writeonly') mocked_image.save.assert_called_with(mocked_buffer, "PNG") mocked_byte_array.toBase64.assert_called_with() - assert result == 'base64mock', 'The result should be the return value of the mocked out base64 method' + self.assertEqual('base64mock', result, + 'The result should be the return value of the mocked out base64 method') def create_thumb_with_size_test(self): """ @@ -312,16 +330,16 @@ class TestLib(TestCase): pass # Only continue when the thumb does not exist. - assert not os.path.exists(thumb_path), 'Test was not ran, because the thumb already exists.' + self.assertFalse(os.path.exists(thumb_path), 'Test was not run, because the thumb already exists.') # WHEN: Create the thumb. icon = create_thumb(image_path, thumb_path, size=thumb_size) # THEN: Check if the thumb was created. - assert os.path.exists(thumb_path), 'Test was not ran, because the thumb already exists.' - assert isinstance(icon, QtGui.QIcon), 'The icon should be a QIcon.' - assert not icon.isNull(), 'The icon should not be null.' - assert QtGui.QImageReader(thumb_path).size() == thumb_size, 'The thumb should have the given size.' + self.assertTrue(os.path.exists(thumb_path), 'Test was not ran, because the thumb already exists') + self.assertIsInstance(icon, QtGui.QIcon, 'The icon should be a QIcon') + self.assertFalse(icon.isNull(), 'The icon should not be null') + self.assertEqual(thumb_size, QtGui.QImageReader(thumb_path).size(), 'The thumb should have the given size') # Remove the thumb so that the test actually tests if the thumb will be created. try: @@ -344,7 +362,7 @@ class TestLib(TestCase): # THEN: The selectedIndexes function should have been called and the result should be true mocked_list_widget.selectedIndexes.assert_called_with() - assert result, 'The result should be True' + self.assertTrue(result, 'The result should be True') def check_item_selected_false_test(self): """ @@ -352,7 +370,7 @@ class TestLib(TestCase): """ # GIVEN: A mocked out QtGui module and a list widget with selected indexes with patch('openlp.core.lib.QtGui') as MockedQtGui, \ - patch('openlp.core.lib.translate') as mocked_translate: + patch('openlp.core.lib.translate') as mocked_translate: mocked_translate.return_value = 'mocked translate' mocked_list_widget = MagicMock() mocked_list_widget.selectedIndexes.return_value = False @@ -365,7 +383,7 @@ class TestLib(TestCase): # THEN: The selectedIndexes function should have been called and the result should be true mocked_list_widget.selectedIndexes.assert_called_with() MockedQtGui.QMessageBox.information.assert_called_with('parent', 'mocked translate', 'message') - assert not result, 'The result should be False' + self.assertFalse(result, 'The result should be False') def clean_tags_test(self): """ @@ -387,7 +405,7 @@ class TestLib(TestCase): result_string = clean_tags(string_to_pass) # THEN: The strings should be identical. - assert result_string == wanted_string, 'The strings should be identical.' + self.assertEqual(wanted_string, result_string, 'The strings should be identical') def expand_tags_test(self): """ @@ -426,7 +444,7 @@ class TestLib(TestCase): result_string = expand_tags(string_to_pass) # THEN: The strings should be identical. - assert result_string == wanted_string, 'The strings should be identical.' + self.assertEqual(wanted_string, result_string, 'The strings should be identical.') def validate_thumb_file_does_not_exist_test(self): """ diff --git a/tests/functional/openlp_core_lib/test_pluginmanager.py b/tests/functional/openlp_core_lib/test_pluginmanager.py index afd06fc47..485288344 100644 --- a/tests/functional/openlp_core_lib/test_pluginmanager.py +++ b/tests/functional/openlp_core_lib/test_pluginmanager.py @@ -280,8 +280,8 @@ class TestPluginManager(TestCase): plugin_manager.hook_tools_menu() # THEN: The add_tools_menu_item() method should have been called - assert mocked_plugin.add_tools_menu_item.call_count == 0, \ - 'The add_tools_menu_item() method should not have been called.' + self.assertEqual(0, mocked_plugin.add_tools_menu_item.call_count, + 'The add_tools_menu_item() method should not have been called.') def hook_tools_menu_with_active_plugin_test(self): """ @@ -315,7 +315,7 @@ class TestPluginManager(TestCase): # THEN: The is_active() method should have been called, and initialise() method should NOT have been called mocked_plugin.is_active.assert_called_with() - assert mocked_plugin.initialise.call_count == 0, 'The initialise() method should not have been called.' + self.assertEqual(0, mocked_plugin.initialise.call_count, 'The initialise() method should not have been called.') def initialise_plugins_with_active_plugin_test(self): """ @@ -351,7 +351,7 @@ class TestPluginManager(TestCase): # THEN: The is_active() method should have been called, and initialise() method should NOT have been called mocked_plugin.is_active.assert_called_with() - assert mocked_plugin.finalise.call_count == 0, 'The finalise() method should not have been called.' + self.assertEqual(0, mocked_plugin.finalise.call_count, 'The finalise() method should not have been called.') def finalise_plugins_with_active_plugin_test(self): """ @@ -419,8 +419,8 @@ class TestPluginManager(TestCase): # THEN: The isActive() method should have been called, and initialise() method should NOT have been called mocked_plugin.is_active.assert_called_with() - assert mocked_plugin.new_service_created.call_count == 0,\ - 'The new_service_created() method should not have been called.' + self.assertEqual(0, mocked_plugin.new_service_created.call_count, + 'The new_service_created() method should not have been called.') def new_service_created_with_active_plugin_test(self): """