Commit 330efe75 authored by Marten Seemann's avatar Marten Seemann
Browse files

fix opening and accepting of streams

parent de3f35a2
......@@ -5,6 +5,7 @@ import (
"crypto/rand"
"crypto/rsa"
"crypto/x509"
"io/ioutil"
ic "github.com/libp2p/go-libp2p-crypto"
peer "github.com/libp2p/go-libp2p-peer"
......@@ -76,6 +77,26 @@ var _ = Describe("Connection", func() {
Expect(serverConn.RemotePublicKey()).To(Equal(clientKey.GetPublic()))
})
It("opens and accepts streams", func() {
serverAddrChan, serverConnChan := runServer()
clientTransport, err := NewTransport(clientKey)
Expect(err).ToNot(HaveOccurred())
conn, err := clientTransport.Dial(context.Background(), <-serverAddrChan, serverID)
Expect(err).ToNot(HaveOccurred())
serverConn := <-serverConnChan
str, err := conn.OpenStream()
Expect(err).ToNot(HaveOccurred())
_, err = str.Write([]byte("foobar"))
Expect(err).ToNot(HaveOccurred())
str.Close()
sstr, err := serverConn.AcceptStream()
Expect(err).ToNot(HaveOccurred())
data, err := ioutil.ReadAll(sstr)
Expect(err).ToNot(HaveOccurred())
Expect(data).To(Equal([]byte("foobar")))
})
It("fails if the peer ID doesn't match", func() {
thirdPartyID, err := peer.IDFromPrivateKey(createPeer())
Expect(err).ToNot(HaveOccurred())
......
......@@ -75,6 +75,7 @@ func (t *transport) Dial(ctx context.Context, raddr ma.Multiaddr, p peer.ID) (tp
return nil, err
}
return &conn{
sess: sess,
privKey: t.privKey,
localPeer: t.localPeer,
localMultiaddr: localMultiaddr,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment