Browse Source

fix http error test

pull/1086/head
Darien Raymond 7 years ago
parent
commit
2f3670f60b
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
  1. 19
      testing/scenarios/http_test.go
  2. 4
      testing/servers/tcp/tcp.go

19
testing/scenarios/http_test.go

@ -8,6 +8,7 @@ import (
"net/http"
"net/url"
"testing"
"time"
"v2ray.com/core/common"
"v2ray.com/core/common/buf"
@ -16,7 +17,6 @@ import (
"v2ray.com/core/app/proxyman"
"v2ray.com/core/common/net"
"v2ray.com/core/common/serial"
"v2ray.com/core/proxy/blackhole"
"v2ray.com/core/proxy/freedom"
v2http "v2ray.com/core/proxy/http"
v2httptest "v2ray.com/core/testing/servers/http"
@ -84,6 +84,19 @@ func TestHttpConformance(t *testing.T) {
func TestHttpError(t *testing.T) {
assert := With(t)
tcpServer := tcp.Server{
MsgProcessor: func(msg []byte) []byte {
return []byte{}
},
}
dest, err := tcpServer.Start()
assert(err, IsNil)
defer tcpServer.Close()
time.AfterFunc(time.Second*2, func() {
tcpServer.ShouldClose = true
})
serverPort := tcp.PickPort()
serverConfig := &core.Config{
Inbound: []*core.InboundHandlerConfig{
@ -97,7 +110,7 @@ func TestHttpError(t *testing.T) {
},
Outbound: []*core.OutboundHandlerConfig{
{
ProxySettings: serial.ToTypedMessage(&blackhole.Config{}),
ProxySettings: serial.ToTypedMessage(&freedom.Config{}),
},
},
}
@ -116,7 +129,7 @@ func TestHttpError(t *testing.T) {
Transport: transport,
}
resp, err := client.Get("http://127.0.0.1:80")
resp, err := client.Get("http://127.0.0.1:" + dest.Port.String())
assert(err, IsNil)
assert(resp.StatusCode, Equals, 503)
}

4
testing/servers/tcp/tcp.go

@ -10,6 +10,7 @@ import (
type Server struct {
Port net.Port
MsgProcessor func(msg []byte) []byte
ShouldClose bool
SendFirst []byte
Listen net.Address
listener *net.TCPListener
@ -65,6 +66,9 @@ func (server *Server) handleConnection(conn net.Conn) {
fmt.Println("Failed to write response:", err)
break
}
if server.ShouldClose {
break
}
}
conn.Close()
}

Loading…
Cancel
Save