|
|
@@ -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")
|
|
|
+ }
|
|
|
+}
|