mirror of
https://github.com/photoprism/photoprism.git
synced 2025-12-12 00:34:13 +01:00
Auth: Improve user entity model and add unit tests #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
@@ -838,3 +838,129 @@ func TestUser_Provider(t *testing.T) {
|
||||
assert.Equal(t, "password", Admin.Provider())
|
||||
})
|
||||
}
|
||||
|
||||
func TestUser_GetBasePath(t *testing.T) {
|
||||
t.Run("Visitor", func(t *testing.T) {
|
||||
assert.Equal(t, "", Visitor.GetBasePath())
|
||||
})
|
||||
t.Run("UnknownUser", func(t *testing.T) {
|
||||
assert.Equal(t, "", UnknownUser.GetBasePath())
|
||||
})
|
||||
t.Run("Admin", func(t *testing.T) {
|
||||
assert.Equal(t, "", Admin.GetBasePath())
|
||||
})
|
||||
}
|
||||
|
||||
func TestUser_SetBasePath(t *testing.T) {
|
||||
t.Run("Test", func(t *testing.T) {
|
||||
u := User{
|
||||
ID: 1234567,
|
||||
UserUID: "urqdrfb72479n047",
|
||||
UserName: "test",
|
||||
UserRole: acl.RoleAdmin.String(),
|
||||
DisplayName: "Test",
|
||||
SuperAdmin: false,
|
||||
CanLogin: true,
|
||||
WebDAV: true,
|
||||
CanInvite: false,
|
||||
}
|
||||
|
||||
assert.Equal(t, "base", u.SetBasePath("base").GetBasePath())
|
||||
assert.Equal(t, "users/urqdrfb72479n047", u.SetBasePath("~").GetBasePath())
|
||||
assert.Equal(t, "users/urqdrfb72479n047", u.GetUploadPath())
|
||||
})
|
||||
}
|
||||
|
||||
func TestUser_GetUploadPath(t *testing.T) {
|
||||
t.Run("Visitor", func(t *testing.T) {
|
||||
assert.Equal(t, "", Visitor.GetUploadPath())
|
||||
})
|
||||
t.Run("UnknownUser", func(t *testing.T) {
|
||||
assert.Equal(t, "", UnknownUser.GetUploadPath())
|
||||
})
|
||||
t.Run("Admin", func(t *testing.T) {
|
||||
assert.Equal(t, "", Admin.GetUploadPath())
|
||||
})
|
||||
}
|
||||
|
||||
func TestUser_SetUploadPath(t *testing.T) {
|
||||
t.Run("Test", func(t *testing.T) {
|
||||
u := User{
|
||||
ID: 1234567,
|
||||
UserUID: "urqdrfb72479n047",
|
||||
UserName: "test",
|
||||
UserRole: acl.RoleAdmin.String(),
|
||||
DisplayName: "Test",
|
||||
SuperAdmin: false,
|
||||
CanLogin: true,
|
||||
WebDAV: true,
|
||||
CanInvite: false,
|
||||
}
|
||||
|
||||
assert.Equal(t, "upload", u.SetUploadPath("upload").GetUploadPath())
|
||||
assert.Equal(t, "base/upload", u.SetBasePath("base").GetUploadPath())
|
||||
assert.Equal(t, "base", u.SetUploadPath("~").GetUploadPath())
|
||||
assert.Equal(t, "users/urqdrfb72479n047", u.SetBasePath("~").GetUploadPath())
|
||||
})
|
||||
}
|
||||
|
||||
func TestUser_Handle(t *testing.T) {
|
||||
t.Run("Default", func(t *testing.T) {
|
||||
u := User{
|
||||
ID: 1234567,
|
||||
UserUID: "urqdrfb72479n047",
|
||||
UserName: "mr-happy@cat.com",
|
||||
UserRole: acl.RoleAdmin.String(),
|
||||
DisplayName: "",
|
||||
SuperAdmin: false,
|
||||
CanLogin: true,
|
||||
WebDAV: true,
|
||||
CanInvite: false,
|
||||
}
|
||||
|
||||
assert.Equal(t, "mr-happy@cat.com", u.Login())
|
||||
assert.Equal(t, "mr-happy", u.Handle())
|
||||
|
||||
u.UserName = "mr.happy@cat.com"
|
||||
|
||||
assert.Equal(t, "mr.happy", u.Handle())
|
||||
|
||||
u.UserName = "mr.happy"
|
||||
|
||||
assert.Equal(t, "mr.happy", u.Handle())
|
||||
})
|
||||
}
|
||||
|
||||
func TestUser_FullName(t *testing.T) {
|
||||
t.Run("Default", func(t *testing.T) {
|
||||
u := User{
|
||||
ID: 1234567,
|
||||
UserUID: "urqdrfb72479n047",
|
||||
UserName: "mr-happy@cat.com",
|
||||
UserRole: acl.RoleAdmin.String(),
|
||||
DisplayName: "",
|
||||
SuperAdmin: false,
|
||||
CanLogin: true,
|
||||
WebDAV: true,
|
||||
CanInvite: false,
|
||||
}
|
||||
|
||||
assert.Equal(t, "Mr-Happy", u.FullName())
|
||||
|
||||
u.UserName = "mr.happy@cat.com"
|
||||
|
||||
assert.Equal(t, "Mr Happy", u.FullName())
|
||||
|
||||
u.UserName = "mr.happy"
|
||||
|
||||
assert.Equal(t, "Mr Happy", u.FullName())
|
||||
|
||||
u.UserName = "foo@bar.com"
|
||||
|
||||
assert.Equal(t, "Foo", u.FullName())
|
||||
|
||||
u.SetDisplayName("Jane Doe")
|
||||
|
||||
assert.Equal(t, "Jane Doe", u.FullName())
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user