Handle null Principal in AuditEvent

See gh-11320
This commit is contained in:
nklmish 2017-12-12 00:41:45 +01:00 committed by Stephane Nicoll
parent 37437a0fe2
commit 6b6a01a7e7
2 changed files with 6 additions and 6 deletions

View File

@ -41,6 +41,7 @@ import org.springframework.util.Assert;
* (wrappers for AuditEvent).
*
* @author Dave Syer
* @author Nakul Mishra
* @see AuditEventRepository
*/
@JsonInclude(Include.NON_EMPTY)
@ -85,10 +86,9 @@ public class AuditEvent implements Serializable {
public AuditEvent(Date timestamp, String principal, String type,
Map<String, Object> data) {
Assert.notNull(timestamp, "Timestamp must not be null");
Assert.notNull(principal, "Principal must not be null");
Assert.notNull(type, "Type must not be null");
this.timestamp = timestamp;
this.principal = principal;
this.principal = principal != null ? principal : "";
this.type = type;
this.data = Collections.unmodifiableMap(data);
}

View File

@ -32,6 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat;
*
* @author Dave Syer
* @author Vedran Pavic
* @author Nakul Mishra
*/
public class AuditEventTests {
@ -64,10 +65,9 @@ public class AuditEventTests {
}
@Test
public void nullPrincipal() throws Exception {
this.thrown.expect(IllegalArgumentException.class);
this.thrown.expectMessage("Principal must not be null");
new AuditEvent(null, "UNKNOWN", Collections.singletonMap("a", (Object) "b"));
public void nullPrincipal() {
AuditEvent auditEvent = new AuditEvent(null, "UNKNOWN", Collections.singletonMap("a", (Object) "b"));
assertThat(auditEvent.getPrincipal()).isEmpty();
}
@Test