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

View File

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