Fix DevAutoCreateAdminPassword

This commit is contained in:
Deluan
2021-05-01 18:03:45 -04:00
parent 88105d5c30
commit e3fe8399c8
6 changed files with 93 additions and 30 deletions
+16 -10
View File
@@ -36,10 +36,12 @@ func newPostRequest(queryParam string, formFields ...string) *http.Request {
var _ = Describe("Middlewares", func() {
var next *mockHandler
var w *httptest.ResponseRecorder
var ds model.DataStore
BeforeEach(func() {
next = &mockHandler{}
w = httptest.NewRecorder()
ds = &tests.MockDataStore{}
})
Describe("ParsePostForm", func() {
@@ -115,11 +117,13 @@ var _ = Describe("Middlewares", func() {
})
Describe("Authenticate", func() {
var ds model.DataStore
BeforeEach(func() {
ds = &tests.MockDataStore{}
ur := ds.User(context.TODO())
_ = ur.Put(&model.User{
UserName: "admin",
NewPassword: "wordpass",
})
})
It("passes authentication with correct credentials", func() {
r := newGetRequest("u=admin", "p=wordpass")
cp := authenticate(ds)(next)
@@ -220,16 +224,18 @@ var _ = Describe("Middlewares", func() {
})
Describe("validateUser", func() {
var ds model.DataStore
BeforeEach(func() {
ds = &tests.MockDataStore{}
ur := ds.User(context.TODO())
_ = ur.Put(&model.User{
UserName: "admin",
NewPassword: "wordpass",
})
})
Context("Plaintext password", func() {
It("authenticates with plaintext password ", func() {
usr, err := validateUser(context.TODO(), ds, "admin", "wordpass", "", "", "")
Expect(err).NotTo(HaveOccurred())
Expect(usr).To(Equal(&model.User{UserName: "admin", Password: "wordpass"}))
Expect(usr.UserName).To(Equal("admin"))
})
It("fails authentication with wrong password", func() {
@@ -242,7 +248,7 @@ var _ = Describe("Middlewares", func() {
It("authenticates with simple encoded password ", func() {
usr, err := validateUser(context.TODO(), ds, "admin", "enc:776f726470617373", "", "", "")
Expect(err).NotTo(HaveOccurred())
Expect(usr).To(Equal(&model.User{UserName: "admin", Password: "wordpass"}))
Expect(usr.UserName).To(Equal("admin"))
})
})
@@ -250,7 +256,7 @@ var _ = Describe("Middlewares", func() {
It("authenticates with token based authentication", func() {
usr, err := validateUser(context.TODO(), ds, "admin", "", "23b342970e25c7928831c3317edd0b67", "retnlmjetrymazgkt", "")
Expect(err).NotTo(HaveOccurred())
Expect(usr).To(Equal(&model.User{UserName: "admin", Password: "wordpass"}))
Expect(usr.UserName).To(Equal("admin"))
})
It("fails if salt is missing", func() {
@@ -273,7 +279,7 @@ var _ = Describe("Middlewares", func() {
usr, err := validateUser(context.TODO(), ds, "admin", "", "", "", validToken)
Expect(err).NotTo(HaveOccurred())
Expect(usr).To(Equal(&model.User{UserName: "admin", Password: "wordpass"}))
Expect(usr.UserName).To(Equal("admin"))
})
It("fails if JWT token is invalid", func() {