/** {@inheritDoc} */ @Override public FilterReply decide(IAccessEvent event) { String filterReply = event.getRequestHeader(headerName); return Stream.of(FilterReply.values()) .filter(value -> value.name().equalsIgnoreCase(filterReply)) .findFirst() .orElse(FilterReply.NEUTRAL); }
/** * Tests a denied Logback-access event. */ @Test public void deniedLogbackAccessEvent() { RequestEntity<Void> request = RequestEntity .get(rest.getRestTemplate().getUriTemplateHandler().expand("/test/text")) .header("X-Filter-Reply", FilterReply.DENY.name()) .build(); ResponseEntity<String> response = rest.exchange(request, String.class); LogbackAccessEventQueuingListener.deniedEventQueue.pop(); assertThat(response).hasStatusCode(HttpStatus.OK); }
/** * Tests an neutral Logback-access event. */ @Test public void neutralLogbackAccessEvent() { RequestEntity<Void> request = RequestEntity .get(rest.getRestTemplate().getUriTemplateHandler().expand("/test/text")) .header("X-Filter-Reply", FilterReply.NEUTRAL.name()) .build(); ResponseEntity<String> response = rest.exchange(request, String.class); LogbackAccessEventQueuingAppender.appendedEventQueue.pop(); LogbackAccessEventQueuingListener.appendedEventQueue.pop(); assertThat(response).hasStatusCode(HttpStatus.OK); }
/** * Tests an accepted Logback-access event. */ @Test public void acceptedLogbackAccessEvent() { RequestEntity<Void> request = RequestEntity .get(rest.getRestTemplate().getUriTemplateHandler().expand("/test/text")) .header("X-Filter-Reply", FilterReply.ACCEPT.name()) .build(); ResponseEntity<String> response = rest.exchange(request, String.class); LogbackAccessEventQueuingAppender.appendedEventQueue.pop(); LogbackAccessEventQueuingListener.appendedEventQueue.pop(); assertThat(response).hasStatusCode(HttpStatus.OK); }