test(e2e): refine space limit tests
This commit is contained in:
parent
b8fdb2bbee
commit
5605839411
2 changed files with 32 additions and 8 deletions
|
@ -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()
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue