authTokenRepo := &testapi.FakeAuthTokenRepo{} requirementsFactory := &testreq.FakeReqFactory{} args := []string{"MY-TOKEN-LABLE", "my-provider", "my-token-abc123"} requirementsFactory.LoginSuccess = true callUpdateServiceAuthToken(args, requirementsFactory, authTokenRepo) Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) requirementsFactory.LoginSuccess = false callUpdateServiceAuthToken(args, requirementsFactory, authTokenRepo) Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) It("TestUpdateServiceAuthToken", func() { foundAuthToken := models.ServiceAuthTokenFields{} foundAuthToken.Guid = "found-auth-token-guid" foundAuthToken.Label = "found label" foundAuthToken.Provider = "found provider" authTokenRepo := &testapi.FakeAuthTokenRepo{FindByLabelAndProviderServiceAuthTokenFields: foundAuthToken} requirementsFactory := &testreq.FakeReqFactory{LoginSuccess: true} args := []string{"a label", "a provider", "a value"} ui := callUpdateServiceAuthToken(args, requirementsFactory, authTokenRepo) expectedAuthToken := models.ServiceAuthTokenFields{} expectedAuthToken.Guid = "found-auth-token-guid" expectedAuthToken.Label = "found label" expectedAuthToken.Provider = "found provider" expectedAuthToken.Token = "a value" testassert.SliceContains(ui.Outputs, testassert.Lines{
"entity": { "label": "mysql", "provider": "mysql-core" } }]}`}, }) ts, handler, repo := createServiceAuthTokenRepo(req) defer ts.Close() serviceAuthToken, apiResponse := repo.FindByLabelAndProvider("a-label", "a-provider") Expect(handler.AllRequestsCalled()).To(BeTrue()) Expect(apiResponse.IsSuccessful()).To(BeTrue()) authToken2 := models.ServiceAuthTokenFields{} authToken2.Guid = "mysql-core-guid" authToken2.Label = "mysql" authToken2.Provider = "mysql-core" Expect(serviceAuthToken).To(Equal(authToken2)) }) It("TestServiceAuthFindByLabelAndProviderWhenNotFound", func() { req := testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "GET", Path: "/v2/service_auth_tokens?q=label%3Aa-label%3Bprovider%3Aa-provider", Response: testnet.TestResponse{ Status: http.StatusOK, Body: `{"resources": []}`}, }) ts, handler, repo := createServiceAuthTokenRepo(req)