@Test
public void testUaaRestTemplateContainsBearerHeader() throws Exception {
LocalUaaRestTemplate restTemplate = getWebApplicationContext().getBean(LocalUaaRestTemplate.class);
OAuth2AccessToken token = restTemplate.acquireAccessToken(restTemplate.getOAuth2ClientContext());
Method createRequest = OAuth2RestTemplate.class.getDeclaredMethod("createRequest",URI.class, HttpMethod.class);
ReflectionUtils.makeAccessible(createRequest);
ClientHttpRequest request = (ClientHttpRequest)createRequest.invoke(restTemplate, new URI("http://localhost/oauth/token"), HttpMethod.POST);
assertEquals("authorization bearer header should be present", 1, request.getHeaders().get("Authorization").size());
assertNotNull("authorization bearer header should be present", request.getHeaders().get("Authorization").get(0));
assertThat(request.getHeaders().get("Authorization").get(0).toLowerCase(), startsWith("bearer "));
assertThat(request.getHeaders().get("Authorization").get(0), endsWith(token.getValue()));
}
}