github.com/naoina/kocha@v0.7.1-0.20171129072645-78c7a531f799/response_test.go (about)

     1  package kocha_test
     2  
     3  import (
     4  	"net/http"
     5  	"net/http/httptest"
     6  	"reflect"
     7  	"testing"
     8  
     9  	"github.com/naoina/kocha"
    10  )
    11  
    12  func TestResponse_Cookies(t *testing.T) {
    13  	w := httptest.NewRecorder()
    14  	res := &kocha.Response{ResponseWriter: w}
    15  	actual := res.Cookies()
    16  	expected := []*http.Cookie(nil)
    17  	if !reflect.DeepEqual(actual, expected) {
    18  		t.Errorf(`Response.Cookies() => %#v; want %#v`, actual, expected)
    19  	}
    20  
    21  	cookie := &http.Cookie{Name: "fox", Value: "dog"}
    22  	res.SetCookie(cookie)
    23  	actual = res.Cookies()
    24  	expected = []*http.Cookie{cookie}
    25  	if !reflect.DeepEqual(actual, expected) {
    26  		t.Errorf(`Response.Cookies() => %#v; want %#v`, actual, expected)
    27  	}
    28  }
    29  
    30  func TestResponse_SetCookie(t *testing.T) {
    31  	w := httptest.NewRecorder()
    32  	res := &kocha.Response{
    33  		ResponseWriter: w,
    34  	}
    35  	cookie := &http.Cookie{
    36  		Name:  "testCookie",
    37  		Value: "testCookieValue",
    38  	}
    39  	res.SetCookie(cookie)
    40  	actual := w.Header().Get("Set-Cookie")
    41  	expected := cookie.String()
    42  	if !reflect.DeepEqual(actual, expected) {
    43  		t.Errorf(`Response.SetCookie(%#v) => %#v; want %#v`, cookie, actual, expected)
    44  	}
    45  }