Browse Source

Merge pull request #9002 from vpavic:gh-8560

* pr/9002:
  Make Audit events MVC endpoint `after` parameter required
pull/8971/merge
Stephane Nicoll 9 years ago
parent
commit
605ea487c0
  1. 2
      spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/AuditEventsMvcEndpoint.java
  2. 14
      spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/mvc/AuditEventsMvcEndpointTests.java

2
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/AuditEventsMvcEndpoint.java

@ -51,7 +51,7 @@ public class AuditEventsMvcEndpoint extends AbstractNamedMvcEndpoint {
@ResponseBody @ResponseBody
public ResponseEntity<?> findByPrincipalAndAfterAndType( public ResponseEntity<?> findByPrincipalAndAfterAndType(
@RequestParam(required = false) String principal, @RequestParam(required = false) String principal,
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ") Date after, @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ") Date after,
@RequestParam(required = false) String type) { @RequestParam(required = false) String type) {
if (!isEnabled()) { if (!isEnabled()) {
return DISABLED_RESPONSE; return DISABLED_RESPONSE;

14
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/mvc/AuditEventsMvcEndpointTests.java

@ -74,15 +74,17 @@ public class AuditEventsMvcEndpointTests {
@Test @Test
public void contentTypeDefaultsToActuatorV2Json() throws Exception { public void contentTypeDefaultsToActuatorV2Json() throws Exception {
this.mvc.perform(get("/application/auditevents")).andExpect(status().isOk()) this.mvc.perform(get("/application/auditevents").param("after", "2016-11-01T10:00:00+0000"))
.andExpect(status().isOk())
.andExpect(header().string("Content-Type", .andExpect(header().string("Content-Type",
"application/vnd.spring-boot.actuator.v2+json;charset=UTF-8")); "application/vnd.spring-boot.actuator.v2+json;charset=UTF-8"));
} }
@Test @Test
public void contentTypeCanBeApplicationJson() throws Exception { public void contentTypeCanBeApplicationJson() throws Exception {
this.mvc.perform(get("/application/auditevents").header(HttpHeaders.ACCEPT, this.mvc.perform(get("/application/auditevents").param("after", "2016-11-01T10:00:00+0000")
MediaType.APPLICATION_JSON_VALUE)).andExpect(status().isOk()) .header(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE))
.andExpect(status().isOk())
.andExpect(header().string("Content-Type", .andExpect(header().string("Content-Type",
MediaType.APPLICATION_JSON_UTF8_VALUE)); MediaType.APPLICATION_JSON_UTF8_VALUE));
} }
@ -121,6 +123,12 @@ public class AuditEventsMvcEndpointTests {
.andExpect(content().string(not(containsString("login")))); .andExpect(content().string(not(containsString("login"))));
} }
@Test
public void invokeFilterWithoutDateAfterReturnBadRequestStatus() throws Exception {
this.mvc.perform(get("/application/auditevents"))
.andExpect(status().isBadRequest());
}
@Import({ JacksonAutoConfiguration.class, @Import({ JacksonAutoConfiguration.class,
HttpMessageConvertersAutoConfiguration.class, HttpMessageConvertersAutoConfiguration.class,
EndpointWebMvcAutoConfiguration.class, WebMvcAutoConfiguration.class }) EndpointWebMvcAutoConfiguration.class, WebMvcAutoConfiguration.class })

Loading…
Cancel
Save