Fix tests for GetCookie() and SetCookie()

This commit is contained in:
Javier Provecho Fernandez 2015-10-02 12:37:51 +02:00
parent 45b72951af
commit 8e37eb8498
2 changed files with 8 additions and 10 deletions

View File

@ -349,13 +349,13 @@ func (c *Context) SetCookie(
c.Writer.Header().Add("Set-Cookie", cookie.String()) c.Writer.Header().Add("Set-Cookie", cookie.String())
} }
func (c *Context) GetCookie(name string) string { func (c *Context) GetCookie(name string) (string, error) {
cookie, err := c.Request.Cookie(name) cookie, err := c.Request.Cookie(name)
if err != nil { if err != nil {
return "" return "", err
} }
val, _ := url.QueryUnescape(cookie.Value) val, _ := url.QueryUnescape(cookie.Value)
return val return val, nil
} }
func (c *Context) Render(code int, r render.Render) { func (c *Context) Render(code int, r render.Render) {

View File

@ -248,20 +248,18 @@ func TestContextPostFormMultipart(t *testing.T) {
} }
func TestContextSetCookie(t *testing.T) { func TestContextSetCookie(t *testing.T) {
c, w, _ := createTestContext() c, _, _ := createTestContext()
c.SetCookie("user", "gin", 1, "/", "localhost", true, true) c.SetCookie("user", "gin", 1, "/", "localhost", true, true)
c.SetCookie("user", "gin", int32(1), "/", "localhost", 1)
c.SetCookie("user", "gin", int64(1))
c.Request, _ = http.NewRequest("GET", "/set", nil) c.Request, _ = http.NewRequest("GET", "/set", nil)
assert.Equal(t, c.GetCookie("Set-Cookie"), "user=gin; Path=/; Domain=localhost; Max-Age=1; HttpOnly; Secure") assert.Equal(t, c.Writer.Header().Get("Set-Cookie"), "user=gin; Path=/; Domain=localhost; Max-Age=1; HttpOnly; Secure")
} }
func TestContextGetCookie(t *testing.T) { func TestContextGetCookie(t *testing.T) {
c, w, _ := createTestContext() c, _, _ := createTestContext()
c.Request, _ = http.NewRequest("GET", "/get", nil) c.Request, _ = http.NewRequest("GET", "/get", nil)
c.Request.Header.Set("Cookie", "user=gin") c.Request.Header.Set("Cookie", "user=gin")
assert.Equal(t, c.GetCookie("Cookie"), "gin") cookie, _ := c.GetCookie("user")
assert.Equal(t, cookie, "gin")
} }
// Tests that the response is serialized as JSON // Tests that the response is serialized as JSON