Update validation for NotNull items in IncomingMessagesList

This commit is contained in:
Chris Eager 2021-07-27 08:30:57 -05:00 committed by Jon Chambers
parent 3608c5bfb0
commit 13447df1e0
3 changed files with 23 additions and 6 deletions

View File

@ -4,21 +4,17 @@
*/
package org.whispersystems.textsecuregcm.entities;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
public class IncomingMessageList {
@JsonProperty
@NotNull
@Valid
@JsonInclude(Include.NON_NULL)
private List<IncomingMessage> messages;
private List<@NotNull IncomingMessage> messages;
@JsonProperty
private long timestamp;

View File

@ -247,6 +247,19 @@ class MessageControllerTest {
assertTrue(captor.getValue().hasSourceDevice());
}
@Test
void testNullMessageInList() throws Exception {
Response response =
resources.getJerseyTest()
.target(String.format("/v1/messages/%s", SINGLE_DEVICE_RECIPIENT))
.request()
.header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, AuthHelper.VALID_PASSWORD))
.put(Entity.entity(mapper.readValue(jsonFixture("fixtures/current_message_null_message_in_list.json"), IncomingMessageList.class),
MediaType.APPLICATION_JSON_TYPE));
assertThat("Bad request", response.getStatus(), is(equalTo(422)));
}
@Test
void testInternationalUnsealedSenderFromRateLimitedHost() throws Exception {
final String senderHost = "10.0.0.1";

View File

@ -0,0 +1,8 @@
{
"messages" : [ {
"type" : 1,
"destinationDeviceId" : 1,
"body" : "Zm9vYmFyego",
"timestamp" : 1234
}, null ]
}