Polish
This commit is contained in:
parent
a3d5101369
commit
fedd7b9506
|
|
@ -38,7 +38,8 @@ class CloudFoundryHealthMvcEndpoint extends HealthMvcEndpoint {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean exposeHealthDetails(HttpServletRequest request, Principal principal) {
|
protected boolean exposeHealthDetails(HttpServletRequest request,
|
||||||
|
Principal principal) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,8 @@ public class HealthMvcEndpoint extends AbstractEndpointMvcAdapter<HealthEndpoint
|
||||||
return (accessTime - this.lastAccess) >= getDelegate().getTimeToLive();
|
return (accessTime - this.lastAccess) >= getDelegate().getTimeToLive();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean exposeHealthDetails(HttpServletRequest request, Principal principal) {
|
protected boolean exposeHealthDetails(HttpServletRequest request,
|
||||||
|
Principal principal) {
|
||||||
if (!this.secure) {
|
if (!this.secure) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -192,7 +193,7 @@ public class HealthMvcEndpoint extends AbstractEndpointMvcAdapter<HealthEndpoint
|
||||||
if (request.isUserInRole(role)) {
|
if (request.isUserInRole(role)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (isSpringSecurityAuthentication(principal)) {
|
if (isSpringSecurityAuthentication(principal)) {
|
||||||
Authentication authentication = (Authentication) principal;
|
Authentication authentication = (Authentication) principal;
|
||||||
for (GrantedAuthority authority : authentication.getAuthorities()) {
|
for (GrantedAuthority authority : authentication.getAuthorities()) {
|
||||||
String name = authority.getAuthority();
|
String name = authority.getAuthority();
|
||||||
|
|
@ -217,7 +218,7 @@ public class HealthMvcEndpoint extends AbstractEndpointMvcAdapter<HealthEndpoint
|
||||||
|
|
||||||
private boolean isSpringSecurityAuthentication(Principal principal) {
|
private boolean isSpringSecurityAuthentication(Principal principal) {
|
||||||
return ClassUtils.isPresent("org.springframework.security.core.Authentication",
|
return ClassUtils.isPresent("org.springframework.security.core.Authentication",
|
||||||
null) && (principal instanceof Authentication);
|
null) && principal instanceof Authentication;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2016 the original author or authors.
|
* Copyright 2012-2017 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2016 the original author or authors.
|
* Copyright 2012-2017 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
||||||
|
|
@ -167,7 +167,8 @@ public class HealthMvcEndpointTests {
|
||||||
public void rightAuthorityPresentShouldExposeDetails() throws Exception {
|
public void rightAuthorityPresentShouldExposeDetails() throws Exception {
|
||||||
this.environment.getPropertySources().addLast(SECURITY_ROLES);
|
this.environment.getPropertySources().addLast(SECURITY_ROLES);
|
||||||
Authentication principal = mock(Authentication.class);
|
Authentication principal = mock(Authentication.class);
|
||||||
Set<SimpleGrantedAuthority> authorities = Collections.singleton(new SimpleGrantedAuthority("HERO"));
|
Set<SimpleGrantedAuthority> authorities = Collections
|
||||||
|
.singleton(new SimpleGrantedAuthority("HERO"));
|
||||||
doReturn(authorities).when(principal).getAuthorities();
|
doReturn(authorities).when(principal).getAuthorities();
|
||||||
given(this.endpoint.invoke())
|
given(this.endpoint.invoke())
|
||||||
.willReturn(new Health.Builder().up().withDetail("foo", "bar").build());
|
.willReturn(new Health.Builder().up().withDetail("foo", "bar").build());
|
||||||
|
|
|
||||||
|
|
@ -68,13 +68,15 @@ public class NoSpringSecurityHealthMvcEndpointIntegrationTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void healthWhenRightRoleNotPresentShouldExposeHealthDetails() throws Exception {
|
public void healthWhenRightRoleNotPresentShouldExposeHealthDetails()
|
||||||
|
throws Exception {
|
||||||
this.context = new AnnotationConfigWebApplicationContext();
|
this.context = new AnnotationConfigWebApplicationContext();
|
||||||
this.context.setServletContext(new MockServletContext());
|
this.context.setServletContext(new MockServletContext());
|
||||||
this.context.register(TestConfiguration.class);
|
this.context.register(TestConfiguration.class);
|
||||||
this.context.refresh();
|
this.context.refresh();
|
||||||
MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(this.context).build();
|
MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(this.context).build();
|
||||||
mockMvc.perform(get("/health").with(getRequestPostProcessor())).andExpect(status().isOk())
|
mockMvc.perform(get("/health").with(getRequestPostProcessor()))
|
||||||
|
.andExpect(status().isOk())
|
||||||
.andExpect(content().string(containsString("\"status\":\"UP\"")));
|
.andExpect(content().string(containsString("\"status\":\"UP\"")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -94,12 +96,15 @@ public class NoSpringSecurityHealthMvcEndpointIntegrationTests {
|
||||||
|
|
||||||
private RequestPostProcessor getRequestPostProcessor() {
|
private RequestPostProcessor getRequestPostProcessor() {
|
||||||
return new RequestPostProcessor() {
|
return new RequestPostProcessor() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MockHttpServletRequest postProcessRequest(MockHttpServletRequest request) {
|
public MockHttpServletRequest postProcessRequest(
|
||||||
|
MockHttpServletRequest request) {
|
||||||
Principal principal = mock(Principal.class);
|
Principal principal = mock(Principal.class);
|
||||||
request.setUserPrincipal(principal);
|
request.setUserPrincipal(principal);
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -119,6 +124,7 @@ public class NoSpringSecurityHealthMvcEndpointIntegrationTests {
|
||||||
public Health health() {
|
public Health health() {
|
||||||
return Health.up().withDetail("hello", "world").build();
|
return Health.up().withDetail("hello", "world").build();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2016 the original author or authors.
|
* Copyright 2012-2017 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
@ -227,8 +227,7 @@ public class MongoProperties {
|
||||||
options = MongoClientOptions.builder().build();
|
options = MongoClientOptions.builder().build();
|
||||||
}
|
}
|
||||||
String host = this.host == null ? "localhost" : this.host;
|
String host = this.host == null ? "localhost" : this.host;
|
||||||
return new MongoClient(
|
return new MongoClient(Collections.singletonList(new ServerAddress(host, port)),
|
||||||
Collections.singletonList(new ServerAddress(host, port)),
|
|
||||||
Collections.<MongoCredential>emptyList(), options);
|
Collections.<MongoCredential>emptyList(), options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -245,14 +244,14 @@ public class MongoProperties {
|
||||||
if (hasCustomCredentials()) {
|
if (hasCustomCredentials()) {
|
||||||
String database = this.authenticationDatabase == null
|
String database = this.authenticationDatabase == null
|
||||||
? getMongoClientDatabase() : this.authenticationDatabase;
|
? getMongoClientDatabase() : this.authenticationDatabase;
|
||||||
credentials.add(MongoCredential.createCredential(this.username,
|
credentials.add(MongoCredential.createCredential(this.username, database,
|
||||||
database, this.password));
|
this.password));
|
||||||
}
|
}
|
||||||
String host = this.host == null ? "localhost" : this.host;
|
String host = this.host == null ? "localhost" : this.host;
|
||||||
int port = this.port != null ? this.port : DEFAULT_PORT;
|
int port = this.port != null ? this.port : DEFAULT_PORT;
|
||||||
return new MongoClient(
|
return new MongoClient(
|
||||||
Collections.singletonList(new ServerAddress(host, port)),
|
Collections.singletonList(new ServerAddress(host, port)), credentials,
|
||||||
credentials, options);
|
options);
|
||||||
}
|
}
|
||||||
// The options and credentials are in the URI
|
// The options and credentials are in the URI
|
||||||
return new MongoClient(new MongoClientURI(determineUri(), builder(options)));
|
return new MongoClient(new MongoClientURI(determineUri(), builder(options)));
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2016 the original author or authors.
|
* Copyright 2012-2017 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2016 the original author or authors.
|
* Copyright 2012-2017 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue