diff --git a/src/server/server_concurrency_test.go b/src/server/server_concurrency_test.go index 7ba3ed4..58a40c6 100644 --- a/src/server/server_concurrency_test.go +++ b/src/server/server_concurrency_test.go @@ -13,7 +13,7 @@ import ( func TestConcurrency(t *testing.T) { addr := "http://127.0.0.1:8686" - root := "testData" + rootPath := "testData" config := `{ "users": { "enableAuth": true, @@ -37,20 +37,12 @@ func TestConcurrency(t *testing.T) { adminName := "qs" adminPwd := "quicksh@re" - os.Setenv("DEFAULTADMIN", adminName) - os.Setenv("DEFAULTADMINPWD", adminPwd) - - os.RemoveAll(root) - err := os.MkdirAll(root, 0700) - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(root) + setUpEnv(t, rootPath, adminName, adminPwd) + defer os.RemoveAll(rootPath) srv := startTestServer(config) defer srv.Shutdown() - // fs := srv.depsFS() - if !waitForReady(addr) { + if !isServerReady(addr) { t.Fatal("fail to start server") } diff --git a/src/server/server_files_test.go b/src/server/server_files_test.go index e65b6c7..3ed9e87 100644 --- a/src/server/server_files_test.go +++ b/src/server/server_files_test.go @@ -17,7 +17,7 @@ import ( func TestFileHandlers(t *testing.T) { addr := "http://127.0.0.1:8686" - root := "testData" + rootPath := "testData" config := `{ "users": { "enableAuth": true, @@ -41,21 +41,13 @@ func TestFileHandlers(t *testing.T) { adminName := "qs" adminPwd := "quicksh@re" - os.Setenv("DEFAULTADMIN", adminName) - os.Setenv("DEFAULTADMINPWD", adminPwd) - - os.RemoveAll(root) - err := os.MkdirAll(root, 0700) - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(root) + setUpEnv(t, rootPath, adminName, adminPwd) + defer os.RemoveAll(rootPath) srv := startTestServer(config) defer srv.Shutdown() fs := srv.depsFS() - - if !waitForReady(addr) { + if !isServerReady(addr) { t.Fatal("fail to start server") } @@ -69,6 +61,7 @@ func TestFileHandlers(t *testing.T) { token := client.GetCookie(resp.Cookies(), q.TokenCookie) cl := client.NewFilesClient(addr, token) + var err error // TODO: remove all files under home folder before testing // or the count of files is incorrect t.Run("ListHome", func(t *testing.T) { diff --git a/src/server/server_space_limit_test.go b/src/server/server_space_limit_test.go index ef3ac17..6c1b507 100644 --- a/src/server/server_space_limit_test.go +++ b/src/server/server_space_limit_test.go @@ -12,13 +12,12 @@ import ( func TestSpaceLimit(t *testing.T) { addr := "http://127.0.0.1:8686" - root := "testData" + rootPath := "testData" spaceLimit := 1000000 fileSize := 100000 if spaceLimit%fileSize != 0 { t.Fatal("spaceLimit % fileSize must be zero") } - config := fmt.Sprintf(`{ "users": { "enableAuth": true, @@ -42,20 +41,12 @@ func TestSpaceLimit(t *testing.T) { adminName := "qs" adminPwd := "quicksh@re" - os.Setenv("DEFAULTADMIN", adminName) - os.Setenv("DEFAULTADMINPWD", adminPwd) - - os.RemoveAll(root) - err := os.MkdirAll(root, 0700) - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(root) + setUpEnv(t, rootPath, adminName, adminPwd) + defer os.RemoveAll(rootPath) srv := startTestServer(config) defer srv.Shutdown() - // fs := srv.depsFS() - if !waitForReady(addr) { + if !isServerReady(addr) { t.Fatal("fail to start server") } diff --git a/src/server/server_users_test.go b/src/server/server_users_test.go index ce5f773..5096af7 100644 --- a/src/server/server_users_test.go +++ b/src/server/server_users_test.go @@ -14,7 +14,7 @@ import ( func TestUsersHandlers(t *testing.T) { addr := "http://127.0.0.1:8686" - root := "testData" + rootPath := "testData" config := `{ "users": { "enableAuth": true, @@ -45,15 +45,8 @@ func TestUsersHandlers(t *testing.T) { adminName := "qs" adminPwd := "quicksh@re" adminNewPwd := "quicksh@re2" - os.Setenv("DEFAULTADMIN", adminName) - os.Setenv("DEFAULTADMINPWD", adminPwd) - - os.RemoveAll(root) - err := os.MkdirAll(root, 0700) - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(root) + setUpEnv(t, rootPath, adminName, adminPwd) + defer os.RemoveAll(rootPath) srv := startTestServer(config) defer srv.Shutdown() @@ -61,10 +54,12 @@ func TestUsersHandlers(t *testing.T) { usersCl := client.NewSingleUserClient(addr) - if !waitForReady(addr) { + if !isServerReady(addr) { t.Fatal("fail to start server") } + var err error + t.Run("test users APIs: Login-Self-SetPwd-Logout-Login", func(t *testing.T) { users := []*userstore.User{ { diff --git a/src/server/test_helpers.go b/src/server/test_helpers.go index 2176f7f..93793b3 100644 --- a/src/server/test_helpers.go +++ b/src/server/test_helpers.go @@ -6,6 +6,7 @@ import ( "io/ioutil" "math/rand" "net/http" + "os" "path" "strings" "testing" @@ -40,7 +41,17 @@ func startTestServer(config string) *Server { return srv } -func waitForReady(addr string) bool { +func setUpEnv(t *testing.T, rootPath string, adminName, adminPwd string) { + os.Setenv("DEFAULTADMIN", adminName) + os.Setenv("DEFAULTADMINPWD", adminPwd) + os.RemoveAll(rootPath) + err := os.MkdirAll(rootPath, 0700) + if err != nil { + t.Fatal(err) + } +} + +func isServerReady(addr string) bool { retry := 20 setCl := client.NewSettingsClient(addr)