Skip to content

Commit

Permalink
Move server creation and ws connection into function
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelclapham committed Jul 14, 2024
1 parent d3a65a4 commit 7fb663b
Showing 1 changed file with 14 additions and 22 deletions.
36 changes: 14 additions & 22 deletions app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit 7fb663b

Please sign in to comment.