From 7fb663bc5a80903d7821e9bdd51877e49b643e41 Mon Sep 17 00:00:00 2001 From: Michael Clapham Date: Sun, 14 Jul 2024 18:43:37 +0100 Subject: [PATCH] Move server creation and ws connection into function --- app_test.go | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/app_test.go b/app_test.go index 26c430d..f41bbe3 100644 --- a/app_test.go +++ b/app_test.go @@ -27,48 +27,40 @@ func TestServerStarts(t *testing.T) { log.Printf("%s", clientsUrl) } -func TestServerStartsAndWebsocketCanConnect(t *testing.T) { +func SetupServerAndConnect(t *testing.T) (*websocket.Conn, *httptest.Server) { app := App{} app.Init() testServer := httptest.NewServer(app.MainHandler()) - defer testServer.Close() - // Convert http://127.0.0.1 to ws://127.0.0. - wsUrl := "ws" + strings.TrimPrefix(testServer.URL, "http") + "/api/v1/ws" + // Convert http://127.0.0.1 to ws://127.0.0/api/v1/ws + u := "ws" + strings.TrimPrefix(testServer.URL, "http") + "/api/v1/ws" - log.Printf("Url %s", wsUrl) + log.Printf("Url %s", u) // Connect to the server - ws, _, err := websocket.DefaultDialer.Dial(wsUrl, nil) + ws, _, err := websocket.DefaultDialer.Dial(u, nil) if err != nil { t.Fatalf("%v", err) } + return ws, testServer +} + +func TestServerStartsAndWebsocketCanConnect(t *testing.T) { + ws, testServer := SetupServerAndConnect(t) defer ws.Close() + defer testServer.Close() // Send message to server, read response and check to see if it's what we expect. - _, _, err = ws.ReadMessage() + _, _, err := ws.ReadMessage() if err != nil { t.Fatalf("%v", err) } } func TestFirstMessageIsClientConnect(t *testing.T) { - app := App{} - app.Init() - testServer := httptest.NewServer(app.MainHandler()) - defer testServer.Close() - - // Convert http://127.0.0.1 to ws://127.0.0/api/v1/ws - u := "ws" + strings.TrimPrefix(testServer.URL, "http") + "/api/v1/ws" - - log.Printf("Url %s", u) - - // Connect to the server - ws, _, err := websocket.DefaultDialer.Dial(u, nil) - if err != nil { - t.Fatalf("%v", err) - } + ws, testServer := SetupServerAndConnect(t) defer ws.Close() + defer testServer.Close() _, msgBytes, err := ws.ReadMessage() if err != nil {