func TestUpdateServiceAuthToken(t *testing.T) { foundAuthToken := cf.ServiceAuthTokenFields{} foundAuthToken.Guid = "found-auth-token-guid" foundAuthToken.Label = "found label" foundAuthToken.Provider = "found provider" authTokenRepo := &testapi.FakeAuthTokenRepo{FindByLabelAndProviderServiceAuthTokenFields: foundAuthToken} reqFactory := &testreq.FakeReqFactory{LoginSuccess: true} args := []string{"a label", "a provider", "a value"} ui := callUpdateServiceAuthToken(t, args, reqFactory, authTokenRepo) expectedAuthToken := cf.ServiceAuthTokenFields{} expectedAuthToken.Guid = "found-auth-token-guid" expectedAuthToken.Label = "found label" expectedAuthToken.Provider = "found provider" expectedAuthToken.Token = "a value" testassert.SliceContains(t, ui.Outputs, testassert.Lines{ {"Updating service auth token as", "my-user"}, {"OK"}, }) assert.Equal(t, authTokenRepo.FindByLabelAndProviderLabel, "a label") assert.Equal(t, authTokenRepo.FindByLabelAndProviderProvider, "a provider") assert.Equal(t, authTokenRepo.UpdatedServiceAuthTokenFields, expectedAuthToken) assert.Equal(t, authTokenRepo.UpdatedServiceAuthTokenFields, expectedAuthToken) }
func TestServiceAuthFindByLabelAndProvider(t *testing.T) { req := testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "GET", Path: "/v2/service_auth_tokens?q=label:a-label;provider:a-provider", Response: testnet.TestResponse{ Status: http.StatusOK, Body: `{"resources": [{ "metadata": { "guid": "mysql-core-guid" }, "entity": { "label": "mysql", "provider": "mysql-core" } }]}`}, }) ts, handler, repo := createServiceAuthTokenRepo(t, req) defer ts.Close() serviceAuthToken, apiResponse := repo.FindByLabelAndProvider("a-label", "a-provider") assert.True(t, handler.AllRequestsCalled()) assert.True(t, apiResponse.IsSuccessful()) authToken2 := cf.ServiceAuthTokenFields{} authToken2.Guid = "mysql-core-guid" authToken2.Label = "mysql" authToken2.Provider = "mysql-core" assert.Equal(t, serviceAuthToken, authToken2) }
func TestServiceAuthDelete(t *testing.T) { req := testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "DELETE", Path: "/v2/service_auth_tokens/mysql-core-guid", Response: testnet.TestResponse{Status: http.StatusOK}, }) ts, handler, repo := createServiceAuthTokenRepo(t, req) defer ts.Close() authToken4 := cf.ServiceAuthTokenFields{} authToken4.Guid = "mysql-core-guid" apiResponse := repo.Delete(authToken4) assert.True(t, handler.AllRequestsCalled()) assert.True(t, apiResponse.IsSuccessful()) }
func TestServiceAuthUpdate(t *testing.T) { req := testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "PUT", Path: "/v2/service_auth_tokens/mysql-core-guid", Matcher: testnet.RequestBodyMatcher(`{"token":"a value"}`), Response: testnet.TestResponse{Status: http.StatusOK}, }) ts, handler, repo := createServiceAuthTokenRepo(t, req) defer ts.Close() authToken3 := cf.ServiceAuthTokenFields{} authToken3.Guid = "mysql-core-guid" authToken3.Token = "a value" apiResponse := repo.Update(authToken3) assert.True(t, handler.AllRequestsCalled()) assert.True(t, apiResponse.IsSuccessful()) }