aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-03-29 13:22:56 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-03-29 13:22:56 +0200
commit3fcb64b17e34832df64e5dbbd268e7dad4b2c240 (patch)
treedafa93727f4b3dd071bad646a3f13b38735b429f
parent6d55850fdff1faff388fb2a0649739ea857bf52f (diff)
Resort tests
-rw-r--r--server_test.go50
1 files changed, 33 insertions, 17 deletions
diff --git a/server_test.go b/server_test.go
index 89f3baf..881a11a 100644
--- a/server_test.go
+++ b/server_test.go
@@ -19,17 +19,23 @@ const (
)
func TestReverseProxy(t *testing.T) {
+ // Backend server
backServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, cannary)
}))
defer backServer.Close()
- server, err := NewServer(dataFile)
+ // Websocket echo server
+ wsServer := httptest.NewServer(websocket.Handler(func(ws *websocket.Conn) {
+ io.Copy(ws, ws)
+ }))
+ defer wsServer.Close()
+ wsURL, err := url.Parse(wsServer.URL)
if err != nil {
t.Error(err)
}
- defer os.Remove(dataFile)
+ // RPC Server
rpcServer := httptest.NewServer(nil)
defer rpcServer.Close()
rpcURL, err := url.Parse(rpcServer.URL)
@@ -37,6 +43,7 @@ func TestReverseProxy(t *testing.T) {
t.Error(err)
}
+ // Frontend server
frontServer := httptest.NewServer(nil)
defer frontServer.Close()
frontURL, err := url.Parse(frontServer.URL)
@@ -44,15 +51,27 @@ func TestReverseProxy(t *testing.T) {
t.Error(err)
}
- rpcClient, err := DialRPC(rpcURL.Host)
+ // Initialize proxy server
+ server, err := NewServer(dataFile)
if err != nil {
t.Error(err)
}
- err = rpcClient.Call("GoXY.Add", Entry{ServerName: frontURL.Host, Upstream: backServer.URL}, nil)
+ defer os.Remove(dataFile)
+
+ // Add routing entries
+ rpcClient, err := DialRPC(rpcURL.Host)
if err != nil {
t.Error(err)
}
- defer rpcClient.Call("GoXY.Del", frontURL.Host, nil)
+
+ // Test HTTP proxy
+ e := Entry{
+ ServerName: frontURL.Host,
+ Upstream: backServer.URL,
+ }
+ if err := rpcClient.Call("GoXY.Add", e, nil); err != nil {
+ t.Error(err)
+ }
frontServer.Config.Handler = server.Handler
@@ -71,22 +90,16 @@ func TestReverseProxy(t *testing.T) {
t.Error("got", string(b), "expected", cannary)
}
- // XXX WebSocket
+ rpcClient.Call("GoXY.Del", frontURL.Host, nil)
- wsServer := httptest.NewServer(websocket.Handler(func(ws *websocket.Conn) {
- io.Copy(ws, ws)
- }))
- defer wsServer.Close()
- wsURL, err := url.Parse(wsServer.URL)
- if err != nil {
- t.Error(err)
+ // Test WebSocket proxy
+ e = Entry{
+ ServerName: frontURL.Host,
+ Upstream: "ws://" + wsURL.Host,
}
-
- err = rpcClient.Call("GoXY.Add", Entry{ServerName: frontURL.Host, Upstream: "ws://" + wsURL.Host}, nil)
- if err != nil {
+ if err := rpcClient.Call("GoXY.Add", e, nil); err != nil {
t.Error(err)
}
- defer rpcClient.Call("GoXY.Del", frontURL.Host, nil)
frontServer.Config.Handler = server.Handler
@@ -94,6 +107,7 @@ func TestReverseProxy(t *testing.T) {
if err != nil {
t.Error(err)
}
+
if _, err := ws.Write([]byte(cannary)); err != nil {
t.Error(err)
}
@@ -104,4 +118,6 @@ func TestReverseProxy(t *testing.T) {
if !bytes.Equal(msg, []byte(cannary)) {
t.Error("got", string(msg), "expected", cannary)
}
+
+ rpcClient.Call("GoXY.Del", frontURL.Host, nil)
}