def test_write(self): string1 = "test string" string2 = "second test string" w = SocketReaderWriter(wsock) w.tx_bytes(string1) select.select([],[wsock],[]) w.write_event() # make sure unregister_for_write_events called select.select([rsock],[],[]) data = rsock.recv(65535) assert data == string1 w.tx_bytes(string1) w.tx_bytes(string2) select.select([],[wsock],[]) w.write_event() select.select([rsock],[],[]) data = rsock.recv(len(string1)) assert data == string1 select.select([rsock],[],[]) data = rsock.recv(len(string2)) assert data == string2
def test_partial_send(self): mock_sock = Mock() mock_sock.send = Mock(return_value = 3) string1 = "abcdefghi" w = SocketReaderWriter(mock_sock) w.tx_bytes(string1) w.write_event() assert mock_sock.send.called_with(string1) w.write_event() assert mock_sock.send.called_with(string1[3:]) w.write_event() assert mock_sock.send.called_with(string1[6:]) call_count = mock_sock.send.call_count w.write_event() assert mock_sock.send.call_count == call_count