Make Audit events MVC endpoint `after` parameter required

Closes gh-9002
This commit is contained in:
Vedran Pavic 2017-04-25 23:57:32 +02:00 committed by Stephane Nicoll
parent b426bba169
commit 720e801a76
2 changed files with 12 additions and 4 deletions

View File

@ -51,7 +51,7 @@ public class AuditEventsMvcEndpoint extends AbstractNamedMvcEndpoint {
@ResponseBody
public ResponseEntity<?> findByPrincipalAndAfterAndType(
@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) {
if (!isEnabled()) {
return DISABLED_RESPONSE;

View File

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