本文整理汇总了Golang中github.com/cloudfoundry/cli/testhelpers/terminal.FakeUI.Outputs方法的典型用法代码示例。如果您正苦于以下问题:Golang FakeUI.Outputs方法的具体用法?Golang FakeUI.Outputs怎么用?Golang FakeUI.Outputs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/cli/testhelpers/terminal.FakeUI
的用法示例。
在下文中一共展示了FakeUI.Outputs方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
deps.UI = ui
deps.Config = configRepo
deps.RepoLocator = deps.RepoLocator.SetApplicationRepository(appRepo)
commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("enable-ssh").SetDependency(deps, pluginCall))
}
runCommand := func(args ...string) bool {
return testcmd.RunCLICommand("enable-ssh", args, requirementsFactory, updateCommandDependency, false, ui)
}
Describe("requirements", func() {
It("fails with usage when called without enough arguments", func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
runCommand()
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage", "Requires", "argument"},
))
})
It("fails requirements when not logged in", func() {
Expect(runCommand("my-app", "none")).To(BeFalse())
})
It("fails if a space is not targeted", func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Failing{Message: "not targeting space"})
Expect(runCommand("my-app", "none")).To(BeFalse())
})
})
示例2:
ServiceInstanceURL: "fake-service-instance-url",
},
Credentials: map[string]interface{}{
"username": "fake-username",
"password": "fake-password",
"host": "fake-host",
"port": "3306",
"database": "fake-db-name",
"uri": "mysql://fake-user:[email protected]:3306/fake-db-name",
},
}
})
It("deletes service key successfully when '-f' option is provided", func() {
Expect(callDeleteServiceKey([]string{"fake-service-instance", "fake-service-key", "-f"})).To(BeTrue())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Deleting key", "fake-service-key", "for service instance", "fake-service-instance", "as", "my-user"},
[]string{"OK"}))
})
It("deletes service key successfully when '-f' option is not provided and confirmed 'yes'", func() {
ui.Inputs = append(ui.Inputs, "yes")
Expect(callDeleteServiceKey([]string{"fake-service-instance", "fake-service-key"})).To(BeTrue())
Expect(ui.Prompts).To(ContainSubstrings([]string{"Really delete the service key", "fake-service-key"}))
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Deleting key", "fake-service-key", "for service instance", "fake-service-instance", "as", "my-user"},
[]string{"OK"}))
})
It("skips to delete service key when '-f' option is not provided and confirmed 'no'", func() {
示例3:
Apps: []models.ApplicationFields{app1, app2},
Port: 9090,
}
cb(route)
cb(route2)
cb(route3)
return nil
}
})
It("lists routes", func() {
runCommand()
Expect(ui.Outputs()).To(BeInDisplayOrder(
[]string{"Getting routes for org my-org / space my-space as my-user ..."},
[]string{"space", "host", "domain", "port", "path", "type", "apps", "service"},
))
Expect(terminal.Decolorize(ui.Outputs()[3])).To(MatchRegexp(`^my-space\s+hostname-1\s+example.com\s+dora\s+test-service\s*$`))
Expect(terminal.Decolorize(ui.Outputs()[4])).To(MatchRegexp(`^my-space\s+hostname-2\s+cookieclicker\.co\s+/foo\s+dora,bora\s*$`))
Expect(terminal.Decolorize(ui.Outputs()[5])).To(MatchRegexp(`^my-space\s+cookieclicker\.co\s+9090\s+tcp\s+dora,bora\s*$`))
})
})
Context("when there are routes in different spaces", func() {
BeforeEach(func() {
routeRepo.ListAllRoutesStub = func(cb func(models.Route) bool) error {
space1 := models.SpaceFields{Name: "space-1"}
示例4:
deps.UI = ui
deps.Config = configRepo
deps.RepoLocator = deps.RepoLocator.SetApplicationRepository(appRepo)
commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("set-health-check").SetDependency(deps, pluginCall))
}
runCommand := func(args ...string) bool {
return testcmd.RunCLICommand("set-health-check", args, requirementsFactory, updateCommandDependency, false, ui)
}
Describe("requirements", func() {
It("fails with usage when called without enough arguments", func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
runCommand("FAKE_APP")
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage", "Requires", "argument"},
))
})
It("fails with usage when health_check_type is not provided with 'none' or 'port'", func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
runCommand("FAKE_APP", "bad_type")
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage", "HEALTH_CHECK_TYPE", "port", "none"},
))
})
It("fails requirements when not logged in", func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"})
示例5: failedUpdate
func failedUpdate(ui *testterm.FakeUI, buildpackName string) {
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Updating buildpack", buildpackName},
[]string{"FAILED"},
))
}
示例6:
loginRequirement = &passingRequirement{}
factory.NewLoginRequirementReturns(loginRequirement)
minAPIVersionRequirement = &passingRequirement{}
factory.NewMinAPIVersionRequirementReturns(minAPIVersionRequirement)
})
Describe("Requirements", func() {
Context("when not provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("service-instance", "extra-arg")
})
It("fails with usage", func() {
Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage. Requires an argument"},
[]string{"NAME"},
[]string{"USAGE"},
))
})
})
Context("when provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("service-instance")
})
It("returns a LoginRequirement", func() {
actualRequirements := cmd.Requirements(factory, flagContext)
Expect(factory.NewLoginRequirementCallCount()).To(Equal(1))
示例7:
It("has an alias of `csb`", func() {
cmd := &servicebroker.CreateServiceBroker{}
Expect(cmd.MetaData().ShortName).To(Equal("csb"))
})
Describe("Requirements", func() {
Context("when not provided exactly four args", func() {
BeforeEach(func() {
flagContext.Parse("service-broker")
})
It("fails with usage", func() {
_, err := cmd.Requirements(factory, flagContext)
Expect(err).To(HaveOccurred())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"FAILED"},
[]string{"Incorrect Usage. Requires SERVICE_BROKER, USERNAME, PASSWORD, URL as arguments"},
))
})
})
Context("when provided exactly four args", func() {
BeforeEach(func() {
flagContext.Parse("service-broker", "username", "password", "url")
})
It("returns a LoginRequirement", func() {
actualRequirements, err := cmd.Requirements(factory, flagContext)
Expect(err).NotTo(HaveOccurred())
Expect(factory.NewLoginRequirementCallCount()).To(Equal(1))
示例8:
Expect(callCreateService([]string{"cleardb", "spark", "my-cleardb-service"})).To(BeFalse())
})
It("fails when a space is not targeted", func() {
requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Failing{Message: "not targeted"})
Expect(callCreateService([]string{"cleardb", "spark", "my-cleardb-service"})).To(BeFalse())
})
})
It("successfully creates a service", func() {
callCreateService([]string{"cleardb", "spark", "my-cleardb-service"})
spaceGUID, serviceName := serviceBuilder.GetServicesByNameForSpaceWithPlansArgsForCall(0)
Expect(spaceGUID).To(Equal(config.SpaceFields().GUID))
Expect(serviceName).To(Equal("cleardb"))
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Creating service instance", "my-cleardb-service", "my-org", "my-space", "my-user"},
[]string{"OK"},
))
name, planGUID, _, _ := serviceRepo.CreateServiceInstanceArgsForCall(0)
Expect(name).To(Equal("my-cleardb-service"))
Expect(planGUID).To(Equal("cleardb-spark-guid"))
})
Context("when passing in tags", func() {
It("sucessfully creates a service and passes the tags as json", func() {
callCreateService([]string{"cleardb", "spark", "my-cleardb-service", "-t", "tag1, tag2,tag3, tag4"})
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Creating service instance", "my-cleardb-service", "my-org", "my-space", "my-user"},
[]string{"OK"},
示例9:
config.SetPluginRepo(models.PluginRepo{
Name: "repo2",
URL: "",
})
})
Context("If repo name is provided by '-r'", func() {
It("list plugins from just the named repo", func() {
err := callRepoPlugins("-r", "repo2")
Expect(err).NotTo(HaveOccurred())
Expect(fakePluginRepo.GetPluginsArgsForCall(0)[0].Name).To(Equal("repo2"))
Expect(len(fakePluginRepo.GetPluginsArgsForCall(0))).To(Equal(1))
Expect(ui.Outputs()).To(ContainSubstrings([]string{"Getting plugins from repository 'repo2'"}))
})
})
Context("If no repo name is provided", func() {
It("list plugins from just the named repo", func() {
err := callRepoPlugins()
Expect(err).NotTo(HaveOccurred())
Expect(fakePluginRepo.GetPluginsArgsForCall(0)[0].Name).To(Equal("repo1"))
Expect(len(fakePluginRepo.GetPluginsArgsForCall(0))).To(Equal(2))
Expect(fakePluginRepo.GetPluginsArgsForCall(0)[1].Name).To(Equal("repo2"))
Expect(ui.Outputs()).To(ContainSubstrings([]string{"Getting plugins from all repositories"}))
})
})
示例10:
callRemovePluginRepo("repo1")
Expect(len(config.PluginRepos())).To(Equal(1))
Expect(config.PluginRepos()[0].Name).To(Equal("repo2"))
Expect(config.PluginRepos()[0].URL).To(Equal("http://server2.org:8080"))
})
})
Context("When named repo doesn't exist", func() {
BeforeEach(func() {
config.SetPluginRepo(models.PluginRepo{
Name: "repo1",
URL: "http://someserver1.com:1234",
})
config.SetPluginRepo(models.PluginRepo{
Name: "repo2",
URL: "http://server2.org:8080",
})
})
It("doesn't change the config the config", func() {
callRemovePluginRepo("fake-repo")
Expect(len(config.PluginRepos())).To(Equal(2))
Expect(config.PluginRepos()[0].Name).To(Equal("repo1"))
Expect(config.PluginRepos()[0].URL).To(Equal("http://someserver1.com:1234"))
Expect(ui.Outputs()).To(ContainSubstrings([]string{"fake-repo", "does not exist as a repo"}))
})
})
})
示例11:
applicationReq := new(requirementsfakes.FakeApplicationRequirement)
applicationReq.GetApplicationReturns(app)
requirementsFactory.NewApplicationRequirementReturns(applicationReq)
updateCommandDependency(logRepo)
cmd := commandregistry.Commands.FindCommand("start").(*Start)
cmd.StagingTimeout = 0
cmd.PingerThrottle = 1
cmd.StartupTimeout = 1
commandregistry.Register(cmd)
})
It("can still respond to staging failures", func() {
testcmd.RunCLICommandWithoutDependency("start", []string{"my-app"}, requirementsFactory, ui)
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"my-app"},
[]string{"FAILED"},
[]string{"BLAH, FAILED"},
))
})
})
Context("when the timeout happens exactly when the connection is established", func() {
var startWait *sync.WaitGroup
BeforeEach(func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{})
configRepo = testconfig.NewRepositoryWithDefaults()
logRepo.TailLogsForStub = func(appGUID string, onConnect func(), logChan chan<- logs.Loggable, errChan chan<- error) {
示例12:
curlRepo = new(apifakes.OldFakeCurlRepository)
trace.LoggingToStdout = false
})
runCurlWithInputs := func(args []string) bool {
return testcmd.RunCLICommand("curl", args, requirementsFactory, updateCommandDependency, false, ui)
}
runCurlAsPluginWithInputs := func(args []string) bool {
return testcmd.RunCLICommand("curl", args, requirementsFactory, updateCommandDependency, true, ui)
}
It("fails with usage when not given enough input", func() {
runCurlWithInputs([]string{})
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage", "An argument is missing or not correctly enclosed"},
))
})
Context("requirements", func() {
Context("when no api is set", func() {
BeforeEach(func() {
requirementsFactory.NewAPIEndpointRequirementReturns(requirements.Failing{Message: "no api set"})
})
It("fails", func() {
Expect(runCurlWithInputs([]string{"/foo"})).To(BeFalse())
})
})
示例13:
BeforeEach(func() {
ui = &testterm.FakeUI{}
deps := commandregistry.Dependency{
UI: ui,
}
cmd = &commands.Version{}
cmd.SetDependency(deps, false)
})
Describe("Execute", func() {
var flagContext flags.FlagContext
BeforeEach(func() {
cf.Version = "5.0.0"
cf.Name = "my-special-cf"
cf.BuiltOnDate = "2016-02-29"
})
It("prints the version", func() {
cmd.Execute(flagContext)
Expect(ui.Outputs()).To(Equal([]string{
"my-special-cf version 5.0.0-2016-02-29",
}))
})
})
})
示例14:
runCommand := func(args ...string) bool {
return testcmd.RunCLICommand("space-ssh-allowed", args, requirementsFactory, updateCommandDependency, false, ui)
}
BeforeEach(func() {
ui = &testterm.FakeUI{}
requirementsFactory = new(requirementsfakes.FakeFactory)
})
Describe("requirements", func() {
It("fails with usage when called without enough arguments", func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
runCommand()
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage", "Requires", "argument"},
))
})
It("fails requirements when not logged in", func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"})
Expect(runCommand("my-space")).To(BeFalse())
})
It("does not pass requirements if org is not targeted", func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
targetedOrgReq := new(requirementsfakes.FakeTargetedOrgRequirement)
targetedOrgReq.ExecuteReturns(errors.New("no org targeted"))
requirementsFactory.NewTargetedOrgRequirementReturns(targetedOrgReq)
示例15:
{
Name: "quota-unlimited-routes",
MemoryLimit: 434,
InstanceMemoryLimit: 1,
RoutesLimit: -1,
ServicesLimit: 2,
NonBasicServicesAllowed: false,
AppInstanceLimit: 10,
ReservedRoutePorts: "4",
},
}, nil)
})
It("lists quotas", func() {
Expect(Expect(runCommand()).To(HavePassedRequirements())).To(HavePassedRequirements())
Expect(terminal.Decolorize(ui.Outputs()[0])).To(Equal("Getting quotas as my-user..."))
Expect(terminal.Decolorize(ui.Outputs()[1])).To(Equal("OK"))
Expect(terminal.Decolorize(ui.Outputs()[3])).To(MatchRegexp("name\\s*total memory\\s*instance memory\\s*routes\\s*service instances\\s*paid plans\\s*app instances\\s*route ports\\s*"))
Expect(terminal.Decolorize(ui.Outputs()[4])).To(MatchRegexp("quota-name\\s*1G\\s*512M\\s*111\\s*222\\s*allowed\\s*unlimited\\s*4"))
Expect(terminal.Decolorize(ui.Outputs()[5])).To(MatchRegexp("quota-non-basic-not-allowed\\s*434M\\s*unlimited\\s*1\\s*2\\s*disallowed\\s*10\\s*4"))
Expect(terminal.Decolorize(ui.Outputs()[6])).To(MatchRegexp("quota-unlimited-routes\\s*434M\\s*1M\\s*unlimited\\s*2\\s*disallowed\\s*10\\s*4"))
})
It("displays unlimited services properly", func() {
quotaRepo.FindAllReturns([]models.QuotaFields{
{
Name: "quota-with-no-limit-to-services",
MemoryLimit: 434,
InstanceMemoryLimit: 1,
RoutesLimit: 2,
ServicesLimit: -1,