Ui: ui, Config: configRepo, RepoLocator: repoLocator, } cmd = &servicebroker.CreateServiceBroker{} cmd.SetDependency(deps, false) flagContext = flags.NewFlagContext(cmd.MetaData().Flags) factory = &fakerequirements.FakeFactory{} loginRequirement = &passingRequirement{Name: "login-requirement"} factory.NewLoginRequirementReturns(loginRequirement) targetedSpaceRequirement = &passingRequirement{Name: "targeted-space-requirement"} factory.NewTargetedSpaceRequirementReturns(targetedSpaceRequirement) }) Describe("Requirements", func() { Context("when not provided exactly four args", func() { BeforeEach(func() { flagContext.Parse("service-broker") }) It("fails with usage", func() { Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic()) Expect(ui.Outputs).To(ContainSubstrings( []string{"FAILED"}, []string{"Incorrect Usage. Requires SERVICE_BROKER, USERNAME, PASSWORD, URL as arguments"}, )) })