Skip to content

Commit c83647a

Browse files
committed
Properly test fix UUID support in Reactive REST Client multipart support
Relates to: #31298
1 parent 1b8fc61 commit c83647a

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

integration-tests/rest-client-reactive-multipart/src/main/java/io/quarkus/it/rest/client/multipart/MultipartClient.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.quarkus.it.rest.client.multipart;
22

33
import java.io.File;
4+
import java.util.UUID;
45

56
import jakarta.ws.rs.Consumes;
67
import jakarta.ws.rs.FormParam;
@@ -179,6 +180,10 @@ class FileWithPojo {
179180
@PartType(MediaType.APPLICATION_JSON)
180181
private Pojo pojo;
181182

183+
@FormParam("uuid")
184+
@PartType(MediaType.TEXT_PLAIN)
185+
private UUID uuid;
186+
182187
public String getFileName() {
183188
return fileName;
184189
}
@@ -194,6 +199,14 @@ public Pojo getPojo() {
194199
public void setPojo(Pojo pojo) {
195200
this.pojo = pojo;
196201
}
202+
203+
public UUID getUuid() {
204+
return uuid;
205+
}
206+
207+
public void setUuid(UUID uuid) {
208+
this.uuid = uuid;
209+
}
197210
}
198211

199212
class Pojo {

integration-tests/rest-client-reactive-multipart/src/main/java/io/quarkus/it/rest/client/multipart/MultipartResource.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.nio.file.Files;
1111
import java.util.ArrayList;
1212
import java.util.List;
13+
import java.util.UUID;
1314

1415
import jakarta.ws.rs.Consumes;
1516
import jakarta.ws.rs.DefaultValue;
@@ -74,6 +75,7 @@ public String sendByteArrayWithPojo(@RestQuery @DefaultValue("true") Boolean wit
7475
FileWithPojo data = new FileWithPojo();
7576
data.file = HELLO_WORLD.getBytes(UTF_8);
7677
data.setFileName(GREETING_TXT);
78+
data.setUuid(UUID.randomUUID());
7779
if (withPojo) {
7880
Pojo pojo = new Pojo();
7981
pojo.setName("some-name");
@@ -398,11 +400,12 @@ public String consumeText(@MultipartForm MultipartBodyWithTextFile2 body) {
398400
@Path("/echo/with-pojo")
399401
@Consumes(MediaType.MULTIPART_FORM_DATA)
400402
public String consumeBinaryWithPojo(@MultipartForm MultipartBodyWithBinaryFileAndPojo fileWithPojo) {
401-
return String.format("fileOk:%s,nameOk:%s,pojoOk:%s",
403+
return String.format("fileOk:%s,nameOk:%s,pojoOk:%s,uuidNull:%s",
402404
containsHelloWorld(fileWithPojo.file),
403405
GREETING_TXT.equals(fileWithPojo.fileName),
404406
fileWithPojo.pojo == null ? "null"
405-
: "some-name".equals(fileWithPojo.pojo.getName()) && "some-value".equals(fileWithPojo.pojo.getValue()));
407+
: "some-name".equals(fileWithPojo.pojo.getName()) && "some-value".equals(fileWithPojo.pojo.getValue()),
408+
fileWithPojo.uuid == null);
406409
}
407410

408411
@GET
@@ -494,6 +497,10 @@ public static class MultipartBodyWithBinaryFileAndPojo {
494497
@FormParam("pojo")
495498
@PartType(MediaType.APPLICATION_JSON)
496499
public Pojo pojo;
500+
501+
@FormParam("uuid")
502+
@PartType(MediaType.TEXT_PLAIN)
503+
public String uuid;
497504
}
498505

499506
}

integration-tests/rest-client-reactive-multipart/src/test/java/io/quarkus/it/rest/client/multipart/MultipartResourceTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -270,13 +270,13 @@ public void shouldSendByteArrayAndPojo() {
270270
.when().get("/client/byte-array-as-binary-file-with-pojo")
271271
.then()
272272
.statusCode(200)
273-
.body(equalTo("fileOk:true,nameOk:true,pojoOk:true"));
273+
.body(equalTo("fileOk:true,nameOk:true,pojoOk:true,uuidNull:false"));
274274
given()
275275
.header("Content-Type", "text/plain")
276276
.when().get("/client/params/byte-array-as-binary-file-with-pojo")
277277
.then()
278278
.statusCode(200)
279-
.body(equalTo("fileOk:true,nameOk:true,pojoOk:true"));
279+
.body(equalTo("fileOk:true,nameOk:true,pojoOk:true,uuidNull:true"));
280280
// @formatter:on
281281
}
282282

@@ -289,14 +289,14 @@ public void shouldSendByteArrayAndPojoWithNullPojo() {
289289
.when().get("/client/byte-array-as-binary-file-with-pojo")
290290
.then()
291291
.statusCode(200)
292-
.body(equalTo("fileOk:true,nameOk:true,pojoOk:null"));
292+
.body(equalTo("fileOk:true,nameOk:true,pojoOk:null,uuidNull:false"));
293293
given()
294294
.queryParam("withPojo", "false")
295295
.header("Content-Type", "text/plain")
296296
.when().get("/client/params/byte-array-as-binary-file-with-pojo")
297297
.then()
298298
.statusCode(200)
299-
.body(equalTo("fileOk:true,nameOk:true,pojoOk:null"));
299+
.body(equalTo("fileOk:true,nameOk:true,pojoOk:null,uuidNull:true"));
300300
// @formatter:on
301301
}
302302

0 commit comments

Comments
 (0)