github.com/dcarley/cf-cli@v6.24.1-0.20170220111324-4225ff346898+incompatible/integration/helpers/command.go (about) 1 package helpers 2 3 import ( 4 "io" 5 "os" 6 "os/exec" 7 8 . "github.com/onsi/ginkgo" 9 . "github.com/onsi/gomega" 10 . "github.com/onsi/gomega/gexec" 11 ) 12 13 func CF(args ...string) *Session { 14 session, err := Start( 15 exec.Command("cf", args...), 16 NewPrefixedWriter("OUT: ", GinkgoWriter), 17 NewPrefixedWriter("ERR: ", GinkgoWriter)) 18 Expect(err).NotTo(HaveOccurred()) 19 return session 20 } 21 22 func CFWithStdin(stdin io.Reader, args ...string) *Session { 23 command := exec.Command("cf", args...) 24 command.Stdin = stdin 25 session, err := Start( 26 command, 27 NewPrefixedWriter("OUT: ", GinkgoWriter), 28 NewPrefixedWriter("ERR: ", GinkgoWriter)) 29 Expect(err).NotTo(HaveOccurred()) 30 return session 31 } 32 33 func CFWithEnv(envVars map[string]string, args ...string) *Session { 34 env := os.Environ() 35 for key, val := range envVars { 36 env = AddOrReplaceEnvironment(env, key, val) 37 } 38 39 command := exec.Command("cf", args...) 40 command.Env = env 41 session, err := Start( 42 command, 43 NewPrefixedWriter("OUT: ", GinkgoWriter), 44 NewPrefixedWriter("ERR: ", GinkgoWriter)) 45 Expect(err).NotTo(HaveOccurred()) 46 return session 47 }