add a better tunnel test
This commit is contained in:
		| @@ -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) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user