예제 #1
0
 def test_blocking_read__timeout(self):
     self.conn.transport = TCPTransport('localhost:5672')
     sock = self.conn.transport.sock = Mock(name='sock')
     sock.gettimeout.return_value = 1
     self.conn.transport.read_frame = Mock(name='read_frame')
     self.conn.on_inbound_frame = Mock(name='on_inbound_frame')
     self.conn.blocking_read(3)
     sock.gettimeout.assert_called_with()
     sock.settimeout.assert_has_calls([call(3), call(1)])
     self.conn.transport.read_frame.assert_called_with()
     self.conn.on_inbound_frame.assert_called_with(
         self.conn.transport.read_frame(), )
     sock.gettimeout.return_value = 3
     self.conn.blocking_read(3)
예제 #2
0
 def test_blocking_read__SSLError(self):
     self.conn.on_inbound_frame = Mock(name='on_inbound_frame')
     self.conn.transport = TCPTransport('localhost:5672')
     sock = self.conn.transport.sock = Mock(name='sock')
     sock.gettimeout.return_value = 1
     self.conn.transport.read_frame = Mock(name='read_frame')
     self.conn.transport.read_frame.side_effect = SSLError(
         'operation timed out')
     with pytest.raises(socket.timeout):
         self.conn.blocking_read(3)
     self.conn.transport.read_frame.side_effect = SSLError(
         'The operation did not complete foo bar')
     with pytest.raises(socket.timeout):
         self.conn.blocking_read(3)
     self.conn.transport.read_frame.side_effect = SSLError('oh noes')
     with pytest.raises(SSLError):
         self.conn.blocking_read(3)