github.com/Datadog/cnab-go@v0.3.3-beta1.0.20191007143216-bba4b7e723d0/driver/command/command_test.go (about) 1 package command 2 3 import ( 4 "fmt" 5 "io/ioutil" 6 "os" 7 "strings" 8 "testing" 9 10 "github.com/deislabs/cnab-go/driver" 11 ) 12 13 var _ driver.Driver = &Driver{} 14 15 func TestCheckDriverExists(t *testing.T) { 16 name := "missing-driver" 17 cmddriver := &Driver{Name: name} 18 if cmddriver.CheckDriverExists() { 19 t.Errorf("Expected driver %s not to exist", name) 20 } 21 22 name = "existing-driver" 23 cmddriver = &Driver{Name: name} 24 dirname, err := ioutil.TempDir("", "cnab") 25 if err != nil { 26 t.Fatal(err) 27 } 28 29 defer os.RemoveAll(dirname) 30 filename := fmt.Sprintf("%s/cnab-%s", dirname, name) 31 newfile, err := os.Create(filename) 32 if err != nil { 33 t.Fatal(err) 34 } 35 36 newfile.Chmod(0755) 37 path := os.Getenv("PATH") 38 pathlist := []string{dirname, path} 39 newpath := strings.Join(pathlist, string(os.PathListSeparator)) 40 defer os.Setenv("PATH", path) 41 os.Setenv("PATH", newpath) 42 if !cmddriver.CheckDriverExists() { 43 t.Fatalf("Expected driver %s to exist", name) 44 } 45 46 }