Fix creating new local users

This commit is contained in:
kolaente 2020-11-19 20:55:48 +01:00
parent c30c69e570
commit 1fb7625ca2
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
2 changed files with 5 additions and 17 deletions

View File

@ -265,6 +265,10 @@ func CreateUser(user *User) (newUser *User, err error) {
Subject: newUser.Subject,
}
if newUser.Issuer != "local" {
userToCheck.Email = ""
}
_, err = GetUser(userToCheck)
if err != nil {
if IsErrUserDoesNotExist(err) {
@ -273,7 +277,7 @@ func CreateUser(user *User) (newUser *User, err error) {
return &User{}, err
}
}
if exists {
if exists && newUser.Issuer == "local" {
return &User{}, ErrUserEmailExists{newUser.ID, newUser.Email}
}

View File

@ -108,22 +108,6 @@ func TestCreateUser(t *testing.T) {
})
assert.NoError(t, err)
})
t.Run("existing user but changed email", func(t *testing.T) {
// User changed their email in third party service, should update here
db.LoadAndAssertFixtures(t)
n, err := CreateUser(&User{
Username: "somenewuser",
Email: "somenewuser@example.com",
Issuer: "https://some.service.com",
Subject: "12345",
})
assert.NoError(t, err)
nu := &User{ID: n.ID}
_, err = x.Get(nu)
assert.NoError(t, err)
assert.Equal(t, "somenewuser@example.com", nu.Email)
})
}
func TestGetUser(t *testing.T) {