mirror of
https://github.com/photoprism/photoprism.git
synced 2025-09-26 21:01:58 +08:00
Tests: Add unit tests
This commit is contained in:
@@ -486,6 +486,32 @@ func TestFindUser(t *testing.T) {
|
||||
assert.NotEmpty(t, m.CreatedAt)
|
||||
assert.NotEmpty(t, m.UpdatedAt)
|
||||
})
|
||||
t.Run("OIDCUser", func(t *testing.T) {
|
||||
info := &oidc.UserInfo{}
|
||||
info.Name = "Jane Doe"
|
||||
info.Email = "jane@doe.com"
|
||||
info.EmailVerified = true
|
||||
info.Subject = "e3a9f4a6-9d60-47cb-9bf5-02bd15b0c888"
|
||||
info.PreferredUsername = "Jane Doe"
|
||||
|
||||
u := OidcUser(info, "", "jane.doe")
|
||||
|
||||
err := u.Save()
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
m := FindUser(User{UserUID: u.UserUID})
|
||||
|
||||
if m == nil {
|
||||
t.Fatal("result should not be nil")
|
||||
}
|
||||
|
||||
assert.NotEmpty(t, m.UserUID)
|
||||
assert.Equal(t, "jane.doe", m.UserName)
|
||||
assert.Equal(t, "oidc", m.AuthProvider)
|
||||
})
|
||||
t.Run("UserName", func(t *testing.T) {
|
||||
m := FindUser(User{UserName: "admin"})
|
||||
|
||||
@@ -733,11 +759,11 @@ func TestUser_SetPassword(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestUser_InitLogin(t *testing.T) {
|
||||
func TestUser_InitAccount(t *testing.T) {
|
||||
t.Run("Ok", func(t *testing.T) {
|
||||
p := User{UserUID: "u000000000000009", UserName: "Hanna", DisplayName: ""}
|
||||
p := User{UserUID: "u000000000000009", UserName: "Hanna", DisplayName: "", CanLogin: true}
|
||||
assert.Nil(t, FindPassword("u000000000000009"))
|
||||
p.InitAccount("admin", "insecure")
|
||||
assert.True(t, p.InitAccount("admin", "insecure"))
|
||||
m := FindPassword("u000000000000009")
|
||||
|
||||
if m == nil {
|
||||
@@ -756,7 +782,7 @@ func TestUser_InitLogin(t *testing.T) {
|
||||
}
|
||||
|
||||
assert.NotNil(t, FindPassword("u000000000000010"))
|
||||
p.InitAccount("admin", "insecure")
|
||||
assert.False(t, p.InitAccount("admin", "insecure"))
|
||||
m := FindPassword("u000000000000010")
|
||||
|
||||
if m == nil {
|
||||
@@ -766,13 +792,13 @@ func TestUser_InitLogin(t *testing.T) {
|
||||
t.Run("NotRegistered", func(t *testing.T) {
|
||||
p := User{UserUID: "u12", UserName: "", DisplayName: ""}
|
||||
assert.Nil(t, FindPassword("u12"))
|
||||
p.InitAccount("admin", "insecure")
|
||||
assert.False(t, p.InitAccount("admin", "insecure"))
|
||||
assert.Nil(t, FindPassword("u12"))
|
||||
})
|
||||
t.Run("EmptyPassword", func(t *testing.T) {
|
||||
p := User{UserUID: "u000000000000011", UserName: "User", DisplayName: ""}
|
||||
assert.Nil(t, FindPassword("u000000000000011"))
|
||||
p.InitAccount("admin", "")
|
||||
assert.False(t, p.InitAccount("admin", ""))
|
||||
assert.Nil(t, FindPassword("u000000000000011"))
|
||||
})
|
||||
}
|
||||
@@ -1665,10 +1691,21 @@ func TestUser_UpdateAuthID(t *testing.T) {
|
||||
m.SetAuthID(id, issuer)
|
||||
assert.Equal(t, id, m.AuthID)
|
||||
assert.Equal(t, issuer, m.AuthIssuer)
|
||||
m.SetAuthID(id, "")
|
||||
err := m.UpdateAuthID(id, "")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, id, m.AuthID)
|
||||
assert.Equal(t, "", m.AuthIssuer)
|
||||
})
|
||||
t.Run("InvalidUUID", func(t *testing.T) {
|
||||
m := User{UserUID: "123"}
|
||||
|
||||
assert.Equal(t, "", m.AuthIssuer)
|
||||
m.SetAuthID(id, issuer)
|
||||
assert.Equal(t, id, m.AuthID)
|
||||
assert.Equal(t, issuer, m.AuthIssuer)
|
||||
err := m.UpdateAuthID(id, "")
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
||||
func TestUser_AuthInfo(t *testing.T) {
|
||||
|
@@ -62,6 +62,9 @@ func TestGrantType_Pretty(t *testing.T) {
|
||||
assert.Equal(t, "Authorization Code", GrantAuthorizationCode.Pretty())
|
||||
assert.Equal(t, "JWT Bearer Assertion", GrantJwtBearer.Pretty())
|
||||
assert.Equal(t, "SAML2 Bearer Assertion", GrantSamlBearer.Pretty())
|
||||
assert.Equal(t, "Share Token", GrantShareToken.Pretty())
|
||||
assert.Equal(t, "Token Exchange", GrantTokenExchange.Pretty())
|
||||
assert.Equal(t, "Implicit", GrantImplicit.Pretty())
|
||||
}
|
||||
|
||||
func TestGrantType_Equal(t *testing.T) {
|
||||
|
@@ -69,6 +69,12 @@ func TestMethod(t *testing.T) {
|
||||
assert.Equal(t, Method2FA, Method("2FA"))
|
||||
}
|
||||
|
||||
func TestMethods(t *testing.T) {
|
||||
types := Methods("oauth2, totp")
|
||||
assert.Equal(t, MethodOAuth2, types[0])
|
||||
assert.Equal(t, Method2FA, types[1])
|
||||
}
|
||||
|
||||
func TestMethodType_IsSession(t *testing.T) {
|
||||
assert.True(t, MethodSession.IsSession())
|
||||
assert.False(t, Method2FA.IsSession())
|
||||
|
@@ -37,6 +37,12 @@ func TestAuth(t *testing.T) {
|
||||
"a34fd47a7ecd9967a89330a3f92cb55513d5eca79b6c4999dc910818c29d5b9925a3a04ed91a4e57a2c25cbfdab3a751bb8d7f3635092b9242d154f389d9700aa34fd47a7ecd9967a89330a3f92cb55513d5eca79b6c4999dc910818c29d5b9925a3a04ed91a4e57a2c25cbfdab3a751bb8d7f3635092b9242d154f389d9700",
|
||||
Auth("a34fd47a7ecd9967a89330a3f92cb55513d5eca79b6c4999dc910818c29d5b9925a3a04ed91a4e57a2c25cbfdab3a751bb8d7f3635092b9242d154f389d9700aa34fd47a7ecd9967a89330a3f92cb55513d5eca79b6c4999dc910818c29d5b9925a3a04ed91a4e57a2c25cbfdab3a751bb8d7f3635092b9242d154f389d9700a"))
|
||||
})
|
||||
t.Run("Empty", func(t *testing.T) {
|
||||
assert.Equal(t, "", Auth(""))
|
||||
})
|
||||
t.Run("Te<s>t", func(t *testing.T) {
|
||||
assert.Equal(t, "Test", Auth("Te<s>t"))
|
||||
})
|
||||
}
|
||||
|
||||
func TestHandle(t *testing.T) {
|
||||
@@ -195,4 +201,10 @@ func TestPasscode(t *testing.T) {
|
||||
t.Run("Special", func(t *testing.T) {
|
||||
assert.Equal(t, "tiji", Passcode("!#$T#)$%I#J$I"))
|
||||
})
|
||||
t.Run("Empty", func(t *testing.T) {
|
||||
assert.Equal(t, "", Passcode(""))
|
||||
})
|
||||
t.Run("Space", func(t *testing.T) {
|
||||
assert.Equal(t, "", Passcode(" "))
|
||||
})
|
||||
}
|
||||
|
@@ -19,3 +19,11 @@ func BenchmarkUUID(b *testing.B) {
|
||||
UUID()
|
||||
}
|
||||
}
|
||||
|
||||
func TestState(t *testing.T) {
|
||||
for n := 0; n < 5; n++ {
|
||||
s := State()
|
||||
t.Logf("UUID %d: %s", n, s)
|
||||
assert.Equal(t, 36, len(s))
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user