From 7856c14b26e10aeefb8c217bf06a1f54605063b2 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Thu, 25 Sep 2014 23:03:35 +0200 Subject: [PATCH] tests: Use with stmt for assertRaises --- tests/core/test_tracklist.py | 6 +- tests/local/test_library.py | 96 ++++++++++++------------ tests/local/test_playback.py | 4 +- tests/local/test_tracklist.py | 24 +++--- tests/test_commands.py | 15 ++-- tests/test_models.py | 4 +- tests/utils/network/test_lineprotocol.py | 30 +++++--- tests/utils/network/test_server.py | 33 ++++---- tests/utils/test_jsonrpc.py | 8 +- tests/utils/test_path.py | 3 +- 10 files changed, 116 insertions(+), 107 deletions(-) diff --git a/tests/core/test_tracklist.py b/tests/core/test_tracklist.py index 963a4bb7..b681e097 100644 --- a/tests/core/test_tracklist.py +++ b/tests/core/test_tracklist.py @@ -67,9 +67,11 @@ class TracklistTest(unittest.TestCase): self.assertListEqual(self.tl_tracks[:2], tl_tracks) def test_filter_fails_if_values_isnt_iterable(self): - self.assertRaises(ValueError, self.core.tracklist.filter, tlid=3) + with self.assertRaises(ValueError): + self.core.tracklist.filter(tlid=3) def test_filter_fails_if_values_is_a_string(self): - self.assertRaises(ValueError, self.core.tracklist.filter, uri='a') + with self.assertRaises(ValueError): + self.core.tracklist.filter(uri='a') # TODO Extract tracklist tests from the local backend tests diff --git a/tests/local/test_library.py b/tests/local/test_library.py index 148c82e5..c1f2bcbd 100644 --- a/tests/local/test_library.py +++ b/tests/local/test_library.py @@ -335,42 +335,42 @@ class LocalLibraryProviderTest(unittest.TestCase): self.assertEqual(list(result[0].tracks), self.tracks[:1]) def test_find_exact_wrong_type(self): - test = lambda: self.library.find_exact(wrong=['test']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(wrong=['test']) def test_find_exact_with_empty_query(self): - test = lambda: self.library.find_exact(artist=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(artist=['']) - test = lambda: self.library.find_exact(albumartist=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(albumartist=['']) - test = lambda: self.library.find_exact(track_name=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(track_name=['']) - test = lambda: self.library.find_exact(composer=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(composer=['']) - test = lambda: self.library.find_exact(performer=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(performer=['']) - test = lambda: self.library.find_exact(album=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(album=['']) - test = lambda: self.library.find_exact(track_no=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(track_no=['']) - test = lambda: self.library.find_exact(genre=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(genre=['']) - test = lambda: self.library.find_exact(date=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(date=['']) - test = lambda: self.library.find_exact(comment=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(comment=['']) - test = lambda: self.library.find_exact(any=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.find_exact(any=['']) def test_search_no_hits(self): result = self.library.search(track_name=['unknown track']) @@ -544,39 +544,39 @@ class LocalLibraryProviderTest(unittest.TestCase): self.assertEqual(list(result[0].tracks), self.tracks[:1]) def test_search_wrong_type(self): - test = lambda: self.library.search(wrong=['test']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(wrong=['test']) def test_search_with_empty_query(self): - test = lambda: self.library.search(artist=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(artist=['']) - test = lambda: self.library.search(albumartist=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(albumartist=['']) - test = lambda: self.library.search(composer=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(composer=['']) - test = lambda: self.library.search(performer=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(performer=['']) - test = lambda: self.library.search(track_name=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(track_name=['']) - test = lambda: self.library.search(album=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(album=['']) - test = lambda: self.library.search(genre=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(genre=['']) - test = lambda: self.library.search(date=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(date=['']) - test = lambda: self.library.search(comment=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(comment=['']) - test = lambda: self.library.search(uri=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(uri=['']) - test = lambda: self.library.search(any=['']) - self.assertRaises(LookupError, test) + with self.assertRaises(LookupError): + self.library.search(any=['']) diff --git a/tests/local/test_playback.py b/tests/local/test_playback.py index 7b64e495..ba051fa0 100644 --- a/tests/local/test_playback.py +++ b/tests/local/test_playback.py @@ -1081,5 +1081,5 @@ class LocalPlaybackProviderTest(unittest.TestCase): @populate_tracklist def test_playing_track_that_isnt_in_playlist(self): - test = lambda: self.playback.play((17, Track())) - self.assertRaises(AssertionError, test) + with self.assertRaises(AssertionError): + self.playback.play((17, Track())) diff --git a/tests/local/test_tracklist.py b/tests/local/test_tracklist.py index af07a4e6..9c1d09d7 100644 --- a/tests/local/test_tracklist.py +++ b/tests/local/test_tracklist.py @@ -198,25 +198,25 @@ class LocalTracklistProviderTest(unittest.TestCase): @populate_tracklist def test_moving_track_outside_of_playlist(self): tracks = len(self.controller.tracks) - test = lambda: self.controller.move(0, 0, tracks + 5) - self.assertRaises(AssertionError, test) + with self.assertRaises(AssertionError): + self.controller.move(0, 0, tracks + 5) @populate_tracklist def test_move_group_outside_of_playlist(self): tracks = len(self.controller.tracks) - test = lambda: self.controller.move(0, 2, tracks + 5) - self.assertRaises(AssertionError, test) + with self.assertRaises(AssertionError): + self.controller.move(0, 2, tracks + 5) @populate_tracklist def test_move_group_out_of_range(self): tracks = len(self.controller.tracks) - test = lambda: self.controller.move(tracks + 2, tracks + 3, 0) - self.assertRaises(AssertionError, test) + with self.assertRaises(AssertionError): + self.controller.move(tracks + 2, tracks + 3, 0) @populate_tracklist def test_move_group_invalid_group(self): - test = lambda: self.controller.move(2, 1, 0) - self.assertRaises(AssertionError, test) + with self.assertRaises(AssertionError): + self.controller.move(2, 1, 0) def test_tracks_attribute_is_immutable(self): tracks1 = self.controller.tracks @@ -275,14 +275,14 @@ class LocalTracklistProviderTest(unittest.TestCase): @populate_tracklist def test_shuffle_invalid_subset(self): - test = lambda: self.controller.shuffle(3, 1) - self.assertRaises(AssertionError, test) + with self.assertRaises(AssertionError): + self.controller.shuffle(3, 1) @populate_tracklist def test_shuffle_superset(self): tracks = len(self.controller.tracks) - test = lambda: self.controller.shuffle(1, tracks + 5) - self.assertRaises(AssertionError, test) + with self.assertRaises(AssertionError): + self.controller.shuffle(1, tracks + 5) @populate_tracklist def test_shuffle_open_subset(self): diff --git a/tests/test_commands.py b/tests/test_commands.py index 9d3d0bda..570647c2 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -35,15 +35,12 @@ class ConfigOverrideTypeTest(unittest.TestCase): expected, commands.config_override_type(b'section/key= ')) def test_invalid_override(self): - self.assertRaises( - argparse.ArgumentTypeError, - commands.config_override_type, b'section/key') - self.assertRaises( - argparse.ArgumentTypeError, - commands.config_override_type, b'section=') - self.assertRaises( - argparse.ArgumentTypeError, - commands.config_override_type, b'section') + with self.assertRaises(argparse.ArgumentTypeError): + commands.config_override_type(b'section/key') + with self.assertRaises(argparse.ArgumentTypeError): + commands.config_override_type(b'section=') + with self.assertRaises(argparse.ArgumentTypeError): + commands.config_override_type(b'section') class CommandParsingTest(unittest.TestCase): diff --git a/tests/test_models.py b/tests/test_models.py index 435d4958..7838a6ba 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -1069,8 +1069,8 @@ class SearchResultTest(unittest.TestCase): result.albums = None def test_invalid_kwarg(self): - test = lambda: SearchResult(foo='baz') - self.assertRaises(TypeError, test) + with self.assertRaises(TypeError): + SearchResult(foo='baz') def test_repr_without_results(self): self.assertEquals( diff --git a/tests/utils/network/test_lineprotocol.py b/tests/utils/network/test_lineprotocol.py index d7db67f6..52d6901c 100644 --- a/tests/utils/network/test_lineprotocol.py +++ b/tests/utils/network/test_lineprotocol.py @@ -124,14 +124,16 @@ class LineProtocolTest(unittest.TestCase): self.mock.recv_buffer = '' lines = network.LineProtocol.parse_lines(self.mock) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() def test_parse_lines_no_terminator(self): self.mock.delimiter = re.compile(r'\n') self.mock.recv_buffer = 'data' lines = network.LineProtocol.parse_lines(self.mock) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() def test_parse_lines_termintor(self): self.mock.delimiter = re.compile(r'\n') @@ -139,7 +141,8 @@ class LineProtocolTest(unittest.TestCase): lines = network.LineProtocol.parse_lines(self.mock) self.assertEqual('data', lines.next()) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() self.assertEqual('', self.mock.recv_buffer) def test_parse_lines_termintor_with_carriage_return(self): @@ -148,7 +151,8 @@ class LineProtocolTest(unittest.TestCase): lines = network.LineProtocol.parse_lines(self.mock) self.assertEqual('data', lines.next()) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() self.assertEqual('', self.mock.recv_buffer) def test_parse_lines_no_data_before_terminator(self): @@ -157,7 +161,8 @@ class LineProtocolTest(unittest.TestCase): lines = network.LineProtocol.parse_lines(self.mock) self.assertEqual('', lines.next()) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() self.assertEqual('', self.mock.recv_buffer) def test_parse_lines_extra_data_after_terminator(self): @@ -166,7 +171,8 @@ class LineProtocolTest(unittest.TestCase): lines = network.LineProtocol.parse_lines(self.mock) self.assertEqual('data1', lines.next()) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() self.assertEqual('data2', self.mock.recv_buffer) def test_parse_lines_unicode(self): @@ -175,7 +181,8 @@ class LineProtocolTest(unittest.TestCase): lines = network.LineProtocol.parse_lines(self.mock) self.assertEqual('æøå'.encode('utf-8'), lines.next()) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() self.assertEqual('', self.mock.recv_buffer) def test_parse_lines_multiple_lines(self): @@ -186,7 +193,8 @@ class LineProtocolTest(unittest.TestCase): self.assertEqual('abc', lines.next()) self.assertEqual('def', lines.next()) self.assertEqual('ghi', lines.next()) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() self.assertEqual('jkl', self.mock.recv_buffer) def test_parse_lines_multiple_calls(self): @@ -194,14 +202,16 @@ class LineProtocolTest(unittest.TestCase): self.mock.recv_buffer = 'data1' lines = network.LineProtocol.parse_lines(self.mock) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() self.assertEqual('data1', self.mock.recv_buffer) self.mock.recv_buffer += '\ndata2' lines = network.LineProtocol.parse_lines(self.mock) self.assertEqual('data1', lines.next()) - self.assertRaises(StopIteration, lines.next) + with self.assertRaises(StopIteration): + lines.next() self.assertEqual('data2', self.mock.recv_buffer) def test_send_lines_called_with_no_lines(self): diff --git a/tests/utils/network/test_server.py b/tests/utils/network/test_server.py index c5b8c41a..eebc9ea2 100644 --- a/tests/utils/network/test_server.py +++ b/tests/utils/network/test_server.py @@ -38,9 +38,9 @@ class ServerTest(unittest.TestCase): sock.fileno.side_effect = socket.error self.mock.create_server_socket.return_value = sock - self.assertRaises( - socket.error, network.Server.__init__, self.mock, sentinel.host, - sentinel.port, sentinel.protocol) + with self.assertRaises(socket.error): + network.Server.__init__( + self.mock, sentinel.host, sentinel.port, sentinel.protocol) def test_init_stores_values_in_attributes(self): # This need to be a mock and no a sentinel as fileno() is called on it @@ -68,27 +68,27 @@ class ServerTest(unittest.TestCase): @patch.object(network, 'create_socket', new=Mock()) def test_create_server_socket_fails(self): network.create_socket.side_effect = socket.error - self.assertRaises( - socket.error, network.Server.create_server_socket, self.mock, - sentinel.host, sentinel.port) + with self.assertRaises(socket.error): + network.Server.create_server_socket( + self.mock, sentinel.host, sentinel.port) @patch.object(network, 'create_socket', new=Mock()) def test_create_server_bind_fails(self): sock = network.create_socket.return_value sock.bind.side_effect = socket.error - self.assertRaises( - socket.error, network.Server.create_server_socket, self.mock, - sentinel.host, sentinel.port) + with self.assertRaises(socket.error): + network.Server.create_server_socket( + self.mock, sentinel.host, sentinel.port) @patch.object(network, 'create_socket', new=Mock()) def test_create_server_listen_fails(self): sock = network.create_socket.return_value sock.listen.side_effect = socket.error - self.assertRaises( - socket.error, network.Server.create_server_socket, self.mock, - sentinel.host, sentinel.port) + with self.assertRaises(socket.error): + network.Server.create_server_socket( + self.mock, sentinel.host, sentinel.port) @patch.object(gobject, 'io_add_watch', new=Mock()) def test_register_server_socket_sets_up_io_watch(self): @@ -137,17 +137,16 @@ class ServerTest(unittest.TestCase): for error in (errno.EAGAIN, errno.EINTR): sock.accept.side_effect = socket.error(error, '') - self.assertRaises( - network.ShouldRetrySocketCall, - network.Server.accept_connection, self.mock) + with self.assertRaises(network.ShouldRetrySocketCall): + network.Server.accept_connection(self.mock) # FIXME decide if this should be allowed to propegate def test_accept_connection_unrecoverable_error(self): sock = Mock(spec=socket.SocketType) self.mock.server_socket = sock sock.accept.side_effect = socket.error - self.assertRaises( - socket.error, network.Server.accept_connection, self.mock) + with self.assertRaises(socket.error): + network.Server.accept_connection(self.mock) def test_maximum_connections_exceeded(self): self.mock.max_connections = 10 diff --git a/tests/utils/test_jsonrpc.py b/tests/utils/test_jsonrpc.py index e6f94fb3..8f97f37e 100644 --- a/tests/utils/test_jsonrpc.py +++ b/tests/utils/test_jsonrpc.py @@ -62,8 +62,8 @@ class JsonRpcTestBase(unittest.TestCase): class JsonRpcSetupTest(JsonRpcTestBase): def test_empty_object_mounts_is_not_allowed(self): - test = lambda: jsonrpc.JsonRpcWrapper(objects={'': Calculator()}) - self.assertRaises(AttributeError, test) + with self.assertRaises(AttributeError): + jsonrpc.JsonRpcWrapper(objects={'': Calculator()}) class JsonRpcSerializationTest(JsonRpcTestBase): @@ -556,8 +556,8 @@ class JsonRpcBatchErrorTest(JsonRpcTestBase): class JsonRpcInspectorTest(JsonRpcTestBase): def test_empty_object_mounts_is_not_allowed(self): - test = lambda: jsonrpc.JsonRpcInspector(objects={'': Calculator}) - self.assertRaises(AttributeError, test) + with self.assertRaises(AttributeError): + jsonrpc.JsonRpcInspector(objects={'': Calculator}) def test_can_describe_method_on_root(self): inspector = jsonrpc.JsonRpcInspector({ diff --git a/tests/utils/test_path.py b/tests/utils/test_path.py index 078cdb20..b33c6681 100644 --- a/tests/utils/test_path.py +++ b/tests/utils/test_path.py @@ -52,7 +52,8 @@ class GetOrCreateDirTest(unittest.TestCase): conflicting_file = os.path.join(self.parent, b'test') open(conflicting_file, 'w').close() dir_path = os.path.join(self.parent, b'test') - self.assertRaises(OSError, path.get_or_create_dir, dir_path) + with self.assertRaises(OSError): + path.get_or_create_dir(dir_path) def test_create_dir_with_unicode(self): with self.assertRaises(ValueError):