Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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