本文整理匯總了Golang中github.com/cloudfoundry/cli/cf/flags.FlagContext.Parse方法的典型用法代碼示例。如果您正苦於以下問題:Golang FlagContext.Parse方法的具體用法?Golang FlagContext.Parse怎麽用?Golang FlagContext.Parse使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/cli/cf/flags.FlagContext
的用法示例。
在下文中一共展示了FlagContext.Parse方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
reqFactory.NewLoginRequirementReturns(loginRequirement)
targetedSpaceRequirement = &passingRequirement{Name: "targeted-space-requirement"}
reqFactory.NewTargetedSpaceRequirementReturns(targetedSpaceRequirement)
applicationRequirement = new(requirementsfakes.FakeApplicationRequirement)
applicationRequirement.ExecuteReturns(nil)
reqFactory.NewApplicationRequirementReturns(applicationRequirement)
})
Describe("Requirements", func() {
BeforeEach(func() {
cmd.SetDependency(deps, false)
})
Context("when not provided exactly 1 argument", func() {
It("fails", func() {
err := flagContext.Parse("too", "many")
Expect(err).NotTo(HaveOccurred())
_, err = cmd.Requirements(reqFactory, flagContext)
Expect(err).To(HaveOccurred())
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())
示例2:
factory = new(requirementsfakes.FakeFactory)
loginRequirement = &passingRequirement{Name: "login-requirement"}
factory.NewLoginRequirementReturns(loginRequirement)
minAPIVersionRequirement = &passingRequirement{Name: "min-api-version-requirement"}
factory.NewMinAPIVersionRequirementReturns(minAPIVersionRequirement)
targetedSpaceRequirement = &passingRequirement{Name: "targeted-space-requirement"}
factory.NewTargetedSpaceRequirementReturns(targetedSpaceRequirement)
})
Describe("Requirements", func() {
Context("when not provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("service-instance", "extra-arg")
})
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 an argument"},
))
})
})
Context("when provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("service-instance")
示例3:
targetedOrgReq.ExecuteReturns(nil)
reqFactory.NewTargetedOrgRequirementReturns(targetedOrgReq)
spaceRequirement = new(requirementsfakes.FakeSpaceRequirement)
spaceRequirement.ExecuteReturns(nil)
reqFactory.NewSpaceRequirementReturns(spaceRequirement)
cmd = space.ShowSpace{}
flagContext = flags.NewFlagContext(cmd.MetaData().Flags)
cmd.SetDependency(deps, false)
})
Describe("Requirements", func() {
Context("when the wrong number of args are provided", func() {
BeforeEach(func() {
err := flagContext.Parse()
Expect(err).NotTo(HaveOccurred())
})
It("fails with no args", func() {
_, err := cmd.Requirements(reqFactory, flagContext)
Expect(err).To(HaveOccurred())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"FAILED"},
[]string{"Incorrect Usage. Requires an argument"},
))
})
})
Context("when provided exactly one arg", func() {
var actualRequirements []requirements.Requirement
示例4:
endpointRequirement = &passingRequirement{Name: "endpoint-requirement"}
factory.NewAPIEndpointRequirementReturns(endpointRequirement)
})
Describe("Requirements", func() {
It("returns an EndpointRequirement", func() {
actualRequirements, err := cmd.Requirements(factory, flagContext)
Expect(err).NotTo(HaveOccurred())
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, err := cmd.Requirements(factory, flagContext)
Expect(err).NotTo(HaveOccurred())
for _, req := range reqs {
err := req.Execute()
if err != nil {
firstErr = err
break
}
}
示例5:
loginRequirement = &passingRequirement{}
factory.NewLoginRequirementReturns(loginRequirement)
userRequirement = new(requirementsfakes.FakeUserRequirement)
userRequirement.ExecuteReturns(nil)
factory.NewUserRequirementReturns(userRequirement)
organizationRequirement = new(requirementsfakes.FakeOrganizationRequirement)
organizationRequirement.ExecuteReturns(nil)
factory.NewOrganizationRequirementReturns(organizationRequirement)
})
Describe("Requirements", func() {
Context("when not provided exactly four args", func() {
BeforeEach(func() {
flagContext.Parse("the-user-name", "the-org-name", "the-space-name")
})
It("fails with usage", func() {
_, err := cmd.Requirements(factory, flagContext)
Expect(err).To(HaveOccurred())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage. Requires USERNAME, ORG, SPACE, ROLE as arguments"},
[]string{"NAME"},
[]string{"USAGE"},
))
})
})
Context("when provided four args", func() {
BeforeEach(func() {
示例6:
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() {
_, err := cmd.Requirements(factory, flagContext)
Expect(err).To(HaveOccurred())
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")
示例7:
fc = flags.New()
fc.NewStringSliceFlag("L", "", "")
fc.NewStringSliceFlag("command", "c", "")
fc.NewIntFlag("app-instance-index", "i", "")
fc.NewBoolFlag("skip-host-validation", "k", "")
fc.NewBoolFlag("skip-remote-execution", "N", "")
fc.NewBoolFlag("request-pseudo-tty", "t", "")
fc.NewBoolFlag("force-pseudo-tty", "tt", "")
fc.NewBoolFlag("disable-pseudo-tty", "T", "")
args = []string{}
parseError = nil
})
JustBeforeEach(func() {
err := fc.Parse(args...)
Expect(err).NotTo(HaveOccurred())
opts, parseError = options.NewSSHOptions(fc)
})
Context("when an app name is provided", func() {
Context("as the only argument", func() {
BeforeEach(func() {
args = append(args, "app-1")
})
It("populates the AppName field", func() {
Expect(parseError).NotTo(HaveOccurred())
Expect(opts.AppName).To(Equal("app-1"))
})
示例8:
factory = new(requirementsfakes.FakeFactory)
loginRequirement = &passingRequirement{Name: "login-requirement"}
factory.NewLoginRequirementReturns(loginRequirement)
targetedOrgRequirement = new(requirementsfakes.FakeTargetedOrgRequirement)
factory.NewTargetedOrgRequirementReturns(targetedOrgRequirement)
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("app-name")
})
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 host and domain as arguments"},
))
})
})
Context("when provided exactly two args", func() {
BeforeEach(func() {
flagContext.Parse("domain-name", "host-name")
示例9:
. "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")
Expect(fc.IsSet("s")).To(BeFalse())
Expect(fc.String("s")).To(Equal(""))
fc.NewStringFlag("s", "s2", "setting new string flag")
fc.Parse("-s", "test2")
Expect(fc.IsSet("s")).To(BeTrue())
Expect(fc.IsSet("s2")).To(BeTrue())
Expect(fc.String("s")).To(Equal("test2"))
Expect(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")
示例10:
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() {
_, err := cmd.Requirements(factory, flagContext)
Expect(err).To(HaveOccurred())
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage. Requires SPACE and DOMAIN as arguments"},
[]string{"NAME"},
[]string{"USAGE"},
))
})
})
Context("when provided exactly two args", func() {
示例11:
BeforeEach(func() {
cmdFlagMap = make(map[string]flags.FlagSet)
cmdFlagMap["name"] = &flags.StringFlag{Name: "name", ShortName: "n", Usage: "test string flag"}
cmdFlagMap["skip"] = &flags.BoolFlag{Name: "skip", Usage: "test bool flag"}
cmdFlagMap["instance"] = &flags.IntFlag{Name: "instance", Usage: "test int flag"}
cmdFlagMap["float"] = &flags.Float64Flag{Name: "float", Usage: "test float64 flag"}
cmdFlagMap["skip2"] = &flags.BoolFlag{Name: "skip2", Usage: "test bool flag"}
cmdFlagMap["slice"] = &flags.StringSliceFlag{Name: "slice", Usage: "test stringSlice flag"}
fCtx = flags.NewFlagContext(cmdFlagMap)
})
It("accepts flags with either single '-' or double '-' ", func() {
err := fCtx.Parse("--name", "blue")
Expect(err).NotTo(HaveOccurred())
err = fCtx.Parse("-name", "")
Expect(err).NotTo(HaveOccurred())
})
It("sets a flag with it's full name", func() {
err := fCtx.Parse("-name", "blue")
Expect(err).NotTo(HaveOccurred())
Expect(fCtx.IsSet("name")).To(BeTrue())
Expect(fCtx.IsSet("n")).To(BeTrue())
Expect(fCtx.String("name")).To(Equal("blue"))
Expect(fCtx.String("n")).To(Equal("blue"))
})
示例12:
Describe("Requirements", func() {
It("fails if the user is not logged in", func() {
cmd.Requirements(requirementsFactory, flagContext)
Expect(requirementsFactory.NewLoginRequirementCallCount()).To(Equal(1))
})
It("fails when the routing API endpoint is not set", func() {
cmd.Requirements(requirementsFactory, flagContext)
Expect(requirementsFactory.NewRoutingAPIRequirementCallCount()).To(Equal(1))
})
It("should fail with usage", func() {
flagContext.Parse("blahblah")
cmd.Requirements(requirementsFactory, flagContext)
Expect(requirementsFactory.NewUsageRequirementCallCount()).To(Equal(1))
})
})
Describe("Execute", func() {
var err error
BeforeEach(func() {
err := flagContext.Parse()
Expect(err).NotTo(HaveOccurred())
})
JustBeforeEach(func() {
示例13:
cmd.SetDependency(deps, false)
flagContext = flags.NewFlagContext(cmd.MetaData().Flags)
factory = new(requirementsfakes.FakeFactory)
loginRequirement = &passingRequirement{Name: "login-requirement"}
factory.NewLoginRequirementReturns(loginRequirement)
maxAPIVersionRequirement = &passingRequirement{Name: "max-api-version-requirement"}
factory.NewMaxAPIVersionRequirementReturns(maxAPIVersionRequirement)
})
Describe("Requirements", func() {
Context("when not provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("service", "extra-arg")
})
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 an argument"},
))
})
})
Context("when provided exactly one arg", func() {
BeforeEach(func() {
flagContext.Parse("service")
示例14:
var _ = Describe("Api", func() {
var (
config coreconfig.Repository
endpointRepo *coreconfigfakes.FakeEndpointRepository
deps commandregistry.Dependency
requirementsFactory *requirementsfakes.FakeFactory
ui *testterm.FakeUI
cmd commands.API
flagContext flags.FlagContext
repoLocator api.RepositoryLocator
runCLIErr error
)
callApi := func(args []string) {
err := flagContext.Parse(args...)
Expect(err).NotTo(HaveOccurred())
runCLIErr = cmd.Execute(flagContext)
}
BeforeEach(func() {
ui = new(testterm.FakeUI)
requirementsFactory = new(requirementsfakes.FakeFactory)
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(),
示例15:
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() {
var err error
flagContext.Parse("space", "space-quota")
reqs, err = cmd.Requirements(requirementsFactory, flagContext)
Expect(err).NotTo(HaveOccurred())
})
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() {