ソースを参照

remove docker_test.go

z4yx 5 年 前
コミット
a517a4bb64
1 ファイル変更0 行追加103 行削除
  1. 0 103
      worker/docker_test.go

+ 0 - 103
worker/docker_test.go

@@ -1,103 +0,0 @@
-package worker
-
-import (
-	"fmt"
-	"io/ioutil"
-	"os"
-	"path/filepath"
-	"testing"
-	"time"
-
-	"github.com/codeskyblue/go-sh"
-	. "github.com/smartystreets/goconvey/convey"
-)
-
-func getDockerByName(name string) (string, error) {
-	// docker ps -f 'name=$name' --format '{{.Names}}'
-	out, err := sh.Command(
-		"docker", "ps",
-		"--filter", "name="+name,
-		"--format", "{{.Names}}",
-	).Output()
-	if err == nil {
-		logger.Debugf("docker ps: '%s'", string(out))
-	}
-	return string(out), err
-}
-
-func TestDocker(t *testing.T) {
-	Convey("Docker Should Work", t, func(ctx C) {
-		tmpDir, err := ioutil.TempDir("", "tunasync")
-		defer os.RemoveAll(tmpDir)
-		So(err, ShouldBeNil)
-		cmdScript := filepath.Join(tmpDir, "cmd.sh")
-		tmpFile := filepath.Join(tmpDir, "log_file")
-		expectedOutput := "HELLO_WORLD"
-
-		c := cmdConfig{
-			name:        "tuna-docker",
-			upstreamURL: "http://mirrors.tuna.moe/",
-			command:     "/bin/cmd.sh",
-			workingDir:  tmpDir,
-			logDir:      tmpDir,
-			logFile:     tmpFile,
-			interval:    600 * time.Second,
-			env: map[string]string{
-				"TEST_CONTENT": expectedOutput,
-			},
-		}
-
-		cmdScriptContent := `#!/bin/sh
-echo ${TEST_CONTENT}
-sleep 10
-`
-		err = ioutil.WriteFile(cmdScript, []byte(cmdScriptContent), 0755)
-		So(err, ShouldBeNil)
-
-		provider, err := newCmdProvider(c)
-		So(err, ShouldBeNil)
-
-		d := &dockerHook{
-			emptyHook: emptyHook{
-				provider: provider,
-			},
-			image: "alpine",
-			volumes: []string{
-				fmt.Sprintf("%s:%s", cmdScript, "/bin/cmd.sh"),
-			},
-		}
-		provider.AddHook(d)
-		So(provider.Docker(), ShouldNotBeNil)
-
-		err = d.preExec()
-		So(err, ShouldBeNil)
-
-		go func() {
-			err = provider.Run()
-			ctx.So(err, ShouldNotBeNil)
-		}()
-
-		// Wait for docker running
-		time.Sleep(5 * time.Second)
-
-		// assert container running
-		names, err := getDockerByName(d.Name())
-		So(err, ShouldBeNil)
-		So(names, ShouldEqual, d.Name()+"\n")
-
-		err = provider.Terminate()
-		So(err, ShouldBeNil)
-
-		// container should be terminated and removed
-		names, err = getDockerByName(d.Name())
-		So(err, ShouldBeNil)
-		So(names, ShouldEqual, "")
-
-		// check log content
-		loggedContent, err := ioutil.ReadFile(provider.LogFile())
-		So(err, ShouldBeNil)
-		So(string(loggedContent), ShouldEqual, expectedOutput+"\n")
-
-		d.postExec()
-	})
-}