本文整理汇总了Golang中github.com/cloudfoundry/cli/flags.FlagContext.Parse方法的典型用法代码示例。如果您正苦于以下问题:Golang FlagContext.Parse方法的具体用法?Golang FlagContext.Parse怎么用?Golang FlagContext.Parse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/cli/flags.FlagContext
的用法示例。
在下文中一共展示了FlagContext.Parse方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
)
var _ = Describe("Api", func() {
var (
config coreconfig.Repository
endpointRepo *coreconfigfakes.FakeEndpointRepository
deps commandregistry.Dependency
requirementsFactory *testreq.FakeReqFactory
ui *testterm.FakeUI
cmd commands.Api
flagContext flags.FlagContext
repoLocator api.RepositoryLocator
)
callApi := func(args []string) {
err := flagContext.Parse(args...)
Expect(err).NotTo(HaveOccurred())
cmd.Execute(flagContext)
}
BeforeEach(func() {
ui = new(testterm.FakeUI)
requirementsFactory = &testreq.FakeReqFactory{}
config = testconfig.NewRepository()
endpointRepo = new(coreconfigfakes.FakeEndpointRepository)
endpointRepo.GetCCInfoStub = func(endpoint string) (*coreconfig.CCInfo, string, error) {
return &coreconfig.CCInfo{
APIVersion: config.APIVersion(),
AuthorizationEndpoint: config.AuthenticationEndpoint(),
示例2:
factory.NewMinAPIVersionRequirementReturns(minAPIVersionRequirement)
routingAPIRepo.ListRouterGroupsStub = func(cb func(models.RouterGroup) bool) error {
for _, r := range routerGroups {
if !cb(r) {
break
}
}
return nil
}
})
Describe("Requirements", func() {
Context("when not provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("arg-1", "extra-arg")
})
It("fails with usage", func() {
Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic())
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Incorrect Usage. Requires DOMAIN as an argument"},
[]string{"NAME"},
[]string{"USAGE"},
))
})
})
Context("when provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("domain-name")
示例3:
loginRequirement = &passingRequirement{Name: "login-requirement"}
reqFactory.NewLoginRequirementReturns(loginRequirement)
targetedSpaceRequirement = &passingRequirement{Name: "targeted-space-requirement"}
reqFactory.NewTargetedSpaceRequirementReturns(targetedSpaceRequirement)
serviceInstanceRequirement = &requirementsfakes.FakeServiceInstanceRequirement{}
reqFactory.NewServiceInstanceRequirementReturns(serviceInstanceRequirement)
})
Describe("Requirements", func() {
BeforeEach(func() {
cmd.SetDependency(deps, pluginCall)
})
Context("when not provided exactly 1 argument", func() {
It("fails", func() {
err := flagContext.Parse("too", "many")
Expect(err).NotTo(HaveOccurred())
Expect(func() { cmd.Requirements(reqFactory, flagContext) }).To(Panic())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage", "Requires an argument"},
))
})
})
Context("when provided exactly one arg", func() {
var actualRequirements []requirements.Requirement
BeforeEach(func() {
err := flagContext.Parse("service-name")
Expect(err).NotTo(HaveOccurred())
actualRequirements = cmd.Requirements(reqFactory, flagContext)
示例4:
flagContext = flags.NewFlagContext(cmd.MetaData().Flags)
factory = new(requirementsfakes.FakeFactory)
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")
示例5:
deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo)
flagContext = flags.NewFlagContext(cmd.MetaData().Flags)
cmd = spacequota.SetSpaceQuota{}
cmd.SetDependency(deps, false)
configRepo.UsernameReturns("my-user")
})
Describe("Requirements", func() {
Context("when provided a quota and space", func() {
var reqs []requirements.Requirement
BeforeEach(func() {
flagContext.Parse("space", "space-quota")
reqs = cmd.Requirements(requirementsFactory, flagContext)
})
It("returns a LoginRequirement", func() {
Expect(reqs).To(ContainElement(loginReq))
})
It("requires the user to target an org", func() {
Expect(reqs).To(ContainElement(orgReq))
})
})
Context("when not provided a quota and space", func() {
BeforeEach(func() {
flagContext.Parse("")
示例6:
Expect(usage).To(ContainElement(" --random-port Create a random port for the TCP route"))
})
It("shows the usage", func() {
Expect(usage).To(ContainElement(" Map an HTTP route:"))
Expect(usage).To(ContainElement(" cf map-route APP_NAME DOMAIN [--hostname HOSTNAME] [--path PATH]"))
Expect(usage).To(ContainElement(" Map a TCP route:"))
Expect(usage).To(ContainElement(" cf map-route APP_NAME DOMAIN (--port PORT | --random-port)"))
})
})
Describe("Requirements", func() {
Context("when not provided exactly two args", func() {
BeforeEach(func() {
flagContext.Parse("app-name")
})
It("fails with usage", func() {
Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage. Requires APP_NAME and DOMAIN as arguments"},
[]string{"NAME"},
[]string{"USAGE"},
))
})
})
Context("when provided exactly two args", func() {
BeforeEach(func() {
flagContext.Parse("app-name", "domain-name")
示例7:
},
}
routingApiRepo.ListRouterGroupsStub = func(cb func(models.RouterGroup) bool) error {
for _, routerGroup := range routerGroups {
if !cb(routerGroup) {
break
}
}
return nil
}
})
Describe("Requirements", func() {
Context("when provided one arg", func() {
BeforeEach(func() {
flagContext.Parse("arg-1")
})
It("fails with usage", func() {
Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic())
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Incorrect Usage. No argument required"},
[]string{"NAME"},
[]string{"USAGE"},
))
})
})
Context("when provided no arguments", func() {
BeforeEach(func() {
flagContext.Parse()
示例8:
domainRequirement = new(requirementsfakes.FakeDomainRequirement)
domainRequirement.GetDomainReturns(models.DomainFields{
GUID: "domain-guid",
Name: "domain-name",
})
factory.NewDomainRequirementReturns(domainRequirement)
minAPIVersionRequirement = &passingRequirement{}
factory.NewMinAPIVersionRequirementReturns(minAPIVersionRequirement)
})
Describe("Requirements", func() {
Context("when not provided exactly two args", func() {
BeforeEach(func() {
err := flagContext.Parse("space-name")
Expect(err).NotTo(HaveOccurred())
})
It("fails with usage", func() {
Expect(func() {
cmd.Requirements(factory, flagContext)
}).To(Panic())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage. Requires SPACE and DOMAIN as arguments"},
[]string{"NAME"},
[]string{"USAGE"},
))
})
})
示例9:
cmd = "a.CreateQuota{}
cmd.SetDependency(deps, false)
flagContext = flags.NewFlagContext(cmd.MetaData().Flags)
loginRequirement = &passingRequirement{Name: "login-requirement"}
requirementsFactory.NewLoginRequirementReturns(loginRequirement)
minAPIVersionRequirement = &passingRequirement{Name: "min-api-version-requirement"}
requirementsFactory.NewMinAPIVersionRequirementReturns(minAPIVersionRequirement)
})
Context("when not provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("quota", "extra-arg")
})
It("fails with usage", func() {
Expect(func() { cmd.Requirements(requirementsFactory, flagContext) }).To(Panic())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"FAILED"},
[]string{"Incorrect Usage. Requires an argument"},
))
})
})
Context("when provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("quota")
})
示例10:
targetedSpaceRequirement = &passingRequirement{}
factory.NewTargetedSpaceRequirementReturns(targetedSpaceRequirement)
deaApplicationRequirement = new(requirementsfakes.FakeDEAApplicationRequirement)
factory.NewDEAApplicationRequirementReturns(deaApplicationRequirement)
app := models.Application{}
app.InstanceCount = 1
app.GUID = "app-guid"
app.Name = "app-name"
deaApplicationRequirement.GetApplicationReturns(app)
})
Describe("Requirements", func() {
Context("when not provided one or two args", func() {
BeforeEach(func() {
flagContext.Parse("app-name", "the-path", "extra-arg")
})
It("fails with usage", func() {
Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic())
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"FAILED"},
[]string{"Incorrect Usage. Requires an argument"},
))
})
})
Context("when provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("app-name")
})
示例11:
. "github.com/onsi/gomega"
)
var _ = Describe("Flag Constructors", func() {
var (
fc flags.FlagContext
)
BeforeEach(func() {
fc = flags.New()
})
Describe("NewStringFlag()", func() {
It("init the flag context with a new string flagset", func() {
fc.Parse("-s", "test")
Ω(fc.IsSet("s")).To(BeFalse())
Ω(fc.String("s")).To(Equal(""))
fc.NewStringFlag("s", "s2", "setting new string flag")
fc.Parse("-s", "test2")
Ω(fc.IsSet("s")).To(BeTrue())
Ω(fc.IsSet("s2")).To(BeTrue())
Ω(fc.String("s")).To(Equal("test2"))
Ω(fc.String("s2")).To(Equal("test2"))
})
})
Describe("NewStringFlagWithDefault()", func() {
It("init the flag context with a new string flagset with default value", func() {
fc.Parse("-s", "test")
示例12:
Expect(factory.NewLoginRequirementCallCount()).To(Equal(1))
Expect(actualRequirements).To(ContainElement(loginRequirement))
})
It("returns a TargetedSpaceRequirement", func() {
actualRequirements, err := cmd.Requirements(factory, flagContext)
Expect(err).NotTo(HaveOccurred())
Expect(factory.NewTargetedSpaceRequirementCallCount()).To(Equal(1))
Expect(actualRequirements).To(ContainElement(targetedSpaceRequirement))
})
Context("when not provided exactly zero args", func() {
BeforeEach(func() {
flagContext.Parse("extra-arg")
})
It("fails with usage", func() {
Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic())
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Incorrect Usage. No argument required"},
[]string{"NAME"},
[]string{"USAGE"},
))
})
})
})
Describe("Execute", func() {
BeforeEach(func() {
示例13:
minAPIVersionRequirement = new(requirementsfakes.FakeRequirement)
loginRequirement = new(requirementsfakes.FakeRequirement)
routingAPIEndpoingRequirement = new(requirementsfakes.FakeRequirement)
requirementsFactory = new(requirementsfakes.FakeFactory)
requirementsFactory.NewMinAPIVersionRequirementReturns(minAPIVersionRequirement)
requirementsFactory.NewLoginRequirementReturns(loginRequirement)
requirementsFactory.NewRoutingAPIRequirementReturns(routingAPIEndpoingRequirement)
cmd = new(routergroups.RouterGroups)
cmd = cmd.SetDependency(deps, false).(*routergroups.RouterGroups)
flagContext = flags.NewFlagContext(cmd.MetaData().Flags)
})
runCommand := func(args ...string) error {
err := flagContext.Parse(args...)
if err != nil {
return err
}
cmd.Execute(flagContext)
return nil
}
Describe("login requirements", func() {
It("fails if the user is not logged in", func() {
cmd.Requirements(requirementsFactory, flagContext)
Expect(requirementsFactory.NewLoginRequirementCallCount()).To(Equal(1))
})
示例14:
factory = new(requirementsfakes.FakeFactory)
endpointRequirement = &passingRequirement{Name: "endpoint-requirement"}
factory.NewAPIEndpointRequirementReturns(endpointRequirement)
})
Describe("Requirements", func() {
It("returns an EndpointRequirement", func() {
actualRequirements := cmd.Requirements(factory, flagContext)
Expect(factory.NewAPIEndpointRequirementCallCount()).To(Equal(1))
Expect(actualRequirements).To(ContainElement(endpointRequirement))
})
Context("when not provided exactly zero args", func() {
BeforeEach(func() {
flagContext.Parse("domain-name")
})
It("fails with usage", func() {
var firstErr error
reqs := cmd.Requirements(factory, flagContext)
for _, req := range reqs {
err := req.Execute()
if err != nil {
firstErr = err
break
}
}
示例15:
GUID: "fake-domain-guid",
Name: "fake-domain-name",
}
domainRequirement.GetDomainReturns(fakeDomain)
serviceInstanceRequirement = new(requirementsfakes.FakeServiceInstanceRequirement)
factory.NewServiceInstanceRequirementReturns(serviceInstanceRequirement)
minAPIVersionRequirement = &passingRequirement{Name: "min-api-version-requirement"}
factory.NewMinAPIVersionRequirementReturns(minAPIVersionRequirement)
})
Describe("Requirements", func() {
Context("when not provided exactly two args", func() {
BeforeEach(func() {
flagContext.Parse("domain-name")
})
It("fails with usage", func() {
Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic())
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"FAILED"},
[]string{"Incorrect Usage. Requires DOMAIN and SERVICE_INSTANCE as arguments"},
))
})
})
Context("when provided exactly two args", func() {
BeforeEach(func() {
flagContext.Parse("domain-name", "service-instance")
})