Skip to content

Commit 8be55aa

Browse files
committed
Fixed some type warnings
1 parent 71eb071 commit 8be55aa

File tree

1 file changed

+28
-25
lines changed

1 file changed

+28
-25
lines changed

tests/network/test_connection.py

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,35 @@
22
import errno
33
import logging
44
import socket
5+
from typing import Type
56
import unittest
67
from unittest.mock import Mock, patch, sentinel
78

89
import pykka
910

10-
from mopidy_mpd import network, uri_mapper
11+
from mopidy_mpd import network, types, uri_mapper
12+
from mopidy_mpd.session import MpdSession
1113
from tests import IsA, any_int, any_unicode
1214

1315

1416
class ConnectionTest(unittest.TestCase):
17+
_empty_config = types.Config({}) # type: ignore
18+
19+
@property
20+
def _mock_protocol(self) -> Type[MpdSession]:
21+
return Mock(spec=network.LineProtocol) # type: ignore
22+
1523
def setUp(self):
1624
self.mock = Mock(spec=network.Connection)
1725
self.loop = asyncio.new_event_loop()
1826
asyncio.set_event_loop(self.loop)
1927

2028
def create_connection(self):
2129
conn = network.Connection(
22-
config={}, # type: ignore
30+
config=self._empty_config,
2331
core=Mock(),
2432
uri_map=Mock(spec=uri_mapper.MpdUriMapper),
25-
protocol=Mock(spec=network.LineProtocol), # type: ignore
33+
protocol=self._mock_protocol,
2634
sock=Mock(spec=socket.SocketType),
2735
addr=(sentinel.host, sentinel.port),
2836
timeout=1,
@@ -38,10 +46,10 @@ def test_init_ensure_nonblocking_io(self):
3846

3947
network.Connection.__init__(
4048
self.mock,
41-
config={}, # type: ignore
49+
config=self._empty_config,
4250
core=Mock(),
4351
uri_map=Mock(spec=uri_mapper.MpdUriMapper),
44-
protocol=Mock(spec=network.LineProtocol), # type: ignore
52+
protocol=self._mock_protocol,
4553
sock=sock,
4654
addr=(sentinel.host, sentinel.port),
4755
timeout=sentinel.timeout,
@@ -50,14 +58,14 @@ def test_init_ensure_nonblocking_io(self):
5058
sock.setblocking.assert_called_once_with(False)
5159

5260
def test_init_starts_actor(self):
53-
protocol = Mock(spec=network.LineProtocol)
61+
protocol = self._mock_protocol
5462

5563
network.Connection.__init__(
5664
self.mock,
57-
config={}, # type: ignore
65+
config=self._empty_config,
5866
core=Mock(),
5967
uri_map=Mock(spec=uri_mapper.MpdUriMapper),
60-
protocol=protocol, # type: ignore
68+
protocol=protocol,
6169
sock=Mock(spec=socket.SocketType),
6270
addr=(sentinel.host, sentinel.port),
6371
timeout=sentinel.timeout,
@@ -67,15 +75,15 @@ def test_init_starts_actor(self):
6775

6876
def test_init_stores_values_in_attributes(self):
6977
addr = (sentinel.host, sentinel.port)
70-
protocol = Mock(spec=network.LineProtocol)
78+
protocol = self._mock_protocol
7179
sock = Mock(spec=socket.SocketType)
7280

7381
network.Connection.__init__(
7482
self.mock,
75-
config={}, # type: ignore
83+
config=self._empty_config,
7684
core=Mock(),
7785
uri_map=Mock(spec=uri_mapper.MpdUriMapper),
78-
protocol=protocol, # type: ignore
86+
protocol=protocol,
7987
sock=sock,
8088
addr=addr,
8189
timeout=sentinel.timeout,
@@ -94,15 +102,14 @@ def test_init_handles_ipv6_addr(self):
94102
sentinel.flowinfo,
95103
sentinel.scopeid,
96104
)
97-
protocol = Mock(spec=network.LineProtocol)
98105
sock = Mock(spec=socket.SocketType)
99106

100107
network.Connection.__init__(
101108
self.mock,
102-
config={}, # type: ignore
109+
config=self._empty_config,
103110
core=Mock(),
104111
uri_map=Mock(spec=uri_mapper.MpdUriMapper),
105-
protocol=protocol, # type: ignore
112+
protocol=self._mock_protocol,
106113
sock=sock,
107114
addr=addr,
108115
timeout=sentinel.timeout,
@@ -195,29 +202,27 @@ def test_queue_send_calls_send(self):
195202
conn.send_buffer = b""
196203

197204
asyncio.run(conn.queue_send(b"data"))
198-
conn._loop.sock_sendall.assert_called_once_with( # type: ignore
199-
IsA(Mock), b"data"
200-
)
205+
conn._loop.sock_sendall.assert_called_once_with(IsA(Mock), b"data")
201206
assert conn.send_buffer == b""
202207

203208
def test_recv_callback_sends_data_to_actor(self):
204209
conn = self.create_connection()
205-
conn._sock.recv.return_value = b"data" # type: ignore
210+
conn._sock.recv.return_value = b"data"
206211

207212
assert asyncio.run(conn.recv())
208213
conn.actor_ref.tell.assert_called_once_with({"received": b"data"})
209214

210215
def test_recv_callback_handles_dead_actors(self):
211216
conn = self.create_connection()
212-
conn._sock.recv.return_value = b"data" # type: ignore
217+
conn._sock.recv.return_value = b"data"
213218
conn.actor_ref.tell.side_effect = pykka.ActorDeadError()
214219

215220
assert not asyncio.run(conn.recv())
216221
conn.actor_ref.stop.assert_called_once()
217222

218223
def test_recv_callback_gets_no_data(self):
219224
conn = self.create_connection()
220-
conn._sock.recv.return_value = b"" # type: ignore
225+
conn._sock.recv.return_value = b""
221226

222227
assert not asyncio.run(conn.recv())
223228
assert conn.actor_ref.mock_calls == [
@@ -229,7 +234,7 @@ def test_recv_callback_recoverable_error(self):
229234
conn._loop = Mock(spec=asyncio.AbstractEventLoop)
230235

231236
for error in (errno.EWOULDBLOCK, errno.EINTR):
232-
conn._loop.sock_recv.side_effect = OSError(error, "") # type: ignore
237+
conn._loop.sock_recv.side_effect = OSError(error, "")
233238
assert asyncio.run(conn.recv())
234239
assert conn.actor_ref.stop.call_count == 0
235240

@@ -245,12 +250,10 @@ def test_send_callback_sends_all_data(self):
245250
conn = self.create_connection()
246251
conn.send_buffer = b"data"
247252
conn._loop = Mock(spec=asyncio.AbstractEventLoop)
248-
conn._loop.sock_sendall.return_value = None # type: ignore
253+
conn._loop.sock_sendall.return_value = None
249254

250255
asyncio.run(conn.send(conn.send_buffer))
251-
conn._loop.sock_sendall.assert_called_once_with( # type: ignore
252-
IsA(Mock), b"data"
253-
)
256+
conn._loop.sock_sendall.assert_called_once_with(IsA(Mock), b"data")
254257

255258
def test_send_recoverable_error(self):
256259
conn = self.create_connection()

0 commit comments

Comments
 (0)