本文整理匯總了Golang中github.com/nttlabs/cli/cf/configuration/core_config.ReadWriter.RefreshToken方法的典型用法代碼示例。如果您正苦於以下問題:Golang ReadWriter.RefreshToken方法的具體用法?Golang ReadWriter.RefreshToken怎麽用?Golang ReadWriter.RefreshToken使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/nttlabs/cli/cf/configuration/core_config.ReadWriter
的用法示例。
在下文中一共展示了ReadWriter.RefreshToken方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
It("refreshes the token when UAA requests fail", func() {
apiServer := httptest.NewTLSServer(refreshTokenApiEndPoint(
`{ "error": "invalid_token", "error_description": "Auth token is invalid" }`,
testnet.TestResponse{Status: http.StatusOK},
))
defer apiServer.Close()
ccGateway.SetTrustedCerts(apiServer.TLS.Certificates)
config, auth := createAuthenticationRepository(apiServer, authServer)
uaaGateway.SetTokenRefresher(auth)
request, apiErr := uaaGateway.NewRequest("POST", config.ApiEndpoint()+"/v2/foo", config.AccessToken(), strings.NewReader("expected body"))
_, apiErr = uaaGateway.PerformRequest(request)
Expect(apiErr).NotTo(HaveOccurred())
Expect(config.AccessToken()).To(Equal("bearer new-access-token"))
Expect(config.RefreshToken()).To(Equal("new-refresh-token"))
})
It("refreshes the token when CC requests fail", func() {
apiServer := httptest.NewTLSServer(refreshTokenApiEndPoint(
`{ "code": 1000, "description": "Auth token is invalid" }`,
testnet.TestResponse{Status: http.StatusOK}))
defer apiServer.Close()
ccGateway.SetTrustedCerts(apiServer.TLS.Certificates)
config, auth := createAuthenticationRepository(apiServer, authServer)
ccGateway.SetTokenRefresher(auth)
request, apiErr := ccGateway.NewRequest("POST", config.ApiEndpoint()+"/v2/foo", config.AccessToken(), strings.NewReader("expected body"))
_, apiErr = ccGateway.PerformRequest(request)
Expect(apiErr).NotTo(HaveOccurred())
示例2:
})
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)
Expect(config.OrganizationFields()).To(Equal(org))
Expect(config.SpaceFields()).To(Equal(space))
Expect(config.AccessToken()).To(Equal("some access token"))
Expect(config.RefreshToken()).To(Equal("some refresh token"))
})
})
})
Context("when the API request fails", func() {
ItClearsTheConfig := func() {
Expect(config.ApiEndpoint()).To(BeEmpty())
}
BeforeEach(func() {
config.SetApiEndpoint("example.com")
})
It("returns a failure response when the server has a bad certificate", func() {
testServer.TLS.Certificates = []tls.Certificate{testnet.MakeExpiredTLSCert()}
示例3:
l := NewLogin(ui, Config, authRepo, endpointRepo, orgRepo, spaceRepo)
testcmd.RunCommand(l, Flags, nil)
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Select an org"},
[]string{"1. some-org"},
[]string{"2. my-new-org"},
[]string{"Select a space"},
[]string{"1. my-space"},
[]string{"2. some-space"},
))
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("api.example.com"))
Expect(orgRepo.FindByNameArgsForCall(0)).To(Equal("my-new-org"))
Expect(spaceRepo.FindByNameName).To(Equal("my-space"))
Expect(ui.ShowConfigurationCalled).To(BeTrue())
})
It("lets the user select an org and space by name", func() {
ui.Inputs = []string{"api.example.com", "[email protected]", "password", "my-new-org", "my-space"}
orgRepo.FindByNameReturns(org2, nil)
l := NewLogin(ui, Config, authRepo, endpointRepo, orgRepo, spaceRepo)
testcmd.RunCommand(l, Flags, nil)
示例4:
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{}))
})
})
})
})