pull/15692/head
Phillip Webb 6 years ago
parent 9c3e587917
commit 6a901199f5

@ -107,7 +107,7 @@ public class AtlasMetricsExportAutoConfigurationTests {
@Bean
public AtlasConfig customConfig() {
return (k) -> null;
return (key) -> null;
}
}

@ -31,7 +31,7 @@ public class AtlasPropertiesTests {
@Test
public void defaultValuesAreConsistent() {
AtlasProperties properties = new AtlasProperties();
AtlasConfig config = (k) -> null;
AtlasConfig config = (key) -> null;
assertThat(properties.getStep()).isEqualTo(config.step());
assertThat(properties.isEnabled()).isEqualTo(config.enabled());
assertThat(properties.getConnectTimeout()).isEqualTo(config.connectTimeout());

@ -116,8 +116,8 @@ public class DatadogMetricsExportAutoConfigurationTests {
@Bean
public DatadogConfig customConfig() {
return (k) -> {
if ("datadog.apiKey".equals(k)) {
return (key) -> {
if ("datadog.apiKey".equals(key)) {
return "12345";
}
return null;

@ -125,14 +125,14 @@ public class DynatraceMetricsExportAutoConfigurationTests {
@Bean
public DynatraceConfig customConfig() {
return (k) -> {
if ("dynatrace.uri".equals(k)) {
return (key) -> {
if ("dynatrace.uri".equals(key)) {
return "https://dynatrace.example.com";
}
if ("dynatrace.apiToken".equals(k)) {
if ("dynatrace.apiToken".equals(key)) {
return "abcde";
}
if ("dynatrace.deviceId".equals(k)) {
if ("dynatrace.deviceId".equals(key)) {
return "test";
}
return null;

@ -108,7 +108,7 @@ public class ElasticMetricsExportAutoConfigurationTests {
@Bean
public ElasticConfig customConfig() {
return (k) -> null;
return (key) -> null;
}
}

@ -107,7 +107,7 @@ public class GangliaMetricsExportAutoConfigurationTests {
@Bean
public GangliaConfig customConfig() {
return (k) -> null;
return (key) -> null;
}
}

@ -124,8 +124,8 @@ public class GraphiteMetricsExportAutoConfigurationTests {
@Bean
public GraphiteConfig customConfig() {
return (k) -> {
if ("Graphite.apiKey".equals(k)) {
return (key) -> {
if ("Graphite.apiKey".equals(key)) {
return "12345";
}
return null;

@ -109,7 +109,7 @@ public class HumioMetricsExportAutoConfigurationTests {
@Bean
public HumioConfig customConfig() {
return (k) -> null;
return (key) -> null;
}
}

@ -107,7 +107,7 @@ public class InfluxMetricsExportAutoConfigurationTests {
@Bean
public InfluxConfig customConfig() {
return (k) -> null;
return (key) -> null;
}
}

@ -129,11 +129,11 @@ public class NewRelicMetricsExportAutoConfigurationTests {
@Bean
public NewRelicConfig customConfig() {
return (k) -> {
if ("newrelic.accountId".equals(k)) {
return (key) -> {
if ("newrelic.accountId".equals(key)) {
return "abcde";
}
if ("newrelic.apiKey".equals(k)) {
if ("newrelic.apiKey".equals(key)) {
return "12345";
}
return null;

@ -157,7 +157,7 @@ public class PrometheusMetricsExportAutoConfigurationTests {
@Bean
public PrometheusConfig customConfig() {
return (k) -> null;
return (key) -> null;
}
}

@ -124,8 +124,8 @@ public class SignalFxMetricsExportAutoConfigurationTests {
@Bean
public SignalFxConfig customConfig() {
return (k) -> {
if ("signalfx.accessToken".equals(k)) {
return (key) -> {
if ("signalfx.accessToken".equals(key)) {
return "abcde";
}
return null;

@ -90,7 +90,7 @@ public class SimpleMetricsExportAutoConfigurationTests {
@Bean
public SimpleConfig customConfig() {
return (k) -> null;
return (key) -> null;
}
}

@ -81,7 +81,6 @@ public class ElasticsearchRestHealthIndicator extends AbstractHealthIndicator {
else {
builder.up();
}
builder.withDetails(response);
}

@ -33,8 +33,8 @@ import org.springframework.boot.actuate.health.Status;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.entry;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.mock;
import static org.mockito.BDDMockito.when;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
/**
* Tests for {@link ElasticsearchRestHealthIndicator}.
@ -54,15 +54,12 @@ public class ElasticsearchRestHealthIndicatorTest {
BasicHttpEntity httpEntity = new BasicHttpEntity();
httpEntity.setContent(
new ByteArrayInputStream(createJsonResult(200, "green").getBytes()));
Response response = mock(Response.class);
StatusLine statusLine = mock(StatusLine.class);
when(statusLine.getStatusCode()).thenReturn(200);
when(response.getStatusLine()).thenReturn(statusLine);
when(response.getEntity()).thenReturn(httpEntity);
when(this.restClient.performRequest(any(Request.class))).thenReturn(response);
given(statusLine.getStatusCode()).willReturn(200);
given(response.getStatusLine()).willReturn(statusLine);
given(response.getEntity()).willReturn(httpEntity);
given(this.restClient.performRequest(any(Request.class))).willReturn(response);
Health health = this.elasticsearchRestHealthIndicator.health();
assertThat(health.getStatus()).isEqualTo(Status.UP);
assertHealthDetailsWithStatus(health.getDetails(), "green");
@ -73,15 +70,12 @@ public class ElasticsearchRestHealthIndicatorTest {
BasicHttpEntity httpEntity = new BasicHttpEntity();
httpEntity.setContent(
new ByteArrayInputStream(createJsonResult(200, "yellow").getBytes()));
Response response = mock(Response.class);
StatusLine statusLine = mock(StatusLine.class);
when(statusLine.getStatusCode()).thenReturn(200);
when(response.getStatusLine()).thenReturn(statusLine);
when(response.getEntity()).thenReturn(httpEntity);
when(this.restClient.performRequest(any(Request.class))).thenReturn(response);
given(statusLine.getStatusCode()).willReturn(200);
given(response.getStatusLine()).willReturn(statusLine);
given(response.getEntity()).willReturn(httpEntity);
given(this.restClient.performRequest(any(Request.class))).willReturn(response);
Health health = this.elasticsearchRestHealthIndicator.health();
assertThat(health.getStatus()).isEqualTo(Status.UP);
assertHealthDetailsWithStatus(health.getDetails(), "yellow");
@ -89,9 +83,8 @@ public class ElasticsearchRestHealthIndicatorTest {
@Test
public void elasticsearchIsDown() throws IOException {
when(this.restClient.performRequest(any(Request.class)))
.thenThrow(new IOException("Couldn't connect"));
given(this.restClient.performRequest(any(Request.class)))
.willThrow(new IOException("Couldn't connect"));
Health health = this.elasticsearchRestHealthIndicator.health();
assertThat(health.getStatus()).isEqualTo(Status.DOWN);
assertThat(health.getDetails())
@ -102,12 +95,10 @@ public class ElasticsearchRestHealthIndicatorTest {
public void elasticsearchIsDownByResponseCode() throws IOException {
Response response = mock(Response.class);
StatusLine statusLine = mock(StatusLine.class);
when(statusLine.getStatusCode()).thenReturn(500);
when(statusLine.getReasonPhrase()).thenReturn("Internal server error");
when(response.getStatusLine()).thenReturn(statusLine);
when(this.restClient.performRequest(any(Request.class))).thenReturn(response);
given(statusLine.getStatusCode()).willReturn(500);
given(statusLine.getReasonPhrase()).willReturn("Internal server error");
given(response.getStatusLine()).willReturn(statusLine);
given(this.restClient.performRequest(any(Request.class))).willReturn(response);
Health health = this.elasticsearchRestHealthIndicator.health();
assertThat(health.getStatus()).isEqualTo(Status.DOWN);
assertThat(health.getDetails()).contains(entry("statusCode", 500),
@ -119,15 +110,12 @@ public class ElasticsearchRestHealthIndicatorTest {
BasicHttpEntity httpEntity = new BasicHttpEntity();
httpEntity.setContent(
new ByteArrayInputStream(createJsonResult(200, "red").getBytes()));
Response response = mock(Response.class);
StatusLine statusLine = mock(StatusLine.class);
when(statusLine.getStatusCode()).thenReturn(200);
when(response.getStatusLine()).thenReturn(statusLine);
when(response.getEntity()).thenReturn(httpEntity);
when(this.restClient.performRequest(any(Request.class))).thenReturn(response);
given(statusLine.getStatusCode()).willReturn(200);
given(response.getStatusLine()).willReturn(statusLine);
given(response.getEntity()).willReturn(httpEntity);
given(this.restClient.performRequest(any(Request.class))).willReturn(response);
Health health = this.elasticsearchRestHealthIndicator.health();
assertThat(health.getStatus()).isEqualTo(Status.OUT_OF_SERVICE);
assertHealthDetailsWithStatus(health.getDetails(), "red");
@ -148,9 +136,8 @@ public class ElasticsearchRestHealthIndicatorTest {
}
private String createJsonResult(int responseCode, String status) {
String json;
if (responseCode == 200) {
json = String.format("{\"cluster_name\":\"elasticsearch\","
return String.format("{\"cluster_name\":\"elasticsearch\","
+ "\"status\":\"%s\",\"timed_out\":false,\"number_of_nodes\":1,"
+ "\"number_of_data_nodes\":1,\"active_primary_shards\":0,"
+ "\"active_shards\":0,\"relocating_shards\":0,\"initializing_shards\":0,"
@ -159,12 +146,8 @@ public class ElasticsearchRestHealthIndicatorTest {
+ "\"task_max_waiting_in_queue_millis\":0,\"active_shards_percent_as_number\":100.0}",
status);
}
else {
json = "{\n" + " \"error\": \"Server Error\",\n" + " \"status\": "
+ responseCode + "\n" + "}";
}
return json;
return "{\n" + " \"error\": \"Server Error\",\n" + " \"status\": "
+ responseCode + "\n" + "}";
}
}

@ -66,9 +66,8 @@ public class NettyWebServerFactoryCustomizer
.to((maxHttpRequestHeaderSize) -> customizeMaxHttpHeaderSize(factory,
maxHttpRequestHeaderSize));
propertyMapper.from(this.serverProperties::getConnectionTimeout).whenNonNull()
.asInt(Duration::toMillis)
.to((duration) -> customizeConnectionTimeOut(factory, duration));
.asInt(Duration::toMillis).to((duration) -> factory
.addServerCustomizers(getConnectionTimeOutCustomizer(duration)));
}
private boolean getOrDeduceUseForwardHeaders(ServerProperties serverProperties,
@ -87,11 +86,9 @@ public class NettyWebServerFactoryCustomizer
.maxHeaderSize(maxHttpHeaderSize)));
}
private void customizeConnectionTimeOut(NettyReactiveWebServerFactory factory,
int duration) {
factory.addServerCustomizers((NettyServerCustomizer) (httpServer) -> httpServer
.tcpConfiguration((tcpServer) -> tcpServer
.selectorOption(ChannelOption.CONNECT_TIMEOUT_MILLIS, duration)));
private NettyServerCustomizer getConnectionTimeOutCustomizer(int duration) {
return (httpServer) -> httpServer.tcpConfiguration((tcpServer) -> tcpServer
.selectorOption(ChannelOption.CONNECT_TIMEOUT_MILLIS, duration));
}
}

@ -70,9 +70,6 @@ public class ValidationBindHandler extends AbstractBindHandler {
public void onFinish(ConfigurationPropertyName name, Bindable<?> target,
BindContext context, Object result) throws Exception {
validate(name, target, context, result);
if (context.getDepth() == 0 && !this.exceptions.isEmpty()) {
throw this.exceptions.pop();
}
super.onFinish(name, target, context, result);
}
@ -81,9 +78,6 @@ public class ValidationBindHandler extends AbstractBindHandler {
BindContext context, Exception error) throws Exception {
Object result = super.onFailure(name, target, context, error);
validate(name, target, context, null);
if (!this.exceptions.isEmpty()) {
throw this.exceptions.pop();
}
return result;
}
@ -91,7 +85,12 @@ public class ValidationBindHandler extends AbstractBindHandler {
BindContext context, Object result) {
Object validationTarget = getValidationTarget(target, context, result);
Class<?> validationType = target.getBoxedType().resolve();
validate(name, validationTarget, validationType);
if (validationTarget != null) {
validateAndPush(name, validationTarget, validationType);
}
if (context.getDepth() == 0 && !this.exceptions.isEmpty()) {
throw this.exceptions.pop();
}
}
private Object getValidationTarget(Bindable<?> target, BindContext context,
@ -105,14 +104,13 @@ public class ValidationBindHandler extends AbstractBindHandler {
return null;
}
private void validate(ConfigurationPropertyName name, Object target, Class<?> type) {
if (target != null) {
BindingResult errors = new BeanPropertyBindingResult(target, name.toString());
Arrays.stream(this.validators).filter((validator) -> validator.supports(type))
.forEach((validator) -> validator.validate(target, errors));
if (errors.hasErrors()) {
this.exceptions.push(getBindValidationException(name, errors));
}
private void validateAndPush(ConfigurationPropertyName name, Object target,
Class<?> type) {
BindingResult errors = new BeanPropertyBindingResult(target, name.toString());
Arrays.stream(this.validators).filter((validator) -> validator.supports(type))
.forEach((validator) -> validator.validate(target, errors));
if (errors.hasErrors()) {
this.exceptions.push(getBindValidationException(name, errors));
}
}

@ -54,30 +54,37 @@ class CompressionConnectorCustomizer implements TomcatConnectorCustomizer {
}
}
private void customize(Http2Protocol upgradeProtocol) {
private void customize(Http2Protocol protocol) {
Compression compression = this.compression;
upgradeProtocol.setCompression("on");
upgradeProtocol
.setCompressionMinSize((int) compression.getMinResponseSize().toBytes());
upgradeProtocol.setCompressibleMimeType(
StringUtils.arrayToCommaDelimitedString(compression.getMimeTypes()));
protocol.setCompression("on");
protocol.setCompressionMinSize(getMinResponseSize(compression));
protocol.setCompressibleMimeType(getMimeTypes(compression));
if (this.compression.getExcludedUserAgents() != null) {
upgradeProtocol
.setNoCompressionUserAgents(StringUtils.arrayToCommaDelimitedString(
this.compression.getExcludedUserAgents()));
protocol.setNoCompressionUserAgents(getExcludedUserAgents());
}
}
private void customize(AbstractHttp11Protocol<?> protocol) {
Compression compression = this.compression;
protocol.setCompression("on");
protocol.setCompressionMinSize((int) compression.getMinResponseSize().toBytes());
protocol.setCompressibleMimeType(
StringUtils.arrayToCommaDelimitedString(compression.getMimeTypes()));
protocol.setCompressionMinSize(getMinResponseSize(compression));
protocol.setCompressibleMimeType(getMimeTypes(compression));
if (this.compression.getExcludedUserAgents() != null) {
protocol.setNoCompressionUserAgents(StringUtils.arrayToCommaDelimitedString(
this.compression.getExcludedUserAgents()));
protocol.setNoCompressionUserAgents(getExcludedUserAgents());
}
}
private int getMinResponseSize(Compression compression) {
return (int) compression.getMinResponseSize().toBytes();
}
private String getMimeTypes(Compression compression) {
return StringUtils.arrayToCommaDelimitedString(compression.getMimeTypes());
}
private String getExcludedUserAgents() {
return StringUtils
.arrayToCommaDelimitedString(this.compression.getExcludedUserAgents());
}
}

@ -403,9 +403,9 @@ public class RestTemplateBuilderTests {
RestTemplateCustomizer customizer2 = mock(RestTemplateCustomizer.class);
RestTemplate template = this.builder.customizers(customizer1)
.additionalCustomizers(customizer2).build();
InOrder inOrder = inOrder(customizer1, customizer2);
inOrder.verify(customizer1).customize(template);
inOrder.verify(customizer2).customize(template);
InOrder ordered = inOrder(customizer1, customizer2);
ordered.verify(customizer1).customize(template);
ordered.verify(customizer2).customize(template);
}
@Test

@ -306,12 +306,12 @@ public class JettyServletWebServerFactoryTests
contexts.iterator().next().addEventListener(new ServletContextListener() {
@Override
public void contextInitialized(ServletContextEvent sce) {
public void contextInitialized(ServletContextEvent event) {
throw new RuntimeException();
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
public void contextDestroyed(ServletContextEvent event) {
}
});

Loading…
Cancel
Save