add a better tunnel test

This commit is contained in:
Asim Aslam 2019-08-14 14:38:17 +01:00
parent 15975d2903
commit 8f0c2e0412

View File

@ -24,10 +24,22 @@ func testAccept(t *testing.T, tun Tunnel, wg *sync.WaitGroup) {
// get a message // get a message
for { for {
// accept the message
m := new(transport.Message) m := new(transport.Message)
if err := c.Recv(m); err != nil { if err := c.Recv(m); err != nil {
t.Fatal(err) t.Fatal(err)
} }
if v := m.Header["test"]; v != "send" {
t.Fatalf("Accept side expected test:send header. Received: %s", v)
}
// now respond
m.Header["test"] = "accept"
if err := c.Send(m); err != nil {
t.Fatal(err)
}
wg.Done() wg.Done()
return return
} }
@ -44,13 +56,24 @@ func testSend(t *testing.T, tun Tunnel) {
m := transport.Message{ m := transport.Message{
Header: map[string]string{ Header: map[string]string{
"test": "header", "test": "send",
}, },
} }
// send the message
if err := c.Send(&m); err != nil { if err := c.Send(&m); err != nil {
t.Fatal(err) t.Fatal(err)
} }
// now wait for the response
mr := new(transport.Message)
if err := c.Recv(mr); err != nil {
t.Fatal(err)
}
if v := mr.Header["test"]; v != "accept" {
t.Fatalf("Message not received from accepted side. Received: %s", v)
}
} }
func TestTunnel(t *testing.T) { func TestTunnel(t *testing.T) {