Search in sources :

Example 1 with AuditEvent

use of org.springframework.boot.actuate.audit.AuditEvent in project spring-boot by spring-projects.

the class AuthorizationAuditListener method onAuthenticationCredentialsNotFoundEvent.

private void onAuthenticationCredentialsNotFoundEvent(AuthenticationCredentialsNotFoundEvent event) {
    Map<String, Object> data = new HashMap<>();
    data.put("type", event.getCredentialsNotFoundException().getClass().getName());
    data.put("message", event.getCredentialsNotFoundException().getMessage());
    publish(new AuditEvent("<unknown>", AuthenticationAuditListener.AUTHENTICATION_FAILURE, data));
}
Also used : HashMap(java.util.HashMap) AuditEvent(org.springframework.boot.actuate.audit.AuditEvent)

Example 2 with AuditEvent

use of org.springframework.boot.actuate.audit.AuditEvent in project uplace.es by Uplace.

the class CustomAuditEventRepositoryIntTest method addAuditEventWithAnonymousUser.

@Test
public void addAuditEventWithAnonymousUser() {
    Map<String, Object> data = new HashMap<>();
    data.put("test-key", "test-value");
    AuditEvent event = new AuditEvent(Constants.ANONYMOUS_USER, "test-type", data);
    customAuditEventRepository.add(event);
    List<PersistentAuditEvent> persistentAuditEvents = persistenceAuditEventRepository.findAll();
    assertThat(persistentAuditEvents).hasSize(0);
}
Also used : PersistentAuditEvent(com.arnaugarcia.uplace.domain.PersistentAuditEvent) HashMap(java.util.HashMap) AuditEvent(org.springframework.boot.actuate.audit.AuditEvent) PersistentAuditEvent(com.arnaugarcia.uplace.domain.PersistentAuditEvent) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 3 with AuditEvent

use of org.springframework.boot.actuate.audit.AuditEvent in project uplace.es by Uplace.

the class CustomAuditEventRepositoryIntTest method findByPrincipalAndType.

@Test
public void findByPrincipalAndType() {
    persistenceAuditEventRepository.save(testUserEvent);
    persistenceAuditEventRepository.save(testOldUserEvent);
    testOtherUserEvent.setAuditEventType(testUserEvent.getAuditEventType());
    persistenceAuditEventRepository.save(testOtherUserEvent);
    PersistentAuditEvent testUserOtherTypeEvent = new PersistentAuditEvent();
    testUserOtherTypeEvent.setPrincipal(testUserEvent.getPrincipal());
    testUserOtherTypeEvent.setAuditEventType("test-other-type");
    testUserOtherTypeEvent.setAuditEventDate(testUserEvent.getAuditEventDate());
    persistenceAuditEventRepository.save(testUserOtherTypeEvent);
    List<AuditEvent> events = customAuditEventRepository.find("test-user", Date.from(testUserEvent.getAuditEventDate().minusSeconds(3600)), "test-type");
    assertThat(events).hasSize(1);
    AuditEvent event = events.get(0);
    assertThat(event.getPrincipal()).isEqualTo(testUserEvent.getPrincipal());
    assertThat(event.getType()).isEqualTo(testUserEvent.getAuditEventType());
    assertThat(event.getData()).containsKey("test-key");
    assertThat(event.getData().get("test-key").toString()).isEqualTo("test-value");
    assertThat(event.getTimestamp()).isEqualTo(Date.from(testUserEvent.getAuditEventDate()));
}
Also used : PersistentAuditEvent(com.arnaugarcia.uplace.domain.PersistentAuditEvent) AuditEvent(org.springframework.boot.actuate.audit.AuditEvent) PersistentAuditEvent(com.arnaugarcia.uplace.domain.PersistentAuditEvent) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 4 with AuditEvent

use of org.springframework.boot.actuate.audit.AuditEvent in project uplace.es by Uplace.

