v2fly/proxy/blackhole/blackhole_test.go

41 lines
960 B
Go

package blackhole_test
import (
"context"
"testing"
"github.com/v2fly/v2ray-core/v4/common"
"github.com/v2fly/v2ray-core/v4/common/buf"
"github.com/v2fly/v2ray-core/v4/common/serial"
"github.com/v2fly/v2ray-core/v4/proxy/blackhole"
"github.com/v2fly/v2ray-core/v4/transport"
"github.com/v2fly/v2ray-core/v4/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())
readerError := make(chan error)
var mb buf.MultiBuffer
go func() {
b, e := reader.ReadMultiBuffer()
mb = b
readerError <- e
}()
link := transport.Link{
Reader: reader,
Writer: writer,
}
common.Must(handler.Process(context.Background(), &link, nil))
common.Must(<-readerError)
if mb.IsEmpty() {
t.Error("expect http response, but nothing")
}
}