### Question:
AuthenticationResponse extends SecurityResponse { public static AuthenticationResponse abstain() { return builder().status(SecurityStatus.ABSTAIN).build(); } AuthenticationResponse(Builder builder); static Builder builder(); static AuthenticationResponse failed(String message, Throwable cause); static AuthenticationResponse failed(String message); static AuthenticationResponse abstain(); static AuthenticationResponse success(Subject subject); static AuthenticationResponse success(Subject user, Subject service); static AuthenticationResponse successService(Subject service); static AuthenticationResponse success(Principal principal); static AuthenticationResponse successService(Principal principal); Optional<Subject> user(); Optional<Subject> service(); @Override String toString();  }### Answer:
@Test public void testAbstain() { AuthenticationResponse response = AuthenticationResponse.abstain(); response.statusCode().ifPresent(it -> fail("Status code should not be present: " + it)); assertThat(response.status(), is(SecurityResponse.SecurityStatus.ABSTAIN)); assertThat(response.user(), is(Optional.empty())); assertThat(response.service(), is(Optional.empty())); response.description().ifPresent(it -> fail("Description should not be filled")); }