50 lines
826 B
Plaintext
50 lines
826 B
Plaintext
|
package filemanager
|
||
|
|
||
|
import (
|
||
|
"io/ioutil"
|
||
|
"os"
|
||
|
"path/filepath"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/hacdias/fileutils"
|
||
|
)
|
||
|
|
||
|
type test struct {
|
||
|
*FileManager
|
||
|
Temp string
|
||
|
}
|
||
|
|
||
|
func (t test) Clean() {
|
||
|
t.db.Close()
|
||
|
os.RemoveAll(t.Temp)
|
||
|
}
|
||
|
|
||
|
func newTest(t *testing.T) *test {
|
||
|
temp, err := ioutil.TempDir("", t.Name())
|
||
|
if err != nil {
|
||
|
t.Fatalf("Error creating temporary directory: %v", err)
|
||
|
}
|
||
|
|
||
|
scope := filepath.Join(temp, "scope")
|
||
|
database := filepath.Join(temp, "database.db")
|
||
|
|
||
|
err = fileutils.CopyDir("./testdata", scope)
|
||
|
if err != nil {
|
||
|
t.Fatalf("Error copying the test data: %v", err)
|
||
|
}
|
||
|
|
||
|
user := DefaultUser
|
||
|
user.FileSystem = fileutils.Dir(scope)
|
||
|
|
||
|
fm, err := New(database, user)
|
||
|
|
||
|
if err != nil {
|
||
|
t.Fatalf("Error creating a file manager instance: %v", err)
|
||
|
}
|
||
|
|
||
|
return &test{
|
||
|
FileManager: fm,
|
||
|
Temp: temp,
|
||
|
}
|
||
|
}
|