feat(user_store): add quota to user info

This commit is contained in:
hexxa 2021-08-07 16:41:40 +08:00 committed by Hexxa
parent 1fcb2223a0
commit 75e10e6ad9
2 changed files with 171 additions and 120 deletions

View file

@ -26,15 +26,22 @@ func TestUserStores(t *testing.T) {
t.Fatalf("incorrect root fole")
}
id, name1, name2 := uint64(1), "test_user1", "test_user2"
id, name1 := uint64(1), "test_user1"
pwd1, pwd2 := "666", "888"
role1, role2 := UserRole, AdminRole
spaceLimit1, upLimit1, downLimit1 := int64(3), 5, 7
spaceLimit2, upLimit2, downLimit2 := int64(11), 13, 17
err = store.AddUser(&User{
ID: id,
Name: name1,
Pwd: pwd1,
Role: role1,
Quota: &Quota{
SpaceLimit: spaceLimit1,
UploadSpeedLimit: upLimit1,
DownloadSpeedLimit: downLimit1,
},
})
user, err := store.GetUser(id)
@ -50,6 +57,15 @@ func TestUserStores(t *testing.T) {
if user.Role != role1 {
t.Fatalf("roles not matched %s %s", role1, user.Role)
}
if user.Quota.SpaceLimit != spaceLimit1 {
t.Fatalf("space limit not matched %d %d", spaceLimit1, user.Quota.SpaceLimit)
}
if user.Quota.UploadSpeedLimit != upLimit1 {
t.Fatalf("up limit not matched %d %d", upLimit1, user.Quota.UploadSpeedLimit)
}
if user.Quota.DownloadSpeedLimit != downLimit1 {
t.Fatalf("down limit not matched %d %d", downLimit1, user.Quota.DownloadSpeedLimit)
}
users, err := store.ListUsers()
if err != nil {
@ -65,34 +81,41 @@ func TestUserStores(t *testing.T) {
t.Fatalf("incorrect user info %v", users[1])
}
err = store.SetName(id, name2)
if err != nil {
t.Fatal(err)
}
err = store.SetPwd(id, pwd2)
if err != nil {
t.Fatal(err)
}
err = store.SetRole(id, role2)
if err != nil {
t.Fatal(err)
}
store.SetInfo(id, &User{
ID: id,
Role: role2,
Quota: &Quota{
SpaceLimit: spaceLimit2,
UploadSpeedLimit: upLimit2,
DownloadSpeedLimit: downLimit2,
},
})
user, err = store.GetUser(id)
if err != nil {
t.Fatal(err)
}
if user.Name != name2 {
t.Fatalf("names not matched %s %s", name2, user.Name)
}
if user.Pwd != pwd2 {
t.Fatalf("passwords not match %s", err)
}
if user.Role != role2 {
t.Fatalf("roles not matched %s %s", role2, user.Role)
}
if user.Quota.SpaceLimit != spaceLimit2 {
t.Fatalf("space limit not matched %d %d", spaceLimit2, user.Quota.SpaceLimit)
}
if user.Quota.UploadSpeedLimit != upLimit2 {
t.Fatalf("up limit not matched %d %d", upLimit2, user.Quota.UploadSpeedLimit)
}
if user.Quota.DownloadSpeedLimit != downLimit2 {
t.Fatalf("down limit not matched %d %d", downLimit2, user.Quota.DownloadSpeedLimit)
}
user, err = store.GetUserByName(name2)
user, err = store.GetUserByName(name1)
if err != nil {
t.Fatal(err)
}
@ -105,6 +128,15 @@ func TestUserStores(t *testing.T) {
if user.Role != role2 {
t.Fatalf("roles not matched %s %s", role2, user.Role)
}
if user.Quota.SpaceLimit != spaceLimit2 {
t.Fatalf("space limit not matched %d %d", spaceLimit2, user.Quota.SpaceLimit)
}
if user.Quota.UploadSpeedLimit != upLimit2 {
t.Fatalf("up limit not matched %d %d", upLimit2, user.Quota.UploadSpeedLimit)
}
if user.Quota.DownloadSpeedLimit != downLimit2 {
t.Fatalf("down limit not matched %d %d", downLimit2, user.Quota.DownloadSpeedLimit)
}
err = store.DelUser(id)
if err != nil {