Browse Source

more test cases

Darien Raymond 7 years ago
parent
commit
37d1a76139
1 changed files with 40 additions and 0 deletions
  1. 40 0
      proxy/blackhole/blackhole_test.go

+ 40 - 0
proxy/blackhole/blackhole_test.go

@@ -0,0 +1,40 @@
+package blackhole_test
+
+import (
+	"context"
+	"testing"
+
+	"v2ray.com/core/common"
+	"v2ray.com/core/common/buf"
+	"v2ray.com/core/common/serial"
+	"v2ray.com/core/common/vio"
+	"v2ray.com/core/proxy/blackhole"
+	"v2ray.com/core/transport/pipe"
+)
+
+func TestBlackholeHTTPResponse(t *testing.T) {
+	handler, err := blackhole.New(context.Background(), &blackhole.Config{
+		Response: serial.ToTypedMessage(&blackhole.HTTPResponse{}),
+	})
+	common.Must(err)
+
+	reader, writer := pipe.New(pipe.WithoutSizeLimit())
+
+	var mb buf.MultiBuffer
+	var rerr error
+	go func() {
+		b, e := reader.ReadMultiBuffer()
+		mb = b
+		rerr = e
+	}()
+
+	link := vio.Link{
+		Reader: reader,
+		Writer: writer,
+	}
+	common.Must(handler.Process(context.Background(), &link, nil))
+	common.Must(rerr)
+	if mb.IsEmpty() {
+		t.Error("expect http response, but nothing")
+	}
+}