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  }