summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMatt Holt <[email protected]>2015-06-23 20:04:07 -0600
committerMatt Holt <[email protected]>2015-06-23 20:04:07 -0600
commit640cd059ce493d54e8e756cc8c2a15ba405f4ef7 (patch)
treefad1dd9e347c95db4305de24f0429dd8c8645730
parent7044cbbd677b3fe47565f38425c0cd8e358ee427 (diff)
parenta78cea7d8a5f84df6a95e454d27b435705d1ca6b (diff)
downloadcaddy-640cd059ce493d54e8e756cc8c2a15ba405f4ef7.tar.gz
caddy-640cd059ce493d54e8e756cc8c2a15ba405f4ef7.zip
Merge pull request #165 from Karthic-Hackintosh/master
Test for webSocketParse function in config/setup
-rw-r--r--config/setup/websocket.go4
-rw-r--r--config/setup/websocket_test.go49
2 files changed, 51 insertions, 2 deletions
diff --git a/config/setup/websocket.go b/config/setup/websocket.go
index 7628305b4..9178bd139 100644
--- a/config/setup/websocket.go
+++ b/config/setup/websocket.go
@@ -8,7 +8,7 @@ import (
// WebSocket configures a new WebSockets middleware instance.
func WebSocket(c *Controller) (middleware.Middleware, error) {
- websocks, err := websocketParse(c)
+ websocks, err := webSocketParse(c)
if err != nil {
return nil, err
}
@@ -20,7 +20,7 @@ func WebSocket(c *Controller) (middleware.Middleware, error) {
}, nil
}
-func websocketParse(c *Controller) ([]websockets.Config, error) {
+func webSocketParse(c *Controller) ([]websockets.Config, error) {
var websocks []websockets.Config
var respawn bool
diff --git a/config/setup/websocket_test.go b/config/setup/websocket_test.go
index 07a8e2cf3..86af253d0 100644
--- a/config/setup/websocket_test.go
+++ b/config/setup/websocket_test.go
@@ -34,3 +34,52 @@ func TestWebSocket(t *testing.T) {
}
}
+func TestWebSocketParse(t *testing.T) {
+ tests := []struct {
+ inputWebSocketConfig string
+ shouldErr bool
+ expectedWebSocketConfig []websockets.Config
+ }{
+ {`websocket /api1 cat`, false, []websockets.Config{{
+ Path: "/api1",
+ Command: "cat",
+ }}},
+
+ {`websocket /api3 cat
+ websocket /api4 cat `, false, []websockets.Config{{
+ Path: "/api3",
+ Command: "cat",
+ }, {
+ Path: "/api4",
+ Command: "cat",
+ }}},
+ }
+ for i, test := range tests {
+ c := NewTestController(test.inputWebSocketConfig)
+ actualWebSocketConfigs, err := webSocketParse(c)
+
+ if err == nil && test.shouldErr {
+ t.Errorf("Test %d didn't error, but it should have", i)
+ } else if err != nil && !test.shouldErr {
+ t.Errorf("Test %d errored, but it shouldn't have; got '%v'", i, err)
+ }
+ if len(actualWebSocketConfigs) != len(test.expectedWebSocketConfig) {
+ t.Fatalf("Test %d expected %d no of WebSocket configs, but got %d ",
+ i, len(test.expectedWebSocketConfig), len(actualWebSocketConfigs))
+ }
+ for j, actualWebSocketConfig := range actualWebSocketConfigs {
+
+ if actualWebSocketConfig.Path != test.expectedWebSocketConfig[j].Path {
+ t.Errorf("Test %d expected %dth WebSocket Config Path to be %s , but got %s",
+ i, j, test.expectedWebSocketConfig[j].Path, actualWebSocketConfig.Path)
+ }
+
+ if actualWebSocketConfig.Command != test.expectedWebSocketConfig[j].Command {
+ t.Errorf("Test %d expected %dth WebSocket Config Command to be %s , but got %s",
+ i, j, test.expectedWebSocketConfig[j].Command, actualWebSocketConfig.Command)
+ }
+
+ }
+ }
+
+}