Esempio n. 1
0
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)
}
Esempio n. 2
0
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)
}
Esempio n. 3
0
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())
}
Esempio n. 4
0
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())
}