1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-06-21 12:48:58 +00:00
seafile-server/fileserver/fsmgr/fsmgr_test.go
feiniks a967d5094f
Encode json data in a specific format (#513)
* Encode json data in a specific format

* Convert fs to json when save fs
2021-11-19 11:01:29 +08:00

133 lines
2.5 KiB
Go

package fsmgr
import (
"fmt"
"os"
"testing"
)
const (
seafileConfPath = "/tmp/conf"
seafileDataDir = "/tmp/conf/seafile-data"
repoID = "b1f2ad61-9164-418a-a47f-ab805dbd5694"
blkID = "0401fc662e3bc87a41f299a907c056aaf8322a26"
subDirID = "0401fc662e3bc87a41f299a907c056aaf8322a27"
)
var dirID string
var fileID string
func createFile() error {
var blkIDs []string
for i := 0; i < 2; i++ {
blkshal := blkID
blkIDs = append(blkIDs, blkshal)
}
seafile, err := NewSeafile(1, 100, blkIDs)
if err != nil {
return err
}
err = SaveSeafile(repoID, seafile)
if err != nil {
return err
}
fileID = seafile.FileID
var entries []*SeafDirent
for i := 0; i < 2; i++ {
dirent := SeafDirent{ID: subDirID, Name: "/", Mode: 0x4000}
entries = append(entries, &dirent)
}
seafdir, err := NewSeafdir(1, entries)
if err != nil {
err := fmt.Errorf("failed to new seafdir: %v", err)
return err
}
err = SaveSeafdir(repoID, seafdir)
if err != nil {
return err
}
dirID = seafdir.DirID
return nil
}
func delFile() error {
err := os.RemoveAll(seafileConfPath)
if err != nil {
return err
}
return nil
}
func TestMain(m *testing.M) {
Init(seafileConfPath, seafileDataDir)
err := createFile()
if err != nil {
fmt.Printf("Failed to create test file : %v.\n", err)
os.Exit(1)
}
code := m.Run()
err = delFile()
if err != nil {
fmt.Printf("Failed to remove test file : %v\n", err)
}
os.Exit(code)
}
func TestGetSeafile(t *testing.T) {
exists, err := Exists(repoID, fileID)
if !exists {
t.Errorf("seafile is not exists : %v.\n", err)
}
seafile, err := GetSeafile(repoID, fileID)
if err != nil || seafile == nil {
t.Errorf("Failed to get seafile : %v.\n", err)
t.FailNow()
}
for _, v := range seafile.BlkIDs {
if v != blkID {
t.Errorf("Wrong file content.\n")
}
}
}
func TestGetSeafdir(t *testing.T) {
exists, err := Exists(repoID, dirID)
if !exists {
t.Errorf("seafile is not exists : %v.\n", err)
}
seafdir, err := GetSeafdir(repoID, dirID)
if err != nil || seafdir == nil {
t.Errorf("Failed to get seafdir : %v.\n", err)
t.FailNow()
}
for _, v := range seafdir.Entries {
if v.ID != subDirID {
t.Errorf("Wrong file content.\n")
}
}
}
func TestGetSeafdirByPath(t *testing.T) {
seafdir, err := GetSeafdirByPath(repoID, dirID, "/")
if err != nil || seafdir == nil {
t.Errorf("Failed to get seafdir : %v.\n", err)
t.FailNow()
}
for _, v := range seafdir.Entries {
if v.ID != subDirID {
t.Errorf("Wrong file content.\n")
}
}
}