本文整理匯總了Golang中github.com/cloudfoundry/cli/cf/configuration.ReadWriter.ApiEndpoint方法的典型用法代碼示例。如果您正苦於以下問題:Golang ReadWriter.ApiEndpoint方法的具體用法?Golang ReadWriter.ApiEndpoint怎麽用?Golang ReadWriter.ApiEndpoint使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/cli/cf/configuration.ReadWriter
的用法示例。
在下文中一共展示了ReadWriter.ApiEndpoint方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Setting api endpoint to", "example.com"},
[]string{"OK"},
))
})
})
Context("when the ssl certificate is invalid", func() {
BeforeEach(func() {
endpointRepo.UpdateEndpointError = errors.NewInvalidSSLCert("https://example.com", "it don't work")
})
It("fails and gives the user a helpful message about skipping", func() {
ui := callApi([]string{"https://example.com"}, config, endpointRepo)
Expect(config.ApiEndpoint()).To(Equal(""))
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Invalid SSL Cert", "https://example.com"},
[]string{"TIP"},
))
})
})
Describe("unencrypted http endpoints", func() {
It("warns the user", func() {
ui = callApi([]string{"http://example.com"}, config, endpointRepo)
Expect(ui.Outputs).To(ContainSubstrings([]string{"Warning"}))
})
})
})
})
示例2:
ccGateway.SetTrustedCerts(apiServer.TLS.Certificates)
})
AfterEach(func() {
apiServer.Close()
authServer.Close()
})
It("returns the last response if the job completes before the timeout", func() {
go func() {
time.Sleep(25 * time.Millisecond)
jobStatus = "finished"
}()
request, _ := ccGateway.NewRequest("GET", config.ApiEndpoint()+"/v2/foo", config.AccessToken(), nil)
_, apiErr := ccGateway.PerformPollingRequestForJSONResponse(request, new(struct{}), 500*time.Millisecond)
Expect(apiErr).NotTo(HaveOccurred())
})
It("returns an error with the right message when the job fails", func() {
go func() {
time.Sleep(25 * time.Millisecond)
jobStatus = "failed"
}()
request, _ := ccGateway.NewRequest("GET", config.ApiEndpoint()+"/v2/foo", config.AccessToken(), nil)
_, apiErr := ccGateway.PerformPollingRequestForJSONResponse(request, new(struct{}), 500*time.Millisecond)
Expect(apiErr.Error()).To(ContainSubstring("he's dead, Jim"))
})
示例3:
}))
Expect(ui.ShowConfigurationCalled).To(BeTrue())
})
It("doesn't ask the user for the API url if they have it in their config", func() {
orgRepo.FindByNameReturns(org, nil)
Config.SetApiEndpoint("http://api.example.com")
Flags = []string{"-o", "my-new-org", "-s", "my-space"}
ui.Inputs = []string{"[email protected]", "password"}
l := NewLogin(ui, Config, authRepo, endpointRepo, orgRepo, spaceRepo)
testcmd.RunCommand(l, Flags, nil)
Expect(Config.ApiEndpoint()).To(Equal("http://api.example.com"))
Expect(Config.OrganizationFields().Guid).To(Equal("my-new-org-guid"))
Expect(Config.SpaceFields().Guid).To(Equal("my-space-guid"))
Expect(Config.AccessToken()).To(Equal("my_access_token"))
Expect(Config.RefreshToken()).To(Equal("my_refresh_token"))
Expect(endpointRepo.UpdateEndpointReceived).To(Equal("http://api.example.com"))
Expect(ui.ShowConfigurationCalled).To(BeTrue())
})
})
Describe("when there are too many orgs to show", func() {
BeforeEach(func() {
organizations := []models.Organization{}
for i := 0; i < 60; i++ {
id := strconv.Itoa(i)
示例4:
space.Name = "my-space"
space.Guid = "my-space-guid"
config.SetOrganizationFields(org)
config.SetSpaceFields(space)
testServerFn = validApiInfoEndpoint
})
It("stores the data from the /info api in the config", func() {
repo.UpdateEndpoint(testServer.URL)
Expect(config.AccessToken()).To(Equal(""))
Expect(config.AuthenticationEndpoint()).To(Equal("https://login.example.com"))
Expect(config.LoggregatorEndpoint()).To(Equal("wss://loggregator.foo.example.org:4443"))
Expect(config.ApiEndpoint()).To(Equal(testServer.URL))
Expect(config.ApiVersion()).To(Equal("42.0.0"))
Expect(config.HasOrganization()).To(BeFalse())
Expect(config.HasSpace()).To(BeFalse())
})
Context("when the api endpoint does not change", func() {
BeforeEach(func() {
config.SetApiEndpoint(testServer.URL)
config.SetAccessToken("some access token")
config.SetRefreshToken("some refresh token")
})
It("does not clear the session if the api endpoint does not change", func() {
repo.UpdateEndpoint(testServer.URL)
示例5:
It("gets the UAA endpoint and saves it to the config file", func() {
requirementsFactory.ApiEndpointSuccess = true
testcmd.RunCommand(cmd, []string{"[email protected]", "password"}, requirementsFactory)
Expect(repo.GetLoginPromptsWasCalled).To(BeTrue())
})
Describe("when authentication fails", func() {
BeforeEach(func() {
repo.AuthError = true
testcmd.RunCommand(cmd, []string{"username", "password"}, requirementsFactory)
})
It("does not prompt the user when provided username and password", func() {
Expect(ui.Outputs).To(ContainSubstrings(
[]string{config.ApiEndpoint()},
[]string{"Authenticating..."},
[]string{"FAILED"},
[]string{"Error authenticating"},
))
})
It("clears the user's session", func() {
Expect(config.AccessToken()).To(BeEmpty())
Expect(config.RefreshToken()).To(BeEmpty())
Expect(config.SpaceFields()).To(Equal(models.SpaceFields{}))
Expect(config.OrganizationFields()).To(Equal(models.OrganizationFields{}))
})
})
})
})