5656/**
5757 * @author raccoonback
5858 */
59- @ SpringBootTest (
60- properties = { GatewayMvcProperties .PREFIX + ".function.enabled=false" },
61- webEnvironment = SpringBootTest .WebEnvironment .RANDOM_PORT
62- )
59+ @ SpringBootTest (properties = { GatewayMvcProperties .PREFIX + ".function.enabled=false" },
60+ webEnvironment = SpringBootTest .WebEnvironment .RANDOM_PORT )
6361@ ContextConfiguration (initializers = HttpbinTestcontainers .class )
6462class CircuitBreakerFilterFunctionsTests {
6563
@@ -80,20 +78,12 @@ void circuitBreakerCallNotPermittedExceptionReturns503() {
8078
8179 @ Test
8280 void circuitBreakerTimeoutReturns504 () {
83- restClient .get ()
84- .uri ("/circuitbreaker/timeout" )
85- .exchange ()
86- .expectStatus ()
87- .isEqualTo (HttpStatus .GATEWAY_TIMEOUT );
81+ restClient .get ().uri ("/circuitbreaker/timeout" ).exchange ().expectStatus ().isEqualTo (HttpStatus .GATEWAY_TIMEOUT );
8882 }
8983
9084 @ Test
9185 void circuitBreakerResumeWithoutErrorReturns200 () {
92- restClient .get ()
93- .uri ("/circuitbreaker/resume-without-error" )
94- .exchange ()
95- .expectStatus ()
96- .isOk ();
86+ restClient .get ().uri ("/circuitbreaker/resume-without-error" ).exchange ().expectStatus ().isOk ();
9787 }
9888
9989 @ Test
@@ -121,7 +111,8 @@ void circuitBreakerFallbackWorks() {
121111 .exchange ()
122112 .expectStatus ()
123113 .isOk ()
124- .expectBody (String .class ).isEqualTo ("fallback response data" );
114+ .expectBody (String .class )
115+ .isEqualTo ("fallback response data" );
125116 }
126117
127118 @ SpringBootConfiguration
@@ -133,73 +124,58 @@ static class TestConfig {
133124 @ Bean
134125 public Customizer <Resilience4JCircuitBreakerFactory > circuitBreakerCustomizer () {
135126 return factory -> {
136- factory .addCircuitBreakerCustomizer (
137- CircuitBreaker ::transitionToForcedOpenState ,
138- "forced-open"
139- );
140-
141- factory .configure (
142- builder -> builder
143- .timeLimiterConfig (
144- TimeLimiterConfig .custom ()
145- .timeoutDuration (Duration .ofMillis (500 ))
146- .build ()
147- )
148- .circuitBreakerConfig (CircuitBreakerConfig .ofDefaults ()),
149- "timeout"
150- );
127+ factory .addCircuitBreakerCustomizer (CircuitBreaker ::transitionToForcedOpenState , "forced-open" );
128+
129+ factory .configure (builder -> builder
130+ .timeLimiterConfig (TimeLimiterConfig .custom ().timeoutDuration (Duration .ofMillis (500 )).build ())
131+ .circuitBreakerConfig (CircuitBreakerConfig .ofDefaults ()), "timeout" );
151132 };
152133 }
153134
154135 @ Bean
155136 public RouterFunction <ServerResponse > circuitBreakerRoutes () {
156- return route ("circuit_breaker_forced_open" )
157- .route (path ("/circuitbreaker/forced-open" ), http ())
158- .before (new LocalServerPortUriResolver ())
159- .filter (setPath ("/status/200" ))
160- .filter (circuitBreaker ("forced-open" ))
161- .build ()
137+ return route ("circuit_breaker_forced_open" ).route (path ("/circuitbreaker/forced-open" ), http ())
138+ .before (new LocalServerPortUriResolver ())
139+ .filter (setPath ("/status/200" ))
140+ .filter (circuitBreaker ("forced-open" ))
141+ .build ()
162142
163- .and (route ("circuit_breaker_timeout" )
164- .route (path ("/circuitbreaker/timeout" ), http ())
165- .before (new LocalServerPortUriResolver ())
166- .filter (setPath ("/delay/10" ))
167- .filter (circuitBreaker ("timeout" ))
168- .build ())
143+ .and (route ("circuit_breaker_timeout" ).route (path ("/circuitbreaker/timeout" ), http ())
144+ .before (new LocalServerPortUriResolver ())
145+ .filter (setPath ("/delay/10" ))
146+ .filter (circuitBreaker ("timeout" ))
147+ .build ())
169148
170149 .and (route ("circuit_breaker_resume_without_error" )
171- .route (path ("/circuitbreaker/resume-without-error" ), http ())
172- .before (new LocalServerPortUriResolver ())
173- .filter (setPath ("/status/500" ))
174- .filter (circuitBreaker (config -> config .setId ("resume-without-error" )
175- .setResumeWithoutError (true )
176- .setStatusCodes ("500" )))
177- .build ())
150+ .route (path ("/circuitbreaker/resume-without-error" ), http ())
151+ .before (new LocalServerPortUriResolver ())
152+ .filter (setPath ("/status/500" ))
153+ .filter (circuitBreaker (config -> config .setId ("resume-without-error" )
154+ .setResumeWithoutError (true )
155+ .setStatusCodes ("500" )))
156+ .build ())
178157
179158 .and (route ("circuit_breaker_resume_without_error_forced_open" )
180- .route (path ("/circuitbreaker/resume-without-error-forced-open" ), http ())
181- .before (new LocalServerPortUriResolver ())
182- .filter (setPath ("/status/200" ))
183- .filter (circuitBreaker (config -> config .setId ("forced-open" )
184- .setResumeWithoutError (true )))
185- .build ())
159+ .route (path ("/circuitbreaker/resume-without-error-forced-open" ), http ())
160+ .before (new LocalServerPortUriResolver ())
161+ .filter (setPath ("/status/200" ))
162+ .filter (circuitBreaker (config -> config .setId ("forced-open" ).setResumeWithoutError (true )))
163+ .build ())
186164
187165 .and (route ("circuit_breaker_resume_without_error_timeout" )
188- .route (path ("/circuitbreaker/resume-without-error-timeout" ), http ())
189- .before (new LocalServerPortUriResolver ())
190- .filter (setPath ("/delay/10" ))
191- .filter (circuitBreaker (config -> config .setId ("timeout" )
192- .setResumeWithoutError (true )))
193- .build ())
194-
195- .and (route ("circuit_breaker_with_fallback" )
196- .route (path ("/circuitbreaker/with-fallback" ), http ())
197- .before (new LocalServerPortUriResolver ())
198- .filter (setPath ("/status/500" ))
199- .filter (circuitBreaker (config -> config .setId ("fallback" )
200- .setFallbackUri (URI .create ("forward:/fallback" ))
201- .setStatusCodes ("500" )))
202- .build ());
166+ .route (path ("/circuitbreaker/resume-without-error-timeout" ), http ())
167+ .before (new LocalServerPortUriResolver ())
168+ .filter (setPath ("/delay/10" ))
169+ .filter (circuitBreaker (config -> config .setId ("timeout" ).setResumeWithoutError (true )))
170+ .build ())
171+
172+ .and (route ("circuit_breaker_with_fallback" ).route (path ("/circuitbreaker/with-fallback" ), http ())
173+ .before (new LocalServerPortUriResolver ())
174+ .filter (setPath ("/status/500" ))
175+ .filter (circuitBreaker (config -> config .setId ("fallback" )
176+ .setFallbackUri (URI .create ("forward:/fallback" ))
177+ .setStatusCodes ("500" )))
178+ .build ());
203179 }
204180
205181 @ GetMapping ("/delay/{seconds}" )
0 commit comments