@@ -167,62 +167,21 @@ void greetingWithDynamicUri(MockWebServer server, Service service, TestObservati
167167 .hasLowCardinalityKeyValue ("uri" , "none" );
168168 }
169169
170- @ ParameterizedAdapterTest
171- void postWithHeader (MockWebServer server , Service service ) throws Exception {
172- service .postWithHeader ("testHeader" , "testBody" );
173-
174- RecordedRequest request = server .takeRequest ();
175- assertThat (request .getMethod ()).isEqualTo ("POST" );
176- assertThat (request .getPath ()).isEqualTo ("/greeting" );
177- assertThat (request .getHeaders ().get ("testHeaderName" )).isEqualTo ("testHeader" );
178- assertThat (request .getBody ().readUtf8 ()).isEqualTo ("testBody" );
179- }
180-
181- @ ParameterizedAdapterTest
182- void formData (MockWebServer server , Service service ) throws Exception {
183- MultiValueMap <String , String > map = new LinkedMultiValueMap <>();
184- map .add ("param1" , "value 1" );
185- map .add ("param2" , "value 2" );
186-
187- service .postForm (map );
188-
189- RecordedRequest request = server .takeRequest ();
190- assertThat (request .getHeaders ().get ("Content-Type" )).isEqualTo ("application/x-www-form-urlencoded" );
191- assertThat (request .getBody ().readUtf8 ()).isEqualTo ("param1=value+1¶m2=value+2" );
192- }
193-
194- @ ParameterizedAdapterTest // gh-30342
195- void multipart (MockWebServer server , Service service ) throws Exception {
196- MultipartFile file = new MockMultipartFile (
197- "testFileName" , "originalTestFileName" , MediaType .APPLICATION_JSON_VALUE , "test" .getBytes ());
198-
199- service .postMultipart (file , "test2" );
200-
201- RecordedRequest request = server .takeRequest ();
202- assertThat (request .getHeaders ().get ("Content-Type" )).startsWith ("multipart/form-data;boundary=" );
203- assertThat (request .getBody ().readUtf8 ()).containsSubsequence (
204- "Content-Disposition: form-data; name=\" file\" ; filename=\" originalTestFileName\" " ,
205- "Content-Type: application/json" , "Content-Length: 4" , "test" ,
206- "Content-Disposition: form-data; name=\" anotherPart\" " , "Content-Type: text/plain;charset=UTF-8" ,
207- "Content-Length: 5" , "test2" );
208- }
209-
210- @ ParameterizedAdapterTest
211- void putWithCookies (MockWebServer server , Service service ) throws Exception {
212- service .putWithCookies ("test1" , "test2" );
170+ @ Test
171+ void greetingWithApiVersion () throws Exception {
172+ RestClient restClient = RestClient .builder ()
173+ .baseUrl (anotherServer .url ("/" ).toString ())
174+ .apiVersionInserter (ApiVersionInserter .useHeader ("X-API-Version" ))
175+ .build ();
213176
214- RecordedRequest request = server .takeRequest ();
215- assertThat (request .getMethod ()).isEqualTo ("PUT" );
216- assertThat (request .getHeader ("Cookie" )).isEqualTo ("firstCookie=test1; secondCookie=test2" );
217- }
177+ RestClientAdapter adapter = RestClientAdapter .create (restClient );
178+ Service service = HttpServiceProxyFactory .builderFor (adapter ).build ().createClient (Service .class );
218179
219- @ ParameterizedAdapterTest
220- void putWithSameNameCookies (MockWebServer server , Service service ) throws Exception {
221- service .putWithSameNameCookies ("test1" , "test2" );
180+ String response = service .getGreetingWithVersion ();
222181
223- RecordedRequest request = server .takeRequest ();
224- assertThat (request .getMethod ( )).isEqualTo ("PUT " );
225- assertThat (request . getHeader ( "Cookie" )) .isEqualTo ("testCookie=test1; testCookie=test2 " );
182+ RecordedRequest request = anotherServer .takeRequest ();
183+ assertThat (request .getHeader ( "X-API-Version" )).isEqualTo ("1.2 " );
184+ assertThat (response ) .isEqualTo ("Hello Spring 2! " );
226185 }
227186
228187 @ ParameterizedAdapterTest
@@ -270,20 +229,44 @@ void getWithIgnoredUriBuilderFactory(MockWebServer server, Service service) thro
270229 assertThat (this .anotherServer .getRequestCount ()).isEqualTo (0 );
271230 }
272231
273- @ Test
274- void apiVersion () throws Exception {
275- RestClient restClient = RestClient .builder ()
276- .baseUrl (anotherServer .url ("/" ).toString ())
277- .apiVersionInserter (ApiVersionInserter .useHeader ("X-API-Version" ))
278- .build ();
232+ @ ParameterizedAdapterTest
233+ void postWithHeader (MockWebServer server , Service service ) throws Exception {
234+ service .postWithHeader ("testHeader" , "testBody" );
279235
280- RestClientAdapter adapter = RestClientAdapter .create (restClient );
281- Service service = HttpServiceProxyFactory .builderFor (adapter ).build ().createClient (Service .class );
236+ RecordedRequest request = server .takeRequest ();
237+ assertThat (request .getMethod ()).isEqualTo ("POST" );
238+ assertThat (request .getPath ()).isEqualTo ("/greeting" );
239+ assertThat (request .getHeaders ().get ("testHeaderName" )).isEqualTo ("testHeader" );
240+ assertThat (request .getBody ().readUtf8 ()).isEqualTo ("testBody" );
241+ }
282242
283- service .getGreetingWithVersion ();
243+ @ ParameterizedAdapterTest
244+ void postFormData (MockWebServer server , Service service ) throws Exception {
245+ MultiValueMap <String , String > map = new LinkedMultiValueMap <>();
246+ map .add ("param1" , "value 1" );
247+ map .add ("param2" , "value 2" );
284248
285- RecordedRequest request = anotherServer .takeRequest ();
286- assertThat (request .getHeader ("X-API-Version" )).isEqualTo ("1.2" );
249+ service .postForm (map );
250+
251+ RecordedRequest request = server .takeRequest ();
252+ assertThat (request .getHeaders ().get ("Content-Type" )).isEqualTo ("application/x-www-form-urlencoded" );
253+ assertThat (request .getBody ().readUtf8 ()).isEqualTo ("param1=value+1¶m2=value+2" );
254+ }
255+
256+ @ ParameterizedAdapterTest // gh-30342
257+ void postMultipart (MockWebServer server , Service service ) throws Exception {
258+ MultipartFile file = new MockMultipartFile (
259+ "testFileName" , "originalTestFileName" , MediaType .APPLICATION_JSON_VALUE , "test" .getBytes ());
260+
261+ service .postMultipart (file , "test2" );
262+
263+ RecordedRequest request = server .takeRequest ();
264+ assertThat (request .getHeaders ().get ("Content-Type" )).startsWith ("multipart/form-data;boundary=" );
265+ assertThat (request .getBody ().readUtf8 ()).containsSubsequence (
266+ "Content-Disposition: form-data; name=\" file\" ; filename=\" originalTestFileName\" " ,
267+ "Content-Type: application/json" , "Content-Length: 4" , "test" ,
268+ "Content-Disposition: form-data; name=\" anotherPart\" " , "Content-Type: text/plain;charset=UTF-8" ,
269+ "Content-Length: 5" , "test2" );
287270 }
288271
289272 @ ParameterizedAdapterTest // gh-34793
@@ -299,6 +282,24 @@ void postSet(MockWebServer server, Service service) throws InterruptedException
299282 assertThat (request .getBody ().readUtf8 ()).isEqualTo ("[{\" name\" :\" John\" },{\" name\" :\" Richard\" }]" );
300283 }
301284
285+ @ ParameterizedAdapterTest
286+ void putWithCookies (MockWebServer server , Service service ) throws Exception {
287+ service .putWithCookies ("test1" , "test2" );
288+
289+ RecordedRequest request = server .takeRequest ();
290+ assertThat (request .getMethod ()).isEqualTo ("PUT" );
291+ assertThat (request .getHeader ("Cookie" )).isEqualTo ("firstCookie=test1; secondCookie=test2" );
292+ }
293+
294+ @ ParameterizedAdapterTest
295+ void putWithSameNameCookies (MockWebServer server , Service service ) throws Exception {
296+ service .putWithSameNameCookies ("test1" , "test2" );
297+
298+ RecordedRequest request = server .takeRequest ();
299+ assertThat (request .getMethod ()).isEqualTo ("PUT" );
300+ assertThat (request .getHeader ("Cookie" )).isEqualTo ("testCookie=test1; testCookie=test2" );
301+ }
302+
302303
303304 private static MockWebServer anotherServer () {
304305 MockWebServer server = new MockWebServer ();
@@ -323,6 +324,16 @@ private interface Service {
323324 @ GetExchange (url = "/greeting" , version = "1.2" )
324325 String getGreetingWithVersion ();
325326
327+ @ GetExchange ("/greeting" )
328+ ResponseEntity <String > getWithUriBuilderFactory (UriBuilderFactory uriBuilderFactory );
329+
330+ @ GetExchange ("/greeting/{id}" )
331+ ResponseEntity <String > getWithUriBuilderFactory (
332+ UriBuilderFactory uriBuilderFactory , @ PathVariable String id , @ RequestParam String param );
333+
334+ @ GetExchange ("/greeting" )
335+ ResponseEntity <String > getWithIgnoredUriBuilderFactory (URI uri , UriBuilderFactory uriBuilderFactory );
336+
326337 @ PostExchange ("/greeting" )
327338 void postWithHeader (@ RequestHeader ("testHeaderName" ) String testHeader , @ RequestBody String requestBody );
328339
@@ -342,30 +353,10 @@ private interface Service {
342353 void putWithSameNameCookies (
343354 @ CookieValue ("testCookie" ) String firstCookie , @ CookieValue ("testCookie" ) String secondCookie );
344355
345- @ GetExchange ("/greeting" )
346- ResponseEntity <String > getWithUriBuilderFactory (UriBuilderFactory uriBuilderFactory );
347-
348- @ GetExchange ("/greeting/{id}" )
349- ResponseEntity <String > getWithUriBuilderFactory (
350- UriBuilderFactory uriBuilderFactory , @ PathVariable String id , @ RequestParam String param );
351-
352- @ GetExchange ("/greeting" )
353- ResponseEntity <String > getWithIgnoredUriBuilderFactory (URI uri , UriBuilderFactory uriBuilderFactory );
354356 }
355357
356358
357- static final class Person {
358-
359- private final String name ;
360-
361- Person (String name ) {
362- this .name = name ;
363- }
364-
365- public String getName () {
366- return this .name ;
367- }
368-
359+ record Person (String name ) {
369360 }
370361
371362}
0 commit comments