Check all information is encoded when cookie-secret set
This commit is contained in:
parent
553cf89579
commit
02e80b7aab
@ -1,6 +1,8 @@
|
|||||||
package sessions_test
|
package sessions_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/rand"
|
||||||
|
"encoding/base64"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"testing"
|
"testing"
|
||||||
@ -133,7 +135,16 @@ var _ = Describe("NewSessionStore", func() {
|
|||||||
Expect(loadedSession.User).To(Equal(session.User))
|
Expect(loadedSession.User).To(Equal(session.User))
|
||||||
} else {
|
} else {
|
||||||
// All fields stored in session if encrypted
|
// All fields stored in session if encrypted
|
||||||
Expect(loadedSession).To(Equal(session))
|
|
||||||
|
// Can't compare time.Time using Equal() so remove ExpiresOn from sessions
|
||||||
|
l := *loadedSession
|
||||||
|
l.ExpiresOn = time.Time{}
|
||||||
|
s := *session
|
||||||
|
s.ExpiresOn = time.Time{}
|
||||||
|
Expect(l).To(Equal(s))
|
||||||
|
|
||||||
|
// Compare time.Time separately
|
||||||
|
Expect(loadedSession.ExpiresOn.Equal(session.ExpiresOn)).To(BeTrue())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -169,6 +180,20 @@ var _ = Describe("NewSessionStore", func() {
|
|||||||
|
|
||||||
SessionStoreInterfaceTests()
|
SessionStoreInterfaceTests()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Context("with a cookie-secret set", func() {
|
||||||
|
BeforeEach(func() {
|
||||||
|
secret := make([]byte, 32)
|
||||||
|
_, err := rand.Read(secret)
|
||||||
|
Expect(err).ToNot(HaveOccurred())
|
||||||
|
cookieOpts.CookieSecret = base64.URLEncoding.EncodeToString(secret)
|
||||||
|
|
||||||
|
ss, err = sessions.NewSessionStore(opts, cookieOpts)
|
||||||
|
Expect(err).ToNot(HaveOccurred())
|
||||||
|
})
|
||||||
|
|
||||||
|
SessionStoreInterfaceTests()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
|
Loading…
Reference in New Issue
Block a user