@@ -27,6 +27,7 @@ var _ = Describe("NewSessionStore", func() {
27 var request *http.Request
27 var request *http.Request
28 var response *httptest.ResponseRecorder
28 var response *httptest.ResponseRecorder
29 var session *sessionsapi.SessionState
29 var session *sessionsapi.SessionState
30+ var ss sessionsapi.SessionStore
31 CheckCookieOptions := func() {
32 CheckCookieOptions := func() {
32 Context("the cookies returned", func() {
33 Context("the cookies returned", func() {
@@ -72,52 +73,54 @@ var _ = Describe("NewSessionStore", func() {
75− RunCookieTests := func() {
76+ SessionStoreInterfaceTests := func() {
76− var ss sessionsapi.SessionStore
77+ Context("when SaveSession is called", func() {
78− Context("with default options", func() {
79 BeforeEach(func() {
78 BeforeEach(func() {
80− var err error
79+ err := ss.SaveSession(response, request, session)
81− ss, err = sessions.NewSessionStore(opts, cookieOpts)
82 Expect(err).ToNot(HaveOccurred())
80 Expect(err).ToNot(HaveOccurred())
85− Context("when SaveSession is called", func() {
83+ It("sets a `set-cookie` header in the response", func() {
86− BeforeEach(func() {
84+ Expect(response.Header().Get("set-cookie")).ToNot(BeEmpty())
87− err := ss.SaveSession(response, request, session)
88− Expect(err).ToNot(HaveOccurred())
91− It("sets a `set-cookie` header in the response", func() {
87+ CheckCookieOptions()
92− Expect(response.Header().Get("set-cookie")).ToNot(BeEmpty())
95− CheckCookieOptions()
90+ Context("when ClearSession is called", func() {
92+ cookie := cookies.MakeCookie(request,
93+ cookieOpts.CookieName,
95+ cookieOpts.CookiePath,
96+ cookieOpts.CookieDomain,
97+ cookieOpts.CookieHTTPOnly,
98+ cookieOpts.CookieSecure,
99+ cookieOpts.CookieExpire,
102+ request.AddCookie(cookie)
103+ err := ss.ClearSession(response, request)
104+ Expect(err).ToNot(HaveOccurred())
98− Context("when ClearSession is called", func() {
100− cookie := cookies.MakeCookie(request,
101− cookieOpts.CookieName,
103− cookieOpts.CookiePath,
104− cookieOpts.CookieDomain,
105− cookieOpts.CookieHTTPOnly,
106− cookieOpts.CookieSecure,
107− cookieOpts.CookieExpire,
110− request.AddCookie(cookie)
111− err := ss.ClearSession(response, request)
112− Expect(err).ToNot(HaveOccurred())
115− It("sets a `set-cookie` header in the response", func() {
107+ It("sets a `set-cookie` header in the response", func() {
116− Expect(response.Header().Get("set-cookie")).ToNot(BeEmpty())
108+ Expect(response.Header().Get("Set-Cookie")).ToNot(BeEmpty())
119− CheckCookieOptions()
111+ CheckCookieOptions()
115+ RunCookieTests := func() {
116+ Context("with default options", func() {
119+ ss, err = sessions.NewSessionStore(opts, cookieOpts)
120+ Expect(err).ToNot(HaveOccurred())
123+ SessionStoreInterfaceTests()
123 Context("with non-default options", func() {
126 Context("with non-default options", func() {
@@ -137,46 +140,13 @@ var _ = Describe("NewSessionStore", func() {
137 Expect(err).ToNot(HaveOccurred())
140 Expect(err).ToNot(HaveOccurred())
140− Context("when SaveSession is called", func() {
143+ SessionStoreInterfaceTests()
142− err := ss.SaveSession(response, request, session)
143− Expect(err).ToNot(HaveOccurred())
146− It("sets a `set-cookie` header in the response", func() {
147− Expect(response.Header().Get("set-cookie")).ToNot(BeEmpty())
150− CheckCookieOptions()
153− Context("when ClearSession is called", func() {
155− cookie := cookies.MakeCookie(request,
156− cookieOpts.CookieName,
158− cookieOpts.CookiePath,
159− cookieOpts.CookieDomain,
160− cookieOpts.CookieHTTPOnly,
161− cookieOpts.CookieSecure,
162− cookieOpts.CookieExpire,
165− request.AddCookie(cookie)
166− err := ss.ClearSession(response, request)
167− Expect(err).ToNot(HaveOccurred())
170− It("sets a `set-cookie` header in the response", func() {
171− Expect(response.Header().Get("Set-Cookie")).ToNot(BeEmpty())
174− CheckCookieOptions()
179 BeforeEach(func() {
148 BeforeEach(func() {
180 opts = &options.SessionOptions{}
150 opts = &options.SessionOptions{}
182 // Set default options in CookieOptions
152 // Set default options in CookieOptions