@ -54,8 +54,10 @@ public class MetricsWebFilterTests {
@@ -54,8 +54,10 @@ public class MetricsWebFilterTests {
public void filterAddsTagsToRegistry ( ) {
MockServerWebExchange exchange = createExchange ( "/projects/spring-boot" ,
"/projects/{project}" ) ;
this . webFilter . filter ( exchange ,
serverWebExchange - > exchange . getResponse ( ) . setComplete ( ) ) . block ( ) ;
this . webFilter
. filter ( exchange ,
( serverWebExchange ) - > exchange . getResponse ( ) . setComplete ( ) )
. block ( ) ;
assertMetricsContainsTag ( "uri" , "/projects/{project}" ) ;
assertMetricsContainsTag ( "status" , "200" ) ;
}
@ -64,9 +66,11 @@ public class MetricsWebFilterTests {
@@ -64,9 +66,11 @@ public class MetricsWebFilterTests {
public void filterAddsTagsToRegistryForExceptions ( ) {
MockServerWebExchange exchange = createExchange ( "/projects/spring-boot" ,
"/projects/{project}" ) ;
this . webFilter . filter ( exchange ,
serverWebExchange - > Mono . error ( new IllegalStateException ( "test error" ) ) )
. onErrorResume ( t - > {
this . webFilter
. filter ( exchange ,
( serverWebExchange ) - > Mono
. error ( new IllegalStateException ( "test error" ) ) )
. onErrorResume ( ( t ) - > {
exchange . getResponse ( ) . setStatusCodeValue ( 500 ) ;
return exchange . getResponse ( ) . setComplete ( ) ;
} ) . block ( ) ;
@ -78,14 +82,11 @@ public class MetricsWebFilterTests {
@@ -78,14 +82,11 @@ public class MetricsWebFilterTests {
public void filterAddsTagsToRegistryForExceptionsAndCommittedResponse ( ) {
MockServerWebExchange exchange = createExchange ( "/projects/spring-boot" ,
"/projects/{project}" ) ;
this . webFilter . filter ( exchange ,
serverWebExchange - > {
exchange . getResponse ( ) . setStatusCodeValue ( 500 ) ;
return exchange . getResponse ( ) . setComplete ( )
. then ( Mono . error ( new IllegalStateException ( "test error" ) ) ) ;
} )
. onErrorResume ( t - > Mono . empty ( ) )
. block ( ) ;
this . webFilter . filter ( exchange , ( serverWebExchange ) - > {
exchange . getResponse ( ) . setStatusCodeValue ( 500 ) ;
return exchange . getResponse ( ) . setComplete ( )
. then ( Mono . error ( new IllegalStateException ( "test error" ) ) ) ;
} ) . onErrorResume ( ( t ) - > Mono . empty ( ) ) . block ( ) ;
assertMetricsContainsTag ( "uri" , "/projects/{project}" ) ;
assertMetricsContainsTag ( "status" , "500" ) ;
}
@ -94,15 +95,14 @@ public class MetricsWebFilterTests {
@@ -94,15 +95,14 @@ public class MetricsWebFilterTests {
PathPatternParser parser = new PathPatternParser ( ) ;
MockServerWebExchange exchange = MockServerWebExchange
. from ( MockServerHttpRequest . get ( path ) . build ( ) ) ;
exchange . getAttributes ( )
. put ( HandlerMapping . BEST_MATCHING_PATTERN_ATTRIBUTE , parser . parse ( pathPattern ) ) ;
exchange . getAttributes ( ) . put ( HandlerMapping . BEST_MATCHING_PATTERN_ATTRIBUTE ,
parser . parse ( pathPattern ) ) ;
return exchange ;
}
private void assertMetricsContainsTag ( String tagKey , String tagValue ) {
assertThat ( this . registry . get ( REQUEST_METRICS_NAME )
. tag ( tagKey , tagValue ) . timer ( ) . count ( ) )
. isEqualTo ( 1 ) ;
assertThat ( this . registry . get ( REQUEST_METRICS_NAME ) . tag ( tagKey , tagValue ) . timer ( )
. count ( ) ) . isEqualTo ( 1 ) ;
}
}