diff --git a/proxy/blackhole/blackhole_test.go b/proxy/blackhole/blackhole_test.go new file mode 100644 index 000000000..4c8bb1e3a --- /dev/null +++ b/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") + } +}