@@ -70,8 +70,8 @@ public abstract class AbstractInstancesProxyControllerIntegrationTest {
7070 .dynamicPort ()
7171 .extensions (new ConnectionCloseExtension ()));
7272
73- private static WebTestClient client ;
74- private static String instanceId ;
73+ private WebTestClient client ;
74+ private String instanceId ;
7575
7676 @ BeforeClass
7777 public static void setUp () {
@@ -85,12 +85,12 @@ public static void tearDown() {
8585
8686 public void setUpClient (ConfigurableApplicationContext context ) {
8787 int localPort = context .getEnvironment ().getProperty ("local.server.port" , Integer .class , 0 );
88- client = WebTestClient .bindToServer ()
89- .baseUrl ("http://localhost:" + localPort )
90- .responseTimeout (Duration .ofSeconds (10 ))
91- .build ();
88+ this . client = WebTestClient .bindToServer ()
89+ .baseUrl ("http://localhost:" + localPort )
90+ .responseTimeout (Duration .ofSeconds (10 ))
91+ .build ();
9292
93- String managementUrl = "http://localhost:" + wireMock .port () + "/mgmt" ;
93+ String managementUrl = "http://localhost:" + this . wireMock .port () + "/mgmt" ;
9494 //@formatter:off
9595 String actuatorIndex = "{ \" _links\" : { " +
9696 "\" env\" : { \" href\" : \" " + managementUrl + "/env\" , \" templated\" : false }," +
@@ -99,128 +99,132 @@ public void setUpClient(ConfigurableApplicationContext context) {
9999 "\" timeout\" : { \" href\" : \" " + managementUrl + "/timeout\" , \" templated\" : false }" +
100100 " } }" ;
101101 //@formatter:on
102- wireMock .stubFor (get (urlEqualTo ("/mgmt/health" )).willReturn (ok ("{ \" status\" : \" UP\" }" ).withHeader (CONTENT_TYPE ,
102+ this .wireMock .stubFor (get (urlEqualTo ("/mgmt/health" )).willReturn (ok ("{ \" status\" : \" UP\" }" ).withHeader (
103+ CONTENT_TYPE ,
103104 ActuatorMediaType .V2_JSON
104105 )));
105- wireMock .stubFor (get (urlEqualTo ("/mgmt/info" )).willReturn (ok ("{ }" ).withHeader (CONTENT_TYPE ,
106+ this .wireMock .stubFor (get (urlEqualTo ("/mgmt/info" )).willReturn (ok ("{ }" ).withHeader (
107+ CONTENT_TYPE ,
106108 ACTUATOR_CONTENT_TYPE
107109 )));
108- wireMock .stubFor (options (urlEqualTo ("/mgmt/env" )).willReturn (ok ().withHeader (ALLOW ,
110+ this .wireMock .stubFor (options (urlEqualTo ("/mgmt/env" )).willReturn (ok ().withHeader (
111+ ALLOW ,
109112 HttpMethod .HEAD .name (),
110113 HttpMethod .GET .name (),
111114 HttpMethod .OPTIONS .name ()
112115 )));
113- wireMock .stubFor (get (urlEqualTo ("/mgmt" )).willReturn (ok (actuatorIndex ).withHeader (CONTENT_TYPE ,
116+ this .wireMock .stubFor (get (urlEqualTo ("/mgmt" )).willReturn (ok (actuatorIndex ).withHeader (
117+ CONTENT_TYPE ,
114118 ACTUATOR_CONTENT_TYPE
115119 )));
116- wireMock .stubFor (get (urlEqualTo ("/mgmt/invalid" )).willReturn (aResponse ().withFault (Fault .EMPTY_RESPONSE )));
117- wireMock .stubFor (get (urlEqualTo ("/mgmt/timeout" )).willReturn (ok ().withFixedDelay (10000 )));
118- wireMock .stubFor (get (urlEqualTo ("/mgmt/test" )).willReturn (ok ("{ \" foo\" : \" bar\" }" ).withHeader (CONTENT_TYPE ,
120+ this .wireMock .stubFor (get (urlEqualTo ("/mgmt/invalid" )).willReturn (aResponse ().withFault (Fault .EMPTY_RESPONSE )));
121+ this .wireMock .stubFor (get (urlEqualTo ("/mgmt/timeout" )).willReturn (ok ().withFixedDelay (10000 )));
122+ this .wireMock .stubFor (get (urlEqualTo ("/mgmt/test" )).willReturn (ok ("{ \" foo\" : \" bar\" }" ).withHeader (
123+ CONTENT_TYPE ,
119124 ACTUATOR_CONTENT_TYPE
120125 )));
121- wireMock .stubFor (get (urlEqualTo ("/mgmt/test/has%20spaces" )).willReturn (ok ("{ \" foo\" : \" bar-with-spaces\" }" ).withHeader (CONTENT_TYPE ,
122- ACTUATOR_CONTENT_TYPE
123- )));
124- wireMock .stubFor (post (urlEqualTo ("/mgmt/test" )).willReturn (ok ()));
125- wireMock .stubFor (delete (urlEqualTo ("/mgmt/test" )).willReturn (serverError ().withBody (
126+ this .wireMock .stubFor (get (urlEqualTo ("/mgmt/test/has%20spaces" )).willReturn (ok (
127+ "{ \" foo\" : \" bar-with-spaces\" }" ).withHeader (CONTENT_TYPE , ACTUATOR_CONTENT_TYPE )));
128+ this .wireMock .stubFor (post (urlEqualTo ("/mgmt/test" )).willReturn (ok ()));
129+ this .wireMock .stubFor (delete (urlEqualTo ("/mgmt/test" )).willReturn (serverError ().withBody (
126130 "{\" error\" : \" You're doing it wrong!\" }" ).withHeader (CONTENT_TYPE , ACTUATOR_CONTENT_TYPE )));
127131
128- instanceId = registerInstance (managementUrl );
132+ this . instanceId = registerInstance (managementUrl );
129133 }
130134
131135 @ Test
132136 public void should_return_status_503_404 () {
133137 //503 on invalid instance
134- client .get ()
135- .uri ("/instances/{instanceId}/actuator/info" , "UNKNOWN" )
136- .accept (ACTUATOR_V2_MEDIATYPE )
137- .exchange ()
138- .expectStatus ()
139- .isEqualTo (HttpStatus .SERVICE_UNAVAILABLE );
138+ this . client .get ()
139+ .uri ("/instances/{instanceId}/actuator/info" , "UNKNOWN" )
140+ .accept (ACTUATOR_V2_MEDIATYPE )
141+ .exchange ()
142+ .expectStatus ()
143+ .isEqualTo (HttpStatus .SERVICE_UNAVAILABLE );
140144
141145 //404 on non-existent endpoint
142- client .get ()
143- .uri ("/instances/{instanceId}/actuator/not-exist" , instanceId )
144- .accept (ACTUATOR_V2_MEDIATYPE )
145- .exchange ()
146- .expectStatus ()
147- .isEqualTo (HttpStatus .NOT_FOUND );
146+ this . client .get ()
147+ .uri ("/instances/{instanceId}/actuator/not-exist" , this . instanceId )
148+ .accept (ACTUATOR_V2_MEDIATYPE )
149+ .exchange ()
150+ .expectStatus ()
151+ .isEqualTo (HttpStatus .NOT_FOUND );
148152 }
149153
150154 @ Test
151155 public void should_return_status_502_504 () {
152156 //502 on invalid response
153- client .get ()
154- .uri ("/instances/{instanceId}/actuator/invalid" , instanceId )
155- .accept (ACTUATOR_V2_MEDIATYPE )
156- .exchange ()
157- .expectStatus ()
158- .isEqualTo (HttpStatus .BAD_GATEWAY );
157+ this . client .get ()
158+ .uri ("/instances/{instanceId}/actuator/invalid" , this . instanceId )
159+ .accept (ACTUATOR_V2_MEDIATYPE )
160+ .exchange ()
161+ .expectStatus ()
162+ .isEqualTo (HttpStatus .BAD_GATEWAY );
159163
160164 //504 on read timeout
161- client .get ()
162- .uri ("/instances/{instanceId}/actuator/timeout" , instanceId )
163- .accept (ACTUATOR_V2_MEDIATYPE )
164- .exchange ()
165- .expectStatus ()
166- .isEqualTo (HttpStatus .GATEWAY_TIMEOUT );
165+ this . client .get ()
166+ .uri ("/instances/{instanceId}/actuator/timeout" , this . instanceId )
167+ .accept (ACTUATOR_V2_MEDIATYPE )
168+ .exchange ()
169+ .expectStatus ()
170+ .isEqualTo (HttpStatus .GATEWAY_TIMEOUT );
167171 }
168172
169173 @ Test
170174 public void should_forward_requests () {
171- client .options ()
172- .uri ("/instances/{instanceId}/actuator/env" , instanceId )
173- .accept (ACTUATOR_V2_MEDIATYPE )
174- .exchange ()
175- .expectStatus ()
176- .isEqualTo (HttpStatus .OK )
177- .expectHeader ()
178- .valueEquals (ALLOW , HttpMethod .HEAD .name (), HttpMethod .GET .name (), HttpMethod .OPTIONS .name ());
175+ this . client .options ()
176+ .uri ("/instances/{instanceId}/actuator/env" , this . instanceId )
177+ .accept (ACTUATOR_V2_MEDIATYPE )
178+ .exchange ()
179+ .expectStatus ()
180+ .isEqualTo (HttpStatus .OK )
181+ .expectHeader ()
182+ .valueEquals (ALLOW , HttpMethod .HEAD .name (), HttpMethod .GET .name (), HttpMethod .OPTIONS .name ());
179183
180- client .get ()
181- .uri ("/instances/{instanceId}/actuator/test" , instanceId )
182- .accept (ACTUATOR_V2_MEDIATYPE )
183- .exchange ()
184- .expectStatus ()
185- .isEqualTo (HttpStatus .OK )
186- .expectBody (String .class )
187- .isEqualTo ("{ \" foo\" : \" bar\" }" );
184+ this . client .get ()
185+ .uri ("/instances/{instanceId}/actuator/test" , this . instanceId )
186+ .accept (ACTUATOR_V2_MEDIATYPE )
187+ .exchange ()
188+ .expectStatus ()
189+ .isEqualTo (HttpStatus .OK )
190+ .expectBody (String .class )
191+ .isEqualTo ("{ \" foo\" : \" bar\" }" );
188192
189- client .post ()
190- .uri ("/instances/{instanceId}/actuator/test" , instanceId )
191- .syncBody ("PAYLOAD" )
192- .exchange ()
193- .expectStatus ()
194- .isEqualTo (HttpStatus .OK );
193+ this . client .post ()
194+ .uri ("/instances/{instanceId}/actuator/test" , this . instanceId )
195+ .syncBody ("PAYLOAD" )
196+ .exchange ()
197+ .expectStatus ()
198+ .isEqualTo (HttpStatus .OK );
195199
196- wireMock .verify (postRequestedFor (urlEqualTo ("/mgmt/test" )).withRequestBody (equalTo ("PAYLOAD" )));
200+ this . wireMock .verify (postRequestedFor (urlEqualTo ("/mgmt/test" )).withRequestBody (equalTo ("PAYLOAD" )));
197201
198- client .delete ()
199- .uri ("/instances/{instanceId}/actuator/test" , instanceId )
200- .exchange ()
201- .expectStatus ()
202- .isEqualTo (HttpStatus .INTERNAL_SERVER_ERROR )
203- .expectBody (String .class )
204- .isEqualTo ("{\" error\" : \" You're doing it wrong!\" }" );
202+ this . client .delete ()
203+ .uri ("/instances/{instanceId}/actuator/test" , this . instanceId )
204+ .exchange ()
205+ .expectStatus ()
206+ .isEqualTo (HttpStatus .INTERNAL_SERVER_ERROR )
207+ .expectBody (String .class )
208+ .isEqualTo ("{\" error\" : \" You're doing it wrong!\" }" );
205209
206- wireMock .verify (postRequestedFor (urlEqualTo ("/mgmt/test" )).withRequestBody (equalTo ("PAYLOAD" )));
210+ this . wireMock .verify (postRequestedFor (urlEqualTo ("/mgmt/test" )).withRequestBody (equalTo ("PAYLOAD" )));
207211 }
208212
209213 @ Test
210214 public void should_forward_requests_with_spaces_in_path () {
211- client .get ()
212- .uri ("/instances/{instanceId}/actuator/test/has spaces" , instanceId )
213- .accept (ACTUATOR_V2_MEDIATYPE )
214- .exchange ()
215- .expectStatus ()
216- .isEqualTo (HttpStatus .OK )
217- .expectBody (String .class )
218- .isEqualTo ("{ \" foo\" : \" bar-with-spaces\" }" );
215+ this . client .get ()
216+ .uri ("/instances/{instanceId}/actuator/test/has spaces" , this . instanceId )
217+ .accept (ACTUATOR_V2_MEDIATYPE )
218+ .exchange ()
219+ .expectStatus ()
220+ .isEqualTo (HttpStatus .OK )
221+ .expectBody (String .class )
222+ .isEqualTo ("{ \" foo\" : \" bar-with-spaces\" }" );
219223
220- wireMock .verify (getRequestedFor (urlEqualTo ("/mgmt/test/has%20spaces" )));
224+ this . wireMock .verify (getRequestedFor (urlEqualTo ("/mgmt/test/has%20spaces" )));
221225 }
222226
223- private static String registerInstance (String managementUrl ) {
227+ private String registerInstance (String managementUrl ) {
224228 AtomicReference <String > instanceId = new AtomicReference <>();
225229 StepVerifier .create (getEventStream ())
226230 .expectSubscription ()
@@ -232,14 +236,14 @@ private static String registerInstance(String managementUrl) {
232236 return instanceId .get ();
233237 }
234238
235- private static String sendRegistration (String managementUrl ) {
239+ private String sendRegistration (String managementUrl ) {
236240 String registration = "{ \" name\" : \" test\" , \" healthUrl\" : \" " +
237241 managementUrl +
238242 "/health\" , \" managementUrl\" : \" " +
239243 managementUrl +
240244 "\" }" ;
241245 //@formatter:off
242- EntityExchangeResult <Map <String , Object >> result = client .post ()
246+ EntityExchangeResult <Map <String , Object >> result = this . client .post ()
243247 .uri ("/instances" )
244248 .accept (MediaType .APPLICATION_JSON ).contentType (MediaType .APPLICATION_JSON )
245249 .syncBody (registration )
@@ -252,9 +256,9 @@ private static String sendRegistration(String managementUrl) {
252256 return result .getResponseBody ().get ("id" ).toString ();
253257 }
254258
255- private static Flux <Map <String , Object >> getEventStream () {
259+ private Flux <Map <String , Object >> getEventStream () {
256260 //@formatter:off
257- return client .get ().uri ("/instances/events" ).accept (MediaType .TEXT_EVENT_STREAM )
261+ return this . client .get ().uri ("/instances/events" ).accept (MediaType .TEXT_EVENT_STREAM )
258262 .exchange ()
259263 .expectStatus ().isOk ()
260264 .returnResult (RESPONSE_TYPE ).getResponseBody ();
0 commit comments