kemotalk バックエンド開発記録(1日目) クッキーの作成をできるようにする。

作ろうとしているアプリ

ブラウザ上でビデオチャットができるアプリ

現在取り組んでいる機能

ログイン

今回追加した部分

セッションを仕様できているかのテスト

コントローラー

func CreateSession(c *gin.Context) {
s := sessions.Default(c)
s.Set("Hello", "world!")
s.Save()
c.Status(http.StatusOK)
}

 

テスト

func TestCreateSessionPublishCookie(t *testing.T) {
router := gin.New()
store := cookie.NewStore([]byte("secret"))
router.Use(sessions.Sessions("mysession", store))
router.POST("/session", controller.CreateSession)

w := httptest.NewRecorder()
req, _ := http.NewRequest(http.MethodPost, "/session", nil)
router.ServeHTTP(w, req)

assert.NotEmpty(t, w.Header().Get("Set-Cookie"))
}

 

テスト結果

ok bitbucket.org/furtoon_studio/backend/controller 0.332s

 

ポイントなど

クッキーがセットされているかの確認はCookieではなくSet-Cookieで確認する。