123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package worker
- import (
- "io/ioutil"
- "os"
- "path/filepath"
- "testing"
- "time"
- . "github.com/smartystreets/goconvey/convey"
- )
- func TestZFSHook(t *testing.T) {
- Convey("ZFS Hook should work", t, func(ctx C) {
- tmpDir, err := ioutil.TempDir("", "tunasync")
- tmpFile := filepath.Join(tmpDir, "log_file")
- c := cmdConfig{
- name: "tuna_zfs_hook_test",
- upstreamURL: "http://mirrors.tuna.moe/",
- command: "ls",
- workingDir: tmpDir,
- logDir: tmpDir,
- logFile: tmpFile,
- interval: 1 * time.Second,
- }
- provider, err := newCmdProvider(c)
- So(err, ShouldBeNil)
- Convey("When working directory doesn't exist", func(ctx C) {
- errRm := os.RemoveAll(tmpDir)
- So(errRm, ShouldBeNil)
- hook := newZfsHook(provider, "test_pool")
- err := hook.preJob()
- So(err, ShouldNotBeNil)
- })
- Convey("When working directory is not a mount point", func(ctx C) {
- defer os.RemoveAll(tmpDir)
- hook := newZfsHook(provider, "test_pool")
- err := hook.preJob()
- So(err, ShouldNotBeNil)
- })
- })
- }
|