下面列出了怎么用org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
public void gatewayRSocketConfigured() {
new ReactiveWebApplicationContextRunner().withUserConfiguration(MyConfig.class)
.withSystemProperties("spring.cloud.gateway.rsocket.route-id=11")
.withConfiguration(
AutoConfigurations.of(RSocketStrategiesAutoConfiguration.class,
RSocketMessagingAutoConfiguration.class,
GatewayRSocketCommonAutoConfiguration.class,
GatewayRSocketAutoConfiguration.class,
CompositeMeterRegistryAutoConfiguration.class,
MetricsAutoConfiguration.class))
.run(context -> assertThat(context).hasSingleBean(RoutingTable.class)
.hasSingleBean(RoutingTableRoutes.class)
.hasSingleBean(RoutingTableSocketAcceptorFilter.class)
.hasSingleBean(GatewayServerRSocketFactoryProcessor.class)
.hasSingleBean(BrokerProperties.class)
.hasSingleBean(GatewaySocketAcceptor.class)
.hasSingleBean(SocketAcceptorPredicateFilter.class)
.hasSingleBean(RSocketServerBootstrap.class)
.doesNotHaveBean(SocketAcceptorPredicate.class));
}
@Test
public void nettyHttpClientDefaults() {
new ReactiveWebApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class,
MetricsAutoConfiguration.class,
SimpleMetricsExportAutoConfiguration.class,
GatewayAutoConfiguration.class))
.withPropertyValues("debug=true").run(context -> {
assertThat(context).hasSingleBean(HttpClient.class);
assertThat(context).hasBean("gatewayHttpClient");
HttpClient httpClient = context.getBean(HttpClient.class);
/*
* FIXME: 2.1.0 HttpClientOptions options = httpClient.options();
*
* PoolResources poolResources = options.getPoolResources();
* assertThat(poolResources).isNotNull(); //TODO: howto test
* PoolResources
*
* ClientProxyOptions proxyOptions = options.getProxyOptions();
* assertThat(proxyOptions).isNull();
*
* SslContext sslContext = options.sslContext();
* assertThat(sslContext).isNull();
*/
});
}
@Test
public void nettyHttpClientConfigured() {
new ReactiveWebApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class,
MetricsAutoConfiguration.class,
SimpleMetricsExportAutoConfiguration.class,
GatewayAutoConfiguration.class, HttpClientCustomizedConfig.class))
.withPropertyValues(
"spring.cloud.gateway.httpclient.ssl.use-insecure-trust-manager=true",
"spring.cloud.gateway.httpclient.connect-timeout=10",
"spring.cloud.gateway.httpclient.response-timeout=10s",
"spring.cloud.gateway.httpclient.pool.type=fixed",
// greather than integer max value
"spring.cloud.gateway.httpclient.max-initial-line-length=2147483647",
"spring.cloud.gateway.httpclient.proxy.host=myhost",
"spring.cloud.gateway.httpclient.websocket.max-frame-payload-length=1024")
.run(context -> {
assertThat(context).hasSingleBean(HttpClient.class);
HttpClient httpClient = context.getBean(HttpClient.class);
HttpClientProperties properties = context
.getBean(HttpClientProperties.class);
assertThat(properties.getMaxInitialLineLength().toBytes())
.isLessThanOrEqualTo(Integer.MAX_VALUE);
/*
* FIXME: 2.1.0 HttpClientOptions options = httpClient.options();
*
* PoolResources poolResources = options.getPoolResources();
* assertThat(poolResources).isNotNull(); //TODO: howto test
* PoolResources
*
* ClientProxyOptions proxyOptions = options.getProxyOptions();
* assertThat(proxyOptions).isNotNull();
* assertThat(proxyOptions.getAddress().get().getHostName()).isEqualTo
* ("myhost");
*
* SslContext sslContext = options.sslContext();
* assertThat(sslContext).isNotNull();
*/
// TODO: howto test SslContext
assertThat(context)
.hasSingleBean(ReactorNettyRequestUpgradeStrategy.class);
ReactorNettyRequestUpgradeStrategy upgradeStrategy = context
.getBean(ReactorNettyRequestUpgradeStrategy.class);
assertThat(upgradeStrategy.getMaxFramePayloadLength())
.isEqualTo(1024);
assertThat(upgradeStrategy.getHandlePing()).isTrue();
assertThat(context).hasSingleBean(ReactorNettyWebSocketClient.class);
ReactorNettyWebSocketClient webSocketClient = context
.getBean(ReactorNettyWebSocketClient.class);
assertThat(webSocketClient.getMaxFramePayloadLength())
.isEqualTo(1024);
HttpClientCustomizedConfig config = context
.getBean(HttpClientCustomizedConfig.class);
assertThat(config.called.get()).isTrue();
});
}