### Question:
ClientCredentialsTokenFlow { public OAuth2TokenResponse execute() throws IllegalArgumentException, TokenFlowException { checkRequest(request); return requestTechnicalUserToken(request); } ClientCredentialsTokenFlow(OAuth2TokenService tokenService, OAuth2ServiceEndpointsProvider endpointsProvider,
			ClientCredentials clientCredentials); ClientCredentialsTokenFlow attributes(Map<String, String> additionalAuthorizationAttributes); ClientCredentialsTokenFlow subdomain(String subdomain); ClientCredentialsTokenFlow scopes(@Nonnull String... scopes); ClientCredentialsTokenFlow disableCache(boolean disableCache); OAuth2TokenResponse execute();  }### Answer:
@Test public void execute_triggersServiceCallWithDefaults() throws TokenFlowException, OAuth2ServiceException { OAuth2TokenResponse accessToken = mockRetrieveAccessToken(); OAuth2TokenResponse response = cut.execute(); assertThat(response.getAccessToken()).isSameAs(accessToken.getAccessToken()); verifyThatDisableCacheAttributeIs(false); verify(mockTokenService, times(1)) .retrieveAccessTokenViaClientCredentialsGrant(endpointsProvider.getTokenEndpoint(), clientCredentials, null, emptyMap(), false); }
@Test public void execute_throwsIfServiceRaisesException() throws OAuth2ServiceException { when(mockTokenService .retrieveAccessTokenViaClientCredentialsGrant(eq(TOKEN_ENDPOINT_URI), eq(clientCredentials), isNull(), anyMap(), anyBoolean())) .thenThrow(new OAuth2ServiceException("exception executed REST call")); assertThatThrownBy(() -> { cut.execute(); }).isInstanceOf(TokenFlowException.class) .hasMessageContaining( "Error requesting technical user token with grant_type 'client_credentials': exception executed REST call"); }