test(e2e): refine space limit tests

This commit is contained in:
hexxa 2021-09-29 18:49:38 +08:00 committed by Hexxa
parent b8fdb2bbee
commit 5605839411
2 changed files with 32 additions and 8 deletions

View file

@ -288,7 +288,7 @@ func (s *Server) Start() error {
sig := <-s.signalChan sig := <-s.signalChan
if sig != nil { if sig != nil {
s.deps.Log().Infow( s.deps.Log().Infow(
fmt.Sprintf("received signal %s: shutting down\n", sig.String()), fmt.Sprintf("received signal %s: shutting down", sig.String()),
) )
} }
s.Shutdown() s.Shutdown()

View file

@ -13,7 +13,13 @@ import (
func TestSpaceLimit(t *testing.T) { func TestSpaceLimit(t *testing.T) {
addr := "http://127.0.0.1:8686" addr := "http://127.0.0.1:8686"
root := "testData" root := "testData"
config := `{ spaceLimit := 1000000
fileSize := 100000
if spaceLimit%fileSize != 0 {
t.Fatal("spaceLimit % fileSize must be zero")
}
config := fmt.Sprintf(`{
"users": { "users": {
"enableAuth": true, "enableAuth": true,
"minUserNameLen": 2, "minUserNameLen": 2,
@ -21,7 +27,7 @@ func TestSpaceLimit(t *testing.T) {
"captchaEnabled": false, "captchaEnabled": false,
"uploadSpeedLimit": 409600, "uploadSpeedLimit": 409600,
"downloadSpeedLimit": 409600, "downloadSpeedLimit": 409600,
"spaceLimit": 100, "spaceLimit": %d,
"limiterCapacity": 1000, "limiterCapacity": 1000,
"limiterCyc": 1000 "limiterCyc": 1000
}, },
@ -32,7 +38,7 @@ func TestSpaceLimit(t *testing.T) {
"fs": { "fs": {
"root": "testData" "root": "testData"
} }
}` }`, spaceLimit)
adminName := "qs" adminName := "qs"
adminPwd := "quicksh@re" adminPwd := "quicksh@re"
@ -100,11 +106,11 @@ func TestSpaceLimit(t *testing.T) {
token := client.GetCookie(resp.Cookies(), q.TokenCookie) token := client.GetCookie(resp.Cookies(), q.TokenCookie)
fileContent := "" fileContent := ""
for i := 0; i < 10; i++ { for i := 0; i < fileSize; i++ {
fileContent += "0" fileContent += "0"
} }
for i := 0; i < 10; i++ { for i := 0; i < spaceLimit/fileSize; i++ {
ok := assertUploadOK(t, fmt.Sprintf("%s/files/spacelimit/f_%d", getUserName(0), i), fileContent, addr, token) ok := assertUploadOK(t, fmt.Sprintf("%s/files/spacelimit/f_%d", getUserName(0), i), fileContent, addr, token)
if !ok { if !ok {
t.Fatalf("space limit failed at %d", i) t.Fatalf("space limit failed at %d", i)
@ -114,8 +120,8 @@ func TestSpaceLimit(t *testing.T) {
if len(errs) > 0 { if len(errs) > 0 {
t.Fatal(errs) t.Fatal(errs)
} else if resp.StatusCode != 200 { } else if resp.StatusCode != 200 {
t.Fatal("failed to add user") t.Fatal("failed to get self")
} else if selfResp.UsedSpace != int64((i+1)*10) { } else if selfResp.UsedSpace != int64((i+1)*fileSize) {
t.Fatal("incorrect used space") t.Fatal("incorrect used space")
} }
} }
@ -128,6 +134,24 @@ func TestSpaceLimit(t *testing.T) {
} else if res.StatusCode != 429 { } else if res.StatusCode != 429 {
t.Fatal("(space limit): this request should be rejected") t.Fatal("(space limit): this request should be rejected")
} }
for i := 0; i < spaceLimit/fileSize; i++ {
resp, _, errs := cl.Delete(fmt.Sprintf("%s/files/spacelimit/f_%d", getUserName(0), i))
if len(errs) > 0 {
t.Fatalf("failed to delete %d", i)
} else if resp.StatusCode != 200 {
t.Fatalf("failed to delete status %d", resp.StatusCode)
}
resp, selfResp, errs := usersCl.Self(token)
if len(errs) > 0 {
t.Fatal(errs)
} else if resp.StatusCode != 200 {
t.Fatal("failed to get self")
} else if selfResp.UsedSpace != int64(spaceLimit)-int64((i+1)*fileSize) {
t.Fatal("incorrect used space")
}
}
}) })
resp, _, errs = usersCl.Logout(token) resp, _, errs = usersCl.Logout(token)