...

Source file src/github.com/donovanhide/eventsource/server_test.go

Documentation: github.com/donovanhide/eventsource

     1  package eventsource
     2  
     3  import (
     4  	"net/http"
     5  	"net/http/httptest"
     6  	"testing"
     7  	"time"
     8  )
     9  
    10  func TestNewServerHandlerRespondsAfterClose(t *testing.T) {
    11  	server := NewServer()
    12  	httpServer := httptest.NewServer(server.Handler("test"))
    13  	defer httpServer.Close()
    14  
    15  	server.Close()
    16  	responses := make(chan *http.Response)
    17  
    18  	go func() {
    19  		resp, err := http.Get(httpServer.URL)
    20  		if err != nil {
    21  			t.Fatalf("Unexpected error %s", err)
    22  		}
    23  		responses <- resp
    24  	}()
    25  
    26  	select {
    27  	case resp := <-responses:
    28  		if resp.StatusCode != 200 {
    29  			t.Errorf("Received StatusCode %d, want 200", resp.StatusCode)
    30  		}
    31  	case <-time.After(250 * time.Millisecond):
    32  		t.Errorf("Did not receive response in time")
    33  	}
    34  }
    35  

View as plain text