From 2379baeb2440392836a57be3a429ed0234eabc44 Mon Sep 17 00:00:00 2001 From: 178inaba <178inaba@users.noreply.github.com> Date: Sun, 23 Apr 2017 18:42:13 +0900 Subject: [PATCH] Add TestDial --- streaming_ws_test.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/streaming_ws_test.go b/streaming_ws_test.go index 1e0af77..001e511 100644 --- a/streaming_ws_test.go +++ b/streaming_ws_test.go @@ -66,6 +66,7 @@ func TestStreamingWSUser(t *testing.T) { wsTest(t, q, cancel) } + func TestStreamingWSHashtag(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(wsMock)) defer ts.Close() @@ -84,6 +85,7 @@ func TestStreamingWSHashtag(t *testing.T) { wsTest(t, q, cancel) } + func TestStreamingWSHashtagLocal(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(wsMock)) defer ts.Close() @@ -154,6 +156,39 @@ func wsTest(t *testing.T, q chan Event, cancel func()) { } } +func TestDial(t *testing.T) { + canErr := true + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if canErr { + canErr = false + http.Redirect(w, r, ":", http.StatusMovedPermanently) + return + } + + http.Redirect(w, r, "http://www.example.com/", http.StatusMovedPermanently) + })) + defer ts.Close() + + client := NewClient(&Config{}) + _, _, err := client.dial(":") + if err == nil { + t.Fatalf("should be fail: %v", err) + } + + _, rawurl, err := client.dial("ws://" + ts.Listener.Addr().String()) + if err == nil { + t.Fatalf("should not be fail: %v", err) + } + + _, rawurl, err = client.dial("ws://" + ts.Listener.Addr().String()) + if err != nil { + t.Fatalf("should not be fail: %v", err) + } + if rawurl != "ws://www.example.com/" { + t.Fatalf("want %q but %q", "ws://www.example.com/", rawurl) + } +} + func TestChangeWebSocketScheme(t *testing.T) { _, err := changeWebSocketScheme(":") if err == nil {