@@ -1,6 +1,8 @@
11package sessions_test
22
33import (
4+ "crypto/rand"
5+ "encoding/base64"
46 "net/http"
57 "net/http/httptest"
68 "testing"
@@ -133,7 +135,16 @@ var _ = Describe("NewSessionStore", func() {
133135 Expect(loadedSession.User).To(Equal(session.User))
134136 } else {
135137 // All fields stored in session if encrypted
136− Expect(loadedSession).To(Equal(session))
138+
139+ // Can't compare time.Time using Equal() so remove ExpiresOn from sessions
140+ l := *loadedSession
141+ l.ExpiresOn = time.Time{}
142+ s := *session
143+ s.ExpiresOn = time.Time{}
144+ Expect(l).To(Equal(s))
145+
146+ // Compare time.Time separately
147+ Expect(loadedSession.ExpiresOn.Equal(session.ExpiresOn)).To(BeTrue())
137148 }
138149 })
139150 })
@@ -169,6 +180,20 @@ var _ = Describe("NewSessionStore", func() {
169180
170181 SessionStoreInterfaceTests()
171182 })
183+
184+ Context("with a cookie-secret set", func() {
185+ BeforeEach(func() {
186+ secret := make([]byte, 32)
187+ _, err := rand.Read(secret)
188+ Expect(err).ToNot(HaveOccurred())
189+ cookieOpts.CookieSecret = base64.URLEncoding.EncodeToString(secret)
190+
191+ ss, err = sessions.NewSessionStore(opts, cookieOpts)
192+ Expect(err).ToNot(HaveOccurred())
193+ })
194+
195+ SessionStoreInterfaceTests()
196+ })
172197 }
173198
174199 BeforeEach(func() {