fix(userstore): enable strict user checking

This commit is contained in:
hexxa 2022-03-24 15:52:42 +08:00 committed by Hexxa
parent b7609e6c06
commit d65f1c4356
8 changed files with 53 additions and 34 deletions

View file

@ -97,7 +97,7 @@ func checkCompatibility(deps *depidx.Deps) error {
for _, user := range users {
if user.Preferences == nil {
deps.Users().SetPreferences(user.ID, &userstore.DefaultPreferences)
deps.Users().SetPreferences(user.ID, &db.DefaultPreferences)
}
}

View file

@ -152,7 +152,7 @@ func TestPermissions(t *testing.T) {
assertResp(t, resp, errs, expectedCodes["ListUsers"], fmt.Sprintf("%s-%s", desc, "ListUsers"))
// TODO: the id here should be uint64
tmpUserID := uint64(0)
tmpUserID := uint64(12345)
var err error
if addUserResp.ID != "" {
tmpUserID, err = strconv.ParseUint(addUserResp.ID, 10, 64)
@ -160,13 +160,20 @@ func TestPermissions(t *testing.T) {
t.Fatal(err)
}
}
userID := uint64(0)
userID := uint64(12345)
if selfResp.ID != "" {
userID, err = strconv.ParseUint(selfResp.ID, 10, 64)
if err != nil {
t.Fatal(err)
}
}
tmpAdminID := uint64(12345)
if addAdminResp.ID != "" {
tmpAdminID, err = strconv.ParseUint(addAdminResp.ID, 10, 64)
if err != nil {
t.Fatal(err)
}
}
resp, _, errs = cl.ForceSetPwd(selfResp.ID, newPwd, token)
assertResp(t, resp, errs, expectedCodes["ForceSetPwd"], fmt.Sprintf("%s-%s", desc, "ForceSetPwd"))
@ -187,7 +194,7 @@ func TestPermissions(t *testing.T) {
// update other users
resp, _, errs = cl.SetUser(tmpUserID, db.AdminRole, newQuota, token)
assertResp(t, resp, errs, expectedCodes["SetUserOthers"], fmt.Sprintf("%s-%s", desc, "SetUserOthers"))
resp, _, errs = cl.SetUser(0, db.UserRole, newQuota, token)
resp, _, errs = cl.SetUser(tmpAdminID, db.UserRole, newQuota, token)
assertResp(t, resp, errs, expectedCodes["SetUserOthersAdmin"], fmt.Sprintf("%s-%s", desc, "SetUserOthersAdmin"))
resp, _, errs = cl.DelUser(addUserResp.ID, token)

View file

@ -9,7 +9,6 @@ import (
"github.com/ihexxa/quickshare/src/client"
"github.com/ihexxa/quickshare/src/db"
"github.com/ihexxa/quickshare/src/db/userstore"
q "github.com/ihexxa/quickshare/src/handlers"
su "github.com/ihexxa/quickshare/src/handlers/singleuserhdr"
)
@ -94,7 +93,7 @@ func TestUsersHandlers(t *testing.T) {
user.Quota.SpaceLimit != 1024*1024*1024 || // TODO: export these
user.Quota.UploadSpeedLimit != 50*1024*1024 ||
user.Quota.DownloadSpeedLimit != 50*1024*1024 ||
!reflect.DeepEqual(user.Preferences, &userstore.DefaultPreferences) {
!reflect.DeepEqual(user.Preferences, &db.DefaultPreferences) {
t.Fatal(fmt.Errorf("incorrect user info (%v)", user))
}
}
@ -103,7 +102,7 @@ func TestUsersHandlers(t *testing.T) {
user.Quota.SpaceLimit != 0 || // TODO: export these
user.Quota.UploadSpeedLimit != 10*1024*1024 ||
user.Quota.DownloadSpeedLimit != 10*1024*1024 ||
!reflect.DeepEqual(user.Preferences, &userstore.DefaultPreferences) {
!reflect.DeepEqual(user.Preferences, &db.DefaultPreferences) {
t.Fatal(fmt.Errorf("incorrect user info (%v)", user))
}
}
@ -112,7 +111,7 @@ func TestUsersHandlers(t *testing.T) {
user.Quota.SpaceLimit != 1024 ||
user.Quota.UploadSpeedLimit != 409600 ||
user.Quota.DownloadSpeedLimit != 409600 ||
!reflect.DeepEqual(user.Preferences, &userstore.DefaultPreferences) {
!reflect.DeepEqual(user.Preferences, &db.DefaultPreferences) {
t.Fatal(fmt.Errorf("incorrect user info (%v)", user))
}
}
@ -458,19 +457,23 @@ func TestUsersHandlers(t *testing.T) {
LanPackURL: "/lanpack",
Avatar: "a1",
Email: "email1",
Lan: "en_US",
Theme: "light",
},
&db.Preferences{
Bg: &db.BgConfig{
Url: "/bgurl2",
Repeat: "no-repeat2",
Position: "center2",
Align: "fixed2",
Repeat: "repeat",
Position: "top",
Align: "scroll",
BgColor: "#333",
},
CSSURL: "/cssurl2",
LanPackURL: "/lanpack2",
Avatar: "a2",
Email: "email2",
Lan: "zh_CN",
Theme: "dark",
},
}
for _, prefer := range prefers {

Binary file not shown.