From a78cea7d8a5f84df6a95e454d27b435705d1ca6b Mon Sep 17 00:00:00 2001 From: Karthic Rao Date: Wed, 24 Jun 2015 07:05:53 +0530 Subject: [PATCH] test for webSocketParse function in config/setup --- config/setup/websocket.go | 4 +-- config/setup/websocket_test.go | 49 ++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/config/setup/websocket.go b/config/setup/websocket.go index 7628305b..9178bd13 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 07a8e2cf..86af253d 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) + } + + } + } + +}