the class CustomAuditEventRepositoryIntTest method testAddEventWithNullData.

@Test
public void testAddEventWithNullData() {
    Map<String, Object> data = new HashMap<>();
    data.put("test-key", null);
    AuditEvent event = new AuditEvent("test-user", "test-type", data);
    customAuditEventRepository.add(event);
    List<PersistentAuditEvent> persistentAuditEvents = persistenceAuditEventRepository.findAll();
    assertThat(persistentAuditEvents).hasSize(1);
    PersistentAuditEvent persistentAuditEvent = persistentAuditEvents.get(0);
    assertThat(persistentAuditEvent.getData().get("test-key")).isEqualTo("null");
}
Also used : PersistentAuditEvent(com.arnaugarcia.uplace.domain.PersistentAuditEvent) HashMap(java.util.HashMap) AuditEvent(org.springframework.boot.actuate.audit.AuditEvent) PersistentAuditEvent(com.arnaugarcia.uplace.domain.PersistentAuditEvent) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 5 with AuditEvent

use of org.springframework.boot.actuate.audit.AuditEvent in project uplace.es by Uplace.

the class CustomAuditEventRepositoryIntTest method testAddEventWithWebAuthenticationDetails.

@Test
public void testAddEventWithWebAuthenticationDetails() {
    HttpSession session = new MockHttpSession(null, "test-session-id");
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setSession(session);
    request.setRemoteAddr("1.2.3.4");
    WebAuthenticationDetails details = new WebAuthenticationDetails(request);
    Map<String, Object> data = new HashMap<>();
    data.put("test-key", details);
    AuditEvent event = new AuditEvent("test-user", "test-type", data);
    customAuditEventRepository.add(event);
    List<PersistentAuditEvent> persistentAuditEvents = persistenceAuditEventRepository.findAll();
    assertThat(persistentAuditEvents).hasSize(1);
    PersistentAuditEvent persistentAuditEvent = persistentAuditEvents.get(0);
    assertThat(persistentAuditEvent.getData().get("remoteAddress")).isEqualTo("1.2.3.4");
    assertThat(persistentAuditEvent.getData().get("sessionId")).isEqualTo("test-session-id");
}
Also used : PersistentAuditEvent(com.arnaugarcia.uplace.domain.PersistentAuditEvent) HashMap(java.util.HashMap) HttpSession(javax.servlet.http.HttpSession) MockHttpSession(org.springframework.mock.web.MockHttpSession) MockHttpServletRequest(org.springframework.mock.web.MockHttpServletRequest) WebAuthenticationDetails(org.springframework.security.web.authentication.WebAuthenticationDetails) MockHttpSession(org.springframework.mock.web.MockHttpSession) AuditEvent(org.springframework.boot.actuate.audit.AuditEvent) PersistentAuditEvent(com.arnaugarcia.uplace.domain.PersistentAuditEvent) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

AuditEvent (org.springframework.boot.actuate.audit.AuditEvent)19 HashMap (java.util.HashMap)12 Test (org.junit.Test)10 PersistentAuditEvent (com.arnaugarcia.uplace.domain.PersistentAuditEvent)9 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)9 ReflectiveMethodInvocation (org.springframework.aop.framework.ReflectiveMethodInvocation)2 HttpHeaders (org.springframework.http.HttpHeaders)2 ResponseEntity (org.springframework.http.ResponseEntity)2 FilterInvocation (org.springframework.security.web.FilterInvocation)2 WebAuthenticationDetails (org.springframework.security.web.authentication.WebAuthenticationDetails)2 HttpSession (javax.servlet.http.HttpSession)1 AuditEventRepository (org.springframework.boot.actuate.audit.AuditEventRepository)1 EventListener (org.springframework.context.event.EventListener)1 MockHttpServletRequest (org.springframework.mock.web.MockHttpServletRequest)1 MockHttpSession (org.springframework.mock.web.MockHttpSession)1