From 6fed9dd0dd62718f78eca11e30a71c2712636fbd Mon Sep 17 00:00:00 2001 From: Mikhail Osipov Date: Wed, 16 Dec 2020 15:27:48 +0300 Subject: hook and socket args check fix, tests --- pkg/test/hook_test.go | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 pkg/test/hook_test.go (limited to 'pkg/test/hook_test.go') diff --git a/pkg/test/hook_test.go b/pkg/test/hook_test.go new file mode 100644 index 0000000..06204bb --- /dev/null +++ b/pkg/test/hook_test.go @@ -0,0 +1,59 @@ +package test + +import ( + "testing" + + "encoding/hex" + "strings" +) + +func TestUpperHook(t *testing.T) { + const msg = "Hello, World!" + + c, s := newClientServer(t) + defer closeClientServer(c, s) + + tunnel := "add name %s listen,addr=127.0.0.1:0 upper loop" + c.Exec(tunnel, t.Name()) + + addr := c.Send("get tunnel.%s.listen", t.Name()) + + conn := xDial(t, "tcp", addr) + defer conn.Close() + + xWrite(t, conn, msg) + + buf := make([]byte, len(msg)) + xReadFull(t, conn, buf) + + if r := string(buf); r != strings.ToUpper(msg) { + t.Fatalf("wrong reply: send '%s', recv '%s'", msg, r) + } +} + +func TestHexHook(t *testing.T) { + const msg = "Hello, World!" + + c, s := newClientServer(t) + defer closeClientServer(c, s) + + listen := xListen(t, "tcp", "127.0.0.1:0") + defer listen.Close() + + addr := c.AddListenTunnel(t.Name(), "hex dial,addr=%s", listen.Addr()) + + out := xDial(t, "tcp", addr) + defer out.Close() + + in := xAccept(t, listen) + defer in.Close() + + xWrite(t, out, msg) + + buf := make([]byte, 2*len(msg)) + xReadFull(t, in, buf) + + if r := string(buf); r != hex.EncodeToString([]byte(msg)) { + t.Fatalf("wrong reply: send '%s', recv '%s'", msg, r) + } +} -- cgit v1.2.3-70-g09d2