package commands_test import ( "bytes" "strings" "github.com/cloudfoundry/bosh-bootloader/commands" "github.com/cloudfoundry/bosh-bootloader/storage" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Usage", func() { var ( usage commands.Usage stdout *bytes.Buffer ) BeforeEach(func() { stdout = bytes.NewBuffer([]byte{}) usage = commands.NewUsage(stdout) }) Describe("Execute", func() { It("prints out the usage information", func() { err := usage.Execute([]string{}, storage.State{}) Expect(err).NotTo(HaveOccurred()) Expect(stdout.String()).To(Equal(strings.TrimLeft(` Usage: bbl [GLOBAL OPTIONS] COMMAND [OPTIONS]
Describe("Usage", func() { It("returns string describing usage", func() { command := commands.Destroy{} usageText := command.Usage() Expect(usageText).To(Equal(`Tears down BOSH director infrastructure [--no-confirm] Do not ask for confirmation (optional) [--skip-if-missing] Gracefully exit if there is no state file (optional)`)) }) }) }) Describe("Usage", func() { Describe("Usage", func() { It("returns string describing usage", func() { command := commands.Usage{} usageText := command.Usage() Expect(usageText).To(Equal(`Prints helpful message for the given command`)) }) }) }) DescribeTable("command description", func(command commands.Command, expectedDescription string) { usageText := command.Usage() Expect(usageText).To(Equal(expectedDescription)) }, Entry("LBs", commands.LBs{}, "Prints attached load balancer(s)"), Entry("director-address", newStateQuery("director address"), "Prints BOSH director address"), Entry("director-password", newStateQuery("director password"), "Prints BOSH director password"), Entry("director-username", newStateQuery("director username"), "Prints BOSH director username"), Entry("director-ca-cert", newStateQuery("director ca cert"), "Prints BOSH director CA certificate"),