openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #32496
[Merge] lp:~trb143/openlp/asserts into lp:openlp
Tim Bentley has proposed merging lp:~trb143/openlp/asserts into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
For more details, see:
https://code.launchpad.net/~trb143/openlp/asserts/+merge/335002
Refactor asserts in api and common packages
lp:~trb143/openlp/asserts (revision 2806)
https://ci.openlp.io/job/Branch-01-Pull/2346/ [SUCCESS]
https://ci.openlp.io/job/Branch-02-Functional-Tests/2247/ [SUCCESS]
https://ci.openlp.io/job/Branch-03-Interface-Tests/2113/ [SUCCESS]
https://ci.openlp.io/job/Branch-04a-Code_Analysis/1439/ [SUCCESS]
https://ci.openlp.io/job/Branch-04b-Test_Coverage/1257/ [SUCCESS]
https://ci.openlp.io/job/Branch-04c-Code_Analysis2/387/ [SUCCESS]
https://ci.openlp.io/job/Branch-05-AppVeyor-Tests/216/ [FAILURE]
Stopping after failure
--
Your team OpenLP Core is requested to review the proposed merge of lp:~trb143/openlp/asserts into lp:openlp.
=== modified file 'tests/functional/openlp_core/api/http/test_error.py'
--- tests/functional/openlp_core/api/http/test_error.py 2017-03-04 19:17:59 +0000
+++ tests/functional/openlp_core/api/http/test_error.py 2017-12-09 16:45:47 +0000
@@ -42,8 +42,8 @@
raise NotFound()
# THEN: we get an error and a status
- self.assertEquals('Not Found', context.exception.message, 'A Not Found exception should be thrown')
- self.assertEquals(404, context.exception.status, 'A 404 status should be thrown')
+ assert 'Not Found' == context.exception.message, 'A Not Found exception should be thrown'
+ assert 404 == context.exception.status, 'A 404 status should be thrown'
def test_server_error(self):
"""
@@ -55,5 +55,5 @@
raise ServerError()
# THEN: we get an error and a status
- self.assertEquals('Server Error', context.exception.message, 'A Not Found exception should be thrown')
- self.assertEquals(500, context.exception.status, 'A 500 status should be thrown')
+ assert'Server Error' == context.exception.message, 'A Not Found exception should be thrown'
+ assert 500 == context.exception.status, 'A 500 status should be thrown'
=== modified file 'tests/functional/openlp_core/api/http/test_http.py'
--- tests/functional/openlp_core/api/http/test_http.py 2017-12-02 10:52:13 +0000
+++ tests/functional/openlp_core/api/http/test_http.py 2017-12-09 16:45:47 +0000
@@ -53,8 +53,8 @@
HttpServer()
# THEN: the api environment should have been created
- self.assertEquals(1, mock_qthread.call_count, 'The qthread should have been called once')
- self.assertEquals(1, mock_thread.call_count, 'The http thread should have been called once')
+ assert mock_qthread.call_count == 1, 'The qthread should have been called once'
+ assert mock_thread.call_count == 1, 'The http thread should have been called once'
@patch('openlp.core.api.http.server.HttpWorker')
@patch('openlp.core.api.http.server.QtCore.QThread')
@@ -68,5 +68,5 @@
HttpServer()
# THEN: the api environment should have been created
- self.assertEquals(0, mock_qthread.call_count, 'The qthread should not have have been called')
- self.assertEquals(0, mock_thread.call_count, 'The http thread should not have been called')
+ assert mock_qthread.call_count == 0, 'The qthread should not have have been called'
+ assert mock_thread.call_count == 0, 'The http thread should not have been called'
=== modified file 'tests/functional/openlp_core/api/http/test_wsgiapp.py'
--- tests/functional/openlp_core/api/http/test_wsgiapp.py 2017-08-12 20:08:12 +0000
+++ tests/functional/openlp_core/api/http/test_wsgiapp.py 2017-12-09 16:45:47 +0000
@@ -61,7 +61,7 @@
application.dispatch(rqst)
# THEN: the not found returned
- self.assertEqual(context.exception.args[0], 'Not Found', 'URL not found in dispatcher')
+ assert context.exception.args[0] == 'Not Found', 'URL not found in dispatcher'
# WHEN: when the URL is correct and dispatch called
rqst = MagicMock()
@@ -69,8 +69,8 @@
rqst.method = 'GET'
application.dispatch(rqst)
# THEN: the not found id called
- self.assertEqual(1, application.route_map['^\\/test\\/image$']['GET'].call_count,
- 'main_index function should have been called')
+ assert 1 == application.route_map['^\\/test\\/image$']['GET'].call_count, \
+ 'main_index function should have been called'
@test_endpoint.route('image')
=== modified file 'tests/functional/openlp_core/api/test_deploy.py'
--- tests/functional/openlp_core/api/test_deploy.py 2017-11-18 11:23:15 +0000
+++ tests/functional/openlp_core/api/test_deploy.py 2017-12-09 16:45:47 +0000
@@ -58,4 +58,4 @@
deploy_zipfile(self.app_root_path, 'site.zip')
# THEN: test if www directory has been created
- self.assertTrue((self.app_root_path / 'www').is_dir(), 'We should have a www directory')
+ assert (self.app_root_path / 'www').is_dir(), 'We should have a www directory'
=== modified file 'tests/functional/openlp_core/api/test_tab.py'
--- tests/functional/openlp_core/api/test_tab.py 2017-10-10 07:08:44 +0000
+++ tests/functional/openlp_core/api/test_tab.py 2017-12-09 16:45:47 +0000
@@ -81,8 +81,8 @@
# WHEN: the default ip address is given
ip_address = self.form.get_ip_address(ZERO_URL)
# THEN: the default ip address will be returned
- self.assertTrue(re.match('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', ip_address),
- 'The return value should be a valid ip address')
+ assert re.match('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', ip_address), \
+ 'The return value should be a valid ip address'
def test_get_ip_address_with_ip(self):
"""
@@ -93,7 +93,7 @@
# WHEN: the default ip address is given
ip_address = self.form.get_ip_address(given_ip)
# THEN: the default ip address will be returned
- self.assertEqual(ip_address, given_ip, 'The return value should be %s' % given_ip)
+ assert ip_address == given_ip, 'The return value should be %s' % given_ip
def test_set_urls(self):
"""
@@ -104,12 +104,11 @@
# WHEN: the urls are generated
self.form.set_urls()
# THEN: the following links are returned
- self.assertEqual(self.form.remote_url.text(),
- "<a href=\"http://192.168.1.1:4316/\">http://192.168.1.1:4316/</a>",
- 'The return value should be a fully formed link')
- self.assertEqual(self.form.stage_url.text(),
- "<a href=\"http://192.168.1.1:4316/stage\">http://192.168.1.1:4316/stage</a>",
- 'The return value should be a fully formed stage link')
- self.assertEqual(self.form.live_url.text(),
- "<a href=\"http://192.168.1.1:4316/main\">http://192.168.1.1:4316/main</a>",
- 'The return value should be a fully formed main link')
+ assert self.form.remote_url.text() == "<a href=\"http://192.168.1.1:4316/\">http://192.168.1.1:4316/</a>", \
+ 'The return value should be a fully formed link'
+ assert self.form.stage_url.text() == \
+ "<a href=\"http://192.168.1.1:4316/stage\">http://192.168.1.1:4316/stage</a>", \
+ 'The return value should be a fully formed stage link'
+ assert self.form.live_url.text() == \
+ "<a href=\"http://192.168.1.1:4316/main\">http://192.168.1.1:4316/main</a>", \
+ 'The return value should be a fully formed main link'
=== modified file 'tests/functional/openlp_core/api/test_websockets.py'
--- tests/functional/openlp_core/api/test_websockets.py 2017-12-02 09:31:13 +0000
+++ tests/functional/openlp_core/api/test_websockets.py 2017-12-09 16:45:47 +0000
@@ -74,8 +74,8 @@
WebSocketServer()
# THEN: the api environment should have been created
- self.assertEquals(1, mock_qthread.call_count, 'The qthread should have been called once')
- self.assertEquals(1, mock_worker.call_count, 'The http thread should have been called once')
+ assert mock_qthread.call_count == 1, 'The qthread should have been called once'
+ assert mock_worker.call_count == 1, 'The http thread should have been called once'
@patch('openlp.core.api.websockets.WebSocketWorker')
@patch('openlp.core.api.websockets.QtCore.QThread')
@@ -89,8 +89,8 @@
WebSocketServer()
# THEN: the api environment should have been created
- self.assertEquals(0, mock_qthread.call_count, 'The qthread should not have been called')
- self.assertEquals(0, mock_worker.call_count, 'The http thread should not have been called')
+ assert mock_qthread.call_count == 0, 'The qthread should not have been called'
+ assert mock_worker.call_count == 0, 'The http thread should not have been called'
def test_main_poll(self):
"""
@@ -102,8 +102,7 @@
Registry().register('live_controller', mocked_live_controller)
# THEN: the live json should be generated
main_json = self.poll.main_poll()
- self.assertEquals(b'{"results": {"slide_count": 5}}', main_json,
- 'The return value should match the defined json')
+ assert b'{"results": {"slide_count": 5}}' == main_json, 'The return value should match the defined json'
def test_poll(self):
"""
@@ -130,13 +129,13 @@
mocked_is_chords_active.return_value = True
poll_json = self.poll.poll()
# THEN: the live json should be generated and match expected results
- self.assertTrue(poll_json['results']['blank'], 'The blank return value should be True')
- self.assertFalse(poll_json['results']['theme'], 'The theme return value should be False')
- self.assertFalse(poll_json['results']['display'], 'The display return value should be False')
- self.assertFalse(poll_json['results']['isSecure'], 'The isSecure return value should be False')
- self.assertFalse(poll_json['results']['isAuthorised'], 'The isAuthorised return value should be False')
- self.assertTrue(poll_json['results']['twelve'], 'The twelve return value should be False')
- self.assertEquals(poll_json['results']['version'], 3, 'The version return value should be 3')
- self.assertEquals(poll_json['results']['slide'], 5, 'The slide return value should be 5')
- self.assertEquals(poll_json['results']['service'], 21, 'The version return value should be 21')
- self.assertEquals(poll_json['results']['item'], '23-34-45', 'The item return value should match 23-34-45')
+ assert poll_json['results']['blank'] is True, 'The blank return value should be True'
+ assert poll_json['results']['theme'] is False, 'The theme return value should be False'
+ assert poll_json['results']['display'] is False, 'The display return value should be False'
+ assert poll_json['results']['isSecure'] is False, 'The isSecure return value should be False'
+ assert poll_json['results']['isAuthorised'] is False, 'The isAuthorised return value should be False'
+ assert poll_json['results']['twelve'] is True, 'The twelve return value should be True'
+ assert poll_json['results']['version'] == 3, 'The version return value should be 3'
+ assert poll_json['results']['slide'] == 5, 'The slide return value should be 5'
+ assert poll_json['results']['service'] == 21, 'The version return value should be 21'
+ assert poll_json['results']['item'] == '23-34-45', 'The item return value should match 23-34-45'
=== modified file 'tests/functional/openlp_core/common/test_actions.py'
--- tests/functional/openlp_core/common/test_actions.py 2017-11-03 22:52:24 +0000
+++ tests/functional/openlp_core/common/test_actions.py 2017-12-09 16:45:47 +0000
@@ -59,8 +59,8 @@
self.list.append(self.action1)
# THEN: The actions should (not) be in the list.
- self.assertTrue(self.action1 in self.list)
- self.assertFalse(self.action2 in self.list)
+ assert self.action1 in self.list
+ assert self.action2 not in self.list
def test_len(self):
"""
@@ -69,14 +69,14 @@
# GIVEN: The list.
# WHEN: Do nothing.
# THEN: Check the length.
- self.assertEqual(len(self.list), 0, "The length should be 0.")
+ assert len(self.list) == 0, "The length should be 0."
# GIVEN: The list.
# WHEN: Append an action.
self.list.append(self.action1)
# THEN: Check the length.
- self.assertEqual(len(self.list), 1, "The length should be 1.")
+ assert len(self.list) == 1, "The length should be 1."
def test_append(self):
"""
@@ -88,10 +88,10 @@
self.list.append(self.action2)
# THEN: Check if the actions are in the list and check if they have the correct weights.
- self.assertTrue(self.action1 in self.list)
- self.assertTrue(self.action2 in self.list)
- self.assertEqual(self.list.actions[0], (0, self.action1))
- self.assertEqual(self.list.actions[1], (1, self.action2))
+ assert self.action1 in self.list
+ assert self.action2 in self.list
+ assert self.list.actions[0] == (0, self.action1)
+ assert self.list.actions[1] == (1, self.action2)
def test_add(self):
"""
@@ -106,11 +106,11 @@
self.list.add(self.action2, action2_weight)
# THEN: Check if they were added and have the specified weights.
- self.assertTrue(self.action1 in self.list)
- self.assertTrue(self.action2 in self.list)
+ assert self.action1 in self.list
+ assert self.action2 in self.list
# Now check if action1 is second and action2 is first (due to their weights).
- self.assertEqual(self.list.actions[0], (41, self.action2))
- self.assertEqual(self.list.actions[1], (42, self.action1))
+ assert self.list.actions[0] == (41, self.action2)
+ assert self.list.actions[1] == (42, self.action1)
def test_iterator(self):
"""
@@ -121,11 +121,11 @@
self.list.add(self.action2)
# WHEN: Iterating over the list
- list = [a for a in self.list]
+ local_list = [a for a in self.list]
# THEN: Make sure they are returned in correct order
- self.assertEquals(len(self.list), 2)
- self.assertIs(list[0], self.action1)
- self.assertIs(list[1], self.action2)
+ assert len(self.list) == 2
+ assert local_list[0] == self.action1
+ assert local_list[1] == self.action2
def test_remove(self):
"""
@@ -138,7 +138,7 @@
self.list.remove(self.action1)
# THEN: Now the element should not be in the list anymore.
- self.assertFalse(self.action1 in self.list)
+ assert self.action1 not in self.list
# THEN: Check if an exception is raised when trying to remove a not present action.
self.assertRaises(ValueError, self.list.remove, self.action2)
=== modified file 'tests/functional/openlp_core/common/test_common.py'
--- tests/functional/openlp_core/common/test_common.py 2017-10-07 07:05:07 +0000
+++ tests/functional/openlp_core/common/test_common.py 2017-12-09 16:45:47 +0000
@@ -48,7 +48,7 @@
extension_loader('glob', ['file2.py', 'file3.py'])
# THEN: `extension_loader` should not try to import any files
- self.assertFalse(mocked_import_module.called)
+ assert mocked_import_module.called is False
def test_extension_loader_files_found(self):
"""
@@ -69,7 +69,8 @@
# THEN: `extension_loader` should only try to import the files that are matched by the blob, excluding the
# files listed in the `excluded_files` argument
- mocked_import_module.assert_has_calls([call('openlp.import_dir.file1'), call('openlp.import_dir.file4')])
+ mocked_import_module.assert_has_calls([call('openlp.import_dir.file1'),
+ call('openlp.import_dir.file4')])
def test_extension_loader_import_error(self):
"""
@@ -87,7 +88,7 @@
extension_loader('glob')
# THEN: The `ImportError` should be caught and logged
- self.assertTrue(mocked_logger.warning.called)
+ assert mocked_logger.warning.called
def test_extension_loader_os_error(self):
"""
@@ -105,7 +106,7 @@
extension_loader('glob')
# THEN: The `OSError` should be caught and logged
- self.assertTrue(mocked_logger.warning.called)
+ assert mocked_logger.warning.called
def test_de_hump_conversion(self):
"""
@@ -118,7 +119,7 @@
new_string = de_hump(string)
# THEN: the new string should be converted to python format
- self.assertEqual(new_string, "my_class", 'The class name should have been converted')
+ assert new_string == "my_class", 'The class name should have been converted'
def test_de_hump_static(self):
"""
@@ -131,7 +132,7 @@
new_string = de_hump(string)
# THEN: the new string should be converted to python format
- self.assertEqual(new_string, "my_class", 'The class name should have been preserved')
+ assert new_string == "my_class", 'The class name should have been preserved'
def test_path_to_module(self):
"""
@@ -144,7 +145,7 @@
result = path_to_module(path)
# THEN: path_to_module should return the module name
- self.assertEqual(result, 'openlp.core.ui.media.webkitplayer')
+ assert result == 'openlp.core.ui.media.webkitplayer'
def test_trace_error_handler(self):
"""
@@ -174,9 +175,9 @@
mocked_sys.platform = 'win32'
# THEN: The three platform functions should perform properly
- self.assertTrue(is_win(), 'is_win() should return True')
- self.assertFalse(is_macosx(), 'is_macosx() should return False')
- self.assertFalse(is_linux(), 'is_linux() should return False')
+ assert is_win(), 'is_win() should return True'
+ assert is_macosx() is False, 'is_macosx() should return False'
+ assert is_linux() is False, 'is_linux() should return False'
def test_is_macosx(self):
"""
@@ -190,9 +191,9 @@
mocked_sys.platform = 'darwin'
# THEN: The three platform functions should perform properly
- self.assertTrue(is_macosx(), 'is_macosx() should return True')
- self.assertFalse(is_win(), 'is_win() should return False')
- self.assertFalse(is_linux(), 'is_linux() should return False')
+ assert is_macosx(), 'is_macosx() should return True'
+ assert is_win() is False, 'is_win() should return False'
+ assert is_linux() is False, 'is_linux() should return False'
def test_is_linux(self):
"""
@@ -206,9 +207,9 @@
mocked_sys.platform = 'linux3'
# THEN: The three platform functions should perform properly
- self.assertTrue(is_linux(), 'is_linux() should return True')
- self.assertFalse(is_win(), 'is_win() should return False')
- self.assertFalse(is_macosx(), 'is_macosx() should return False')
+ assert is_linux(), 'is_linux() should return True'
+ assert is_win() is False, 'is_win() should return False'
+ assert is_macosx() is False, 'is_macosx() should return False'
def test_clean_button_text(self):
"""
@@ -222,4 +223,4 @@
actual_text = clean_button_text(input_text)
# THEN: The text should have been cleaned
- self.assertEqual(expected_text, actual_text, 'The text should be clean')
+ assert expected_text == actual_text, 'The text should be clean'
=== modified file 'tests/functional/openlp_core/common/test_httputils.py'
--- tests/functional/openlp_core/common/test_httputils.py 2017-11-03 20:55:41 +0000
+++ tests/functional/openlp_core/common/test_httputils.py 2017-12-09 16:45:47 +0000
@@ -59,7 +59,7 @@
# THEN: The user agent is a Linux (or ChromeOS) user agent
result = 'Linux' in user_agent or 'CrOS' in user_agent
- self.assertTrue(result, 'The user agent should be a valid Linux user agent')
+ assert result, 'The user agent should be a valid Linux user agent'
def test_get_user_agent_windows(self):
"""
@@ -74,7 +74,7 @@
user_agent = get_user_agent()
# THEN: The user agent is a Linux (or ChromeOS) user agent
- self.assertIn('Windows', user_agent, 'The user agent should be a valid Windows user agent')
+ assert 'Windows' in user_agent, 'The user agent should be a valid Windows user agent'
def test_get_user_agent_macos(self):
"""
@@ -89,7 +89,7 @@
user_agent = get_user_agent()
# THEN: The user agent is a Linux (or ChromeOS) user agent
- self.assertIn('Mac OS X', user_agent, 'The user agent should be a valid OS X user agent')
+ assert 'Mac OS X' in user_agent, 'The user agent should be a valid OS X user agent'
def test_get_user_agent_default(self):
"""
@@ -104,7 +104,7 @@
user_agent = get_user_agent()
# THEN: The user agent is a Linux (or ChromeOS) user agent
- self.assertIn('NetBSD', user_agent, 'The user agent should be the default user agent')
+ assert 'NetBSD'in user_agent, 'The user agent should be the default user agent'
def test_get_web_page_no_url(self):
"""
@@ -117,7 +117,7 @@
result = get_web_page(test_url)
# THEN: None should be returned
- self.assertIsNone(result, 'The return value of get_web_page should be None')
+ assert result is None, 'The return value of get_web_page should be None'
@patch('openlp.core.common.httputils.requests')
@patch('openlp.core.common.httputils.get_user_agent')
=== modified file 'tests/functional/openlp_core/common/test_init.py'
--- tests/functional/openlp_core/common/test_init.py 2017-11-18 23:14:28 +0000
+++ tests/functional/openlp_core/common/test_init.py 2017-12-09 16:45:47 +0000
@@ -63,8 +63,8 @@
add_actions(mocked_target, empty_list)
# THEN: The add method on the mocked target is never called
- self.assertEqual(0, mocked_target.addSeparator.call_count, 'addSeparator method should not have been called')
- self.assertEqual(0, mocked_target.addAction.call_count, 'addAction method should not have been called')
+ assert mocked_target.addSeparator.call_count == 0, 'addSeparator method should not have been called'
+ assert mocked_target.addAction.call_count == 0, 'addAction method should not have been called'
def test_add_actions_none_action(self):
"""
@@ -79,7 +79,7 @@
# THEN: The addSeparator method is called, but the addAction method is never called
mocked_target.addSeparator.assert_called_with()
- self.assertEqual(0, mocked_target.addAction.call_count, 'addAction method should not have been called')
+ assert mocked_target.addAction.call_count == 0, 'addAction method should not have been called'
def test_add_actions_add_action(self):
"""
@@ -93,7 +93,7 @@
add_actions(mocked_target, action_list)
# THEN: The addSeparator method is not called, and the addAction method is called
- self.assertEqual(0, mocked_target.addSeparator.call_count, 'addSeparator method should not have been called')
+ assert mocked_target.addSeparator.call_count == 0, 'addSeparator method should not have been called'
mocked_target.addAction.assert_called_with('action')
def test_add_actions_action_and_none(self):
@@ -150,9 +150,8 @@
result = get_uno_command()
# THEN: The command 'libreoffice' should be called with the appropriate parameters
- self.assertEquals(result,
- 'libreoffice --nologo --norestore --minimized --nodefault --nofirststartwizard'
- ' "--accept=pipe,name=openlp_pipe;urp;"')
+ assert result == 'libreoffice --nologo --norestore --minimized --nodefault --nofirststartwizard' \
+ ' "--accept=pipe,name=openlp_pipe;urp;"'
def test_get_uno_command_only_soffice_command_exists(self):
"""
@@ -169,8 +168,8 @@
result = get_uno_command()
# THEN: The command 'soffice' should be called with the appropriate parameters
- self.assertEquals(result, 'soffice --nologo --norestore --minimized --nodefault --nofirststartwizard'
- ' "--accept=pipe,name=openlp_pipe;urp;"')
+ assert result == 'soffice --nologo --norestore --minimized --nodefault --nofirststartwizard' \
+ ' "--accept=pipe,name=openlp_pipe;urp;"'
def test_get_uno_command_when_no_command_exists(self):
"""
@@ -198,8 +197,8 @@
result = get_uno_command('socket')
# THEN: The connection parameters should be set for socket
- self.assertEqual(result, 'libreoffice --nologo --norestore --minimized --nodefault --nofirststartwizard'
- ' "--accept=socket,host=localhost,port=2002;urp;"')
+ assert result == 'libreoffice --nologo --norestore --minimized --nodefault --nofirststartwizard' \
+ ' "--accept=socket,host=localhost,port=2002;urp;"'
def test_get_filesystem_encoding_sys_function_not_called(self):
"""
@@ -215,8 +214,8 @@
# THEN: getdefaultencoding should have been called
mocked_getfilesystemencoding.assert_called_with()
- self.assertEqual(0, mocked_getdefaultencoding.called, 'getdefaultencoding should not have been called')
- self.assertEqual('cp1252', result, 'The result should be "cp1252"')
+ assert mocked_getdefaultencoding.called == 0, 'getdefaultencoding should not have been called'
+ assert 'cp1252' == result, 'The result should be "cp1252"'
def test_get_filesystem_encoding_sys_function_is_called(self):
"""
@@ -234,7 +233,7 @@
# THEN: getdefaultencoding should have been called
mocked_getfilesystemencoding.assert_called_with()
mocked_getdefaultencoding.assert_called_with()
- self.assertEqual('utf-8', result, 'The result should be "utf-8"')
+ assert 'utf-8' == result, 'The result should be "utf-8"'
def test_clean_filename(self):
"""
@@ -248,7 +247,7 @@
result = clean_filename(invalid_name)
# THEN: The file name should be cleaned.
- self.assertEqual(wanted_name, result, 'The file name should not contain any special characters.')
+ assert wanted_name == result, 'The file name should not contain any special characters.'
def test_delete_file_no_path(self):
"""
@@ -259,7 +258,7 @@
result = delete_file(None)
# THEN: delete_file should return False
- self.assertFalse(result, "delete_file should return False when called with None")
+ assert not result, "delete_file should return False when called with None"
def test_delete_file_path_success(self):
"""
@@ -272,7 +271,7 @@
result = delete_file(Path('path', 'file.ext'))
# THEN: delete_file should return True
- self.assertTrue(result, 'delete_file should return True when it successfully deletes a file')
+ assert result, 'delete_file should return True when it successfully deletes a file'
def test_delete_file_path_no_file_exists(self):
"""
@@ -286,8 +285,8 @@
result = delete_file(Path('path', 'file.ext'))
# THEN: The function should not attempt to delete the file and it should return True
- self.assertFalse(mocked_unlink.called)
- self.assertTrue(result, 'delete_file should return True when the file doesnt exist')
+ assert mocked_unlink.called is False
+ assert result, 'delete_file should return True when the file doesnt exist'
def test_delete_file_path_exception(self):
"""
@@ -303,8 +302,8 @@
result = delete_file(Path('path', 'file.ext'))
# THEN: The exception should be logged and `delete_file` should return False
- self.assertTrue(mocked_log.exception.called)
- self.assertFalse(result, 'delete_file should return False when an OSError is raised')
+ assert mocked_log.exception.called
+ assert result is False, 'delete_file should return False when an OSError is raised'
def test_get_file_encoding_done(self):
"""
@@ -323,9 +322,9 @@
# THEN: The feed method of UniversalDetector should only br called once before returning a result
mocked_open.assert_called_once_with('rb')
- self.assertEqual(mocked_universal_detector_inst.feed.mock_calls, [call(b"data" * 256)])
+ assert mocked_universal_detector_inst.feed.mock_calls == [call(b"data" * 256)]
mocked_universal_detector_inst.close.assert_called_once_with()
- self.assertEqual(result, encoding_result)
+ assert result == encoding_result
def test_get_file_encoding_eof(self):
"""
@@ -345,9 +344,9 @@
# THEN: The feed method of UniversalDetector should have been called twice before returning a result
mocked_open.assert_called_once_with('rb')
- self.assertEqual(mocked_universal_detector_inst.feed.mock_calls, [call(b"data" * 256), call(b"data" * 4)])
+ assert mocked_universal_detector_inst.feed.mock_calls == [call(b"data" * 256), call(b"data" * 4)]
mocked_universal_detector_inst.close.assert_called_once_with()
- self.assertEqual(result, encoding_result)
+ assert result, encoding_result
def test_get_file_encoding_oserror(self):
"""
@@ -364,4 +363,4 @@
# THEN: log.exception should be called and get_file_encoding should return None
mocked_log.exception.assert_called_once_with('Error detecting file encoding')
- self.assertIsNone(result)
+ assert not result
=== modified file 'tests/functional/openlp_core/common/test_json.py'
--- tests/functional/openlp_core/common/test_json.py 2017-08-25 20:03:25 +0000
+++ tests/functional/openlp_core/common/test_json.py 2017-12-09 16:45:47 +0000
@@ -45,7 +45,7 @@
result = instance.object_hook({'__Path__': ['test', 'path']})
# THEN: A Path object should be returned
- self.assertEqual(result, Path('test', 'path'))
+ assert result == Path('test', 'path')
def test_object_hook_non_path_object(self):
"""
@@ -59,8 +59,8 @@
result = instance.object_hook({'key': 'value'})
# THEN: The object should be returned unchanged and a Path object should not have been initiated
- self.assertEqual(result, {'key': 'value'})
- self.assertFalse(mocked_path.called)
+ assert result == {'key': 'value'}
+ assert not mocked_path.called
def test_json_decode(self):
"""
@@ -73,7 +73,7 @@
obj = json.loads(json_string, cls=OpenLPJsonDecoder)
# THEN: The object returned should be a python version of the JSON string
- self.assertEqual(obj, [Path('test', 'path1'), Path('test', 'path2')])
+ assert obj == [Path('test', 'path1'), Path('test', 'path2')]
class TestOpenLPJsonEncoder(TestCase):
@@ -91,7 +91,7 @@
result = instance.default(Path('test', 'path'))
# THEN: A dictionary object that can be JSON encoded should be returned
- self.assertEqual(result, {'__Path__': ('test', 'path')})
+ assert result == {'__Path__': ('test', 'path')}
def test_default_non_path_object(self):
"""
@@ -119,4 +119,4 @@
json_string = json.dumps(obj, cls=OpenLPJsonEncoder)
# THEN: The JSON string return should be a representation of the object encoded
- self.assertEqual(json_string, '[{"__Path__": ["test", "path1"]}, {"__Path__": ["test", "path2"]}]')
+ assert json_string == '[{"__Path__": ["test", "path1"]}, {"__Path__": ["test", "path2"]}]'
=== modified file 'tests/functional/openlp_core/common/test_mixins.py'
--- tests/functional/openlp_core/common/test_mixins.py 2017-10-23 22:09:57 +0000
+++ tests/functional/openlp_core/common/test_mixins.py 2017-12-09 16:45:47 +0000
@@ -46,7 +46,7 @@
# GIVEN an Empty Registry
# WHEN there is no Application
# THEN the application should be none
- self.assertEqual(self.application, None, 'The application value should be None')
+ assert not self.application, 'The application value should be None'
def test_application(self):
"""
@@ -59,7 +59,7 @@
Registry().register('application', application)
# THEN the application should be none
- self.assertEqual(self.application, application, 'The application value should match')
+ assert self.application == application, 'The application value should match'
@patch('openlp.core.common.mixins.is_win')
def test_application_on_windows(self, mocked_is_win):
@@ -74,7 +74,7 @@
Registry().register('application', application)
# THEN the application should be none
- self.assertEqual(self.application, application, 'The application value should match')
+ assert self.application == application, 'The application value should match'
@patch('openlp.core.common.mixins.is_win')
def test_get_application_on_windows(self, mocked_is_win):
@@ -93,6 +93,6 @@
actual_application = reg_props.application
# THEN the application should be the mock object, and the correct function should have been called
- self.assertEqual(mock_application, actual_application, 'The application value should match')
+ assert mock_application == actual_application, 'The application value should match'
mocked_is_win.assert_called_with()
mocked_get.assert_called_with('application')
=== modified file 'tests/functional/openlp_core/common/test_path.py'
--- tests/functional/openlp_core/common/test_path.py 2017-11-20 21:57:34 +0000
+++ tests/functional/openlp_core/common/test_path.py 2017-12-09 16:45:47 +0000
@@ -47,8 +47,8 @@
result_args, result_kwargs = replace_params(test_args, test_kwargs, test_params)
# THEN: The positional and keyword args should not have changed
- self.assertEqual(test_args, result_args)
- self.assertEqual(test_kwargs, result_kwargs)
+ assert test_args == result_args
+ assert test_kwargs == result_kwargs
def test_replace_params_params(self):
"""
@@ -63,8 +63,8 @@
result_args, result_kwargs = replace_params(test_args, test_kwargs, test_params)
# THEN: The positional and keyword args should have have changed
- self.assertEqual(result_args, (1, '2'))
- self.assertEqual(result_kwargs, {'arg3': '3', 'arg4': 4})
+ assert result_args == (1, '2')
+ assert result_kwargs == {'arg3': '3', 'arg4': 4}
def test_copy(self):
"""
@@ -82,7 +82,7 @@
# :func:`shutil.copy` as a Path object.
mocked_shutil_copy.assert_called_once_with(os.path.join('source', 'test', 'path'),
os.path.join('destination', 'test', 'path'))
- self.assertEqual(result, Path('destination', 'test', 'path'))
+ assert result == Path('destination', 'test', 'path')
def test_copy_follow_optional_params(self):
"""
@@ -114,7 +114,7 @@
# :func:`shutil.copyfile` as a Path object.
mocked_shutil_copyfile.assert_called_once_with(os.path.join('source', 'test', 'path'),
os.path.join('destination', 'test', 'path'))
- self.assertEqual(result, Path('destination', 'test', 'path'))
+ assert result == Path('destination', 'test', 'path')
def test_copyfile_optional_params(self):
"""
@@ -147,7 +147,7 @@
# :func:`shutil.copytree` as a Path object.
mocked_shutil_copytree.assert_called_once_with(os.path.join('source', 'test', 'path'),
os.path.join('destination', 'test', 'path'))
- self.assertEqual(result, Path('destination', 'test', 'path'))
+ assert result == Path('destination', 'test', 'path')
def test_copytree_optional_params(self):
"""
@@ -177,12 +177,11 @@
path = Path('test', 'path')
# WHEN: Calling :func:`openlp.core.common.path.rmtree` with the path parameter as Path object type
- result = path.rmtree()
+ path.rmtree()
# THEN: :func:`shutil.rmtree` should have been called with the str equivalents of the Path object.
mocked_shutil_rmtree.assert_called_once_with(
os.path.join('test', 'path'), False, None)
- self.assertIsNone(result)
def test_rmtree_optional_params(self):
"""
@@ -214,7 +213,7 @@
# THEN: :func:`shutil.which` should have been called with the command, and :func:`which` should return None.
mocked_shutil_which.assert_called_once_with('no_command')
- self.assertIsNone(result)
+ assert not result
def test_which_command(self):
"""
@@ -230,7 +229,7 @@
# THEN: :func:`shutil.which` should have been called with the command, and :func:`which` should return a
# Path object equivalent of the command path.
mocked_shutil_which.assert_called_once_with('command')
- self.assertEqual(result, Path('path', 'to', 'command'))
+ assert result == Path('path', 'to', 'command')
class TestPath(TestCase):
@@ -257,7 +256,7 @@
result = path_to_str(None)
# THEN: `path_to_str` should return an empty string
- self.assertEqual(result, '')
+ assert not result
def test_path_to_str_path_object(self):
"""
@@ -268,7 +267,7 @@
result = path_to_str(Path('test/path'))
# THEN: `path_to_str` should return a string representation of the Path object
- self.assertEqual(result, os.path.join('test', 'path'))
+ assert result == os.path.join('test', 'path')
def test_str_to_path_type_error(self):
"""
@@ -289,7 +288,7 @@
result = str_to_path('')
# THEN: `path_to_str` should return None
- self.assertEqual(result, None)
+ assert not result
def test_path_encode_json(self):
"""
@@ -301,7 +300,7 @@
path = Path.encode_json({'__Path__': ['path', 'to', 'fi.le']}, extra=1, args=2)
# THEN: A Path object should have been returned
- self.assertEqual(path, Path('path', 'to', 'fi.le'))
+ assert path == Path('path', 'to', 'fi.le')
def test_path_encode_json_base_path(self):
"""
@@ -313,7 +312,7 @@
path = Path.encode_json({'__Path__': ['path', 'to', 'fi.le']}, base_path=Path('/base'))
# THEN: A Path object should have been returned with an absolute path
- self.assertEqual(path, Path('/', 'base', 'path', 'to', 'fi.le'))
+ assert path == Path('/', 'base', 'path', 'to', 'fi.le')
def test_path_json_object(self):
"""
@@ -326,7 +325,7 @@
obj = path.json_object(extra=1, args=2)
# THEN: A JSON decodable object should have been returned.
- self.assertEqual(obj, {'__Path__': ('/', 'base', 'path', 'to', 'fi.le')})
+ assert obj == {'__Path__': ('/', 'base', 'path', 'to', 'fi.le')}
def test_path_json_object_base_path(self):
"""
@@ -340,7 +339,7 @@
obj = path.json_object(base_path=Path('/', 'base'))
# THEN: A JSON decodable object should have been returned.
- self.assertEqual(obj, {'__Path__': ('path', 'to', 'fi.le')})
+ assert obj == {'__Path__': ('path', 'to', 'fi.le')}
def test_create_paths_dir_exists(self):
"""
=== modified file 'tests/functional/openlp_core/common/test_projector_utilities.py'
--- tests/functional/openlp_core/common/test_projector_utilities.py 2016-12-31 11:01:36 +0000
+++ tests/functional/openlp_core/common/test_projector_utilities.py 2017-12-09 16:45:47 +0000
@@ -57,7 +57,7 @@
valid = verify_ip_address(addr=ip4_loopback)
# THEN: Verify we received True
- self.assertTrue(valid, 'IPv4 loopback address should have been valid')
+ assert valid, 'IPv4 loopback address should have been valid'
def test_ip4_local_valid(self):
"""
@@ -67,7 +67,7 @@
valid = verify_ip_address(addr=ip4_local)
# THEN: Verify we received True
- self.assertTrue(valid, 'IPv4 local address should have been valid')
+ assert valid, 'IPv4 local address should have been valid'
def test_ip4_broadcast_valid(self):
"""
@@ -77,7 +77,7 @@
valid = verify_ip_address(addr=ip4_broadcast)
# THEN: Verify we received True
- self.assertTrue(valid, 'IPv4 broadcast address should have been valid')
+ assert valid, 'IPv4 broadcast address should have been valid'
def test_ip4_address_invalid(self):
"""
@@ -87,7 +87,7 @@
valid = verify_ip_address(addr=ip4_bad)
# THEN: Verify we received True
- self.assertFalse(valid, 'Bad IPv4 address should not have been valid')
+ assert not valid, 'Bad IPv4 address should not have been valid'
def test_ip6_loopback_valid(self):
"""
@@ -97,7 +97,7 @@
valid = verify_ip_address(addr=ip6_loopback)
# THEN: Validate return
- self.assertTrue(valid, 'IPv6 loopback address should have been valid')
+ assert valid, 'IPv6 loopback address should have been valid'
def test_ip6_local_valid(self):
"""
@@ -107,7 +107,7 @@
valid = verify_ip_address(addr=ip6_link_local)
# THEN: Validate return
- self.assertTrue(valid, 'IPv6 link-local address should have been valid')
+ assert valid, 'IPv6 link-local address should have been valid'
def test_ip6_address_invalid(self):
"""
@@ -117,7 +117,7 @@
valid = verify_ip_address(addr=ip6_bad)
# THEN: Validate bad return
- self.assertFalse(valid, 'IPv6 bad address should have been invalid')
+ assert not valid, 'IPv6 bad address should have been invalid'
def test_md5_hash(self):
"""
@@ -127,7 +127,7 @@
hash_ = md5_hash(salt=salt.encode('utf-8'), data=pin.encode('utf-8'))
# THEN: Validate return has is same
- self.assertEquals(hash_, test_hash, 'MD5 should have returned a good hash')
+ assert hash_ == test_hash, 'MD5 should have returned a good hash'
def test_md5_hash_bad(self):
"""
@@ -137,7 +137,7 @@
hash_ = md5_hash(salt=pin.encode('utf-8'), data=salt.encode('utf-8'))
# THEN: return data is different
- self.assertNotEquals(hash_, test_hash, 'MD5 should have returned a bad hash')
+ assert hash_ is not test_hash, 'MD5 should have returned a bad hash'
def test_qmd5_hash(self):
"""
@@ -147,7 +147,7 @@
hash_ = qmd5_hash(salt=salt.encode('utf-8'), data=pin.encode('utf-8'))
# THEN: Validate return has is same
- self.assertEquals(hash_, test_hash, 'Qt-MD5 should have returned a good hash')
+ assert hash_ == test_hash, 'Qt-MD5 should have returned a good hash'
def test_qmd5_hash_bad(self):
"""
@@ -157,7 +157,7 @@
hash_ = qmd5_hash(salt=pin.encode('utf-8'), data=salt.encode('utf-8'))
# THEN: return data is different
- self.assertNotEquals(hash_, test_hash, 'Qt-MD5 should have returned a bad hash')
+ assert hash_ is not test_hash, 'Qt-MD5 should have returned a bad hash'
def test_md5_non_ascii_string(self):
"""
@@ -167,7 +167,7 @@
hash_ = md5_hash(salt=test_non_ascii_string.encode('utf-8'), data=None)
# THEN: Valid MD5 hash should be returned
- self.assertEqual(hash_, test_non_ascii_hash, 'MD5 should have returned a valid hash')
+ assert hash_ == test_non_ascii_hash, 'MD5 should have returned a valid hash'
def test_qmd5_non_ascii_string(self):
"""
@@ -177,4 +177,4 @@
hash_ = md5_hash(data=test_non_ascii_string.encode('utf-8'))
# THEN: Valid MD5 hash should be returned
- self.assertEqual(hash_, test_non_ascii_hash, 'Qt-MD5 should have returned a valid hash')
+ assert hash_ == test_non_ascii_hash, 'Qt-MD5 should have returned a valid hash'
=== modified file 'tests/functional/openlp_core/common/test_registry.py'
--- tests/functional/openlp_core/common/test_registry.py 2017-10-23 22:09:57 +0000
+++ tests/functional/openlp_core/common/test_registry.py 2017-12-09 16:45:47 +0000
@@ -51,19 +51,19 @@
# THEN and I will get an exception
with self.assertRaises(KeyError) as context:
Registry().register('test1', mock_1)
- self.assertEqual(context.exception.args[0], 'Duplicate service exception test1',
- 'KeyError exception should have been thrown for duplicate service')
+ assert context.exception.args[0] == 'Duplicate service exception test1', \
+ 'KeyError exception should have been thrown for duplicate service'
# WHEN I try to get back a non existent component
# THEN I will get an exception
temp = Registry().get('test2')
- self.assertEqual(temp, None, 'None should have been returned for missing service')
+ assert not temp, 'None should have been returned for missing service'
# WHEN I try to replace a component I should be allowed
Registry().remove('test1')
# THEN I will get an exception
temp = Registry().get('test1')
- self.assertEqual(temp, None, 'None should have been returned for deleted service')
+ assert not temp, 'None should have been returned for deleted service'
def test_registry_function(self):
"""
@@ -77,21 +77,21 @@
return_value = Registry().execute('test1')
# THEN: I expect then function to have been called and a return given
- self.assertEqual(return_value[0], 'function_1', 'A return value is provided and matches')
+ assert return_value[0] == 'function_1', 'A return value is provided and matches'
# WHEN: I execute the a function with the same reference and execute the function
Registry().register_function('test1', self.dummy_function_1)
return_value = Registry().execute('test1')
# THEN: I expect then function to have been called and a return given
- self.assertEqual(return_value, ['function_1', 'function_1'], 'A return value list is provided and matches')
+ assert return_value == ['function_1', 'function_1'], 'A return value list is provided and matches'
# WHEN: I execute the a 2nd function with the different reference and execute the function
Registry().register_function('test2', self.dummy_function_2)
return_value = Registry().execute('test2')
# THEN: I expect then function to have been called and a return given
- self.assertEqual(return_value[0], 'function_2', 'A return value is provided and matches')
+ assert return_value[0] == 'function_2', 'A return value is provided and matches'
def test_registry_working_flags(self):
"""
@@ -107,28 +107,28 @@
# THEN: we should be able retrieve the saved component
temp = Registry().get_flag('test1')
- self.assertEquals(temp, my_data, 'The value should have been saved')
+ assert temp == my_data, 'The value should have been saved'
# WHEN: I add a component for the second time I am not mad.
# THEN and I will not get an exception
Registry().set_flag('test1', my_data2)
temp = Registry().get_flag('test1')
- self.assertEquals(temp, my_data2, 'The value should have been updated')
+ assert temp == my_data2, 'The value should have been updated'
# WHEN I try to get back a non existent Working Flag
# THEN I will get an exception
with self.assertRaises(KeyError) as context1:
temp = Registry().get_flag('test2')
- self.assertEqual(context1.exception.args[0], 'Working Flag test2 not found in list',
- 'KeyError exception should have been thrown for missing working flag')
+ assert context1.exception.args[0] == 'Working Flag test2 not found in list', \
+ 'KeyError exception should have been thrown for missing working flag'
# WHEN I try to replace a working flag I should be allowed
Registry().remove_flag('test1')
# THEN I will get an exception
with self.assertRaises(KeyError) as context:
temp = Registry().get_flag('test1')
- self.assertEqual(context.exception.args[0], 'Working Flag test1 not found in list',
- 'KeyError exception should have been thrown for duplicate working flag')
+ assert context.exception.args[0] == 'Working Flag test1 not found in list', \
+ 'KeyError exception should have been thrown for duplicate working flag'
def test_remove_function(self):
"""
@@ -174,7 +174,7 @@
PlainStub()
# THEN: Nothing is registered with the registry
- self.assertEqual(len(Registry().functions_list), 0), 'The function should not be in the dict anymore.'
+ assert len(Registry().functions_list) == 0, 'The function should not be in the dict anymore.'
def test_registry_mixin_present(self):
"""
@@ -187,4 +187,4 @@
RegistryStub()
# THEN: The bootstrap methods should be registered
- self.assertEqual(len(Registry().functions_list), 2), 'The bootstrap functions should be in the dict.'
+ assert len(Registry().functions_list) == 2, 'The bootstrap functions should be in the dict.'
=== modified file 'tests/functional/openlp_core/common/test_settings.py'
--- tests/functional/openlp_core/common/test_settings.py 2017-11-16 05:03:19 +0000
+++ tests/functional/openlp_core/common/test_settings.py 2017-12-09 16:45:47 +0000
@@ -139,13 +139,13 @@
extend = settings.value('extend')
# THEN the default value is returned
- self.assertEqual('very wide', extend, 'The default value defined should be returned')
+ assert 'very wide' == extend, 'The default value defined should be returned'
# WHEN a new value is saved into config
Settings().setValue('test/extend', 'very short')
# THEN the new value is returned when re-read
- self.assertEqual('very short', Settings().value('test/extend'), 'The saved value should be returned')
+ assert 'very short' == Settings().value('test/extend'), 'The saved value should be returned'
def test_settings_nonexisting(self):
"""Test the Settings on query for non-existing value"""
@@ -155,7 +155,7 @@
Settings().value('core/does not exists')
# THEN: An exception with the non-existing key should be thrown
- self.assertEqual(str(cm.exception), "'core/does not exists'", 'We should get an exception')
+ assert str(cm.exception) == "'core/does not exists'", 'We should get an exception'
def test_extend_default_settings(self):
"""Test that the extend_default_settings method extends the default settings"""
@@ -167,9 +167,8 @@
Settings.extend_default_settings({'test/setting 3': 4, 'test/extended 1': 1, 'test/extended 2': 2})
# THEN: The _default_settings__ dictionary_ should have the new keys
- self.assertEqual(
- Settings.__default_settings__, {'test/setting 1': 1, 'test/setting 2': 2, 'test/setting 3': 4,
- 'test/extended 1': 1, 'test/extended 2': 2})
+ assert Settings.__default_settings__ == {'test/setting 1': 1, 'test/setting 2': 2, 'test/setting 3': 4,
+ 'test/extended 1': 1, 'test/extended 2': 2}
@patch('openlp.core.common.settings.QtCore.QSettings.contains')
@patch('openlp.core.common.settings.QtCore.QSettings.value')
Follow ups