@Override public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable t) { if (!isStarted()) { return FilterReply.NEUTRAL; } String value = MDC.get(MDCKey); if (this.value.equals(value)) { return onMatch; } return onMismatch; }
@Before public void setUp() { filter = new MDCFilter(); filter.setOnMatch("ACCEPT"); filter.setOnMismatch("DENY"); filter.setMDCKey(key); filter.setValue(value); MDC.clear(); }
@Test public void testNoMDCKeyOption() { filter.setMDCKey(null); filter.start(); assertFalse(filter.isStarted()); MDC.put(key, null); assertEquals(FilterReply.NEUTRAL, filter.decide(null, null, null, null, null, null)); MDC.put(key, value); assertEquals(FilterReply.NEUTRAL, filter.decide(null, null, null, null, null, null)); } }
@Test public void testNoValueOption() { filter.setValue(null); filter.start(); assertFalse(filter.isStarted()); MDC.put(key, null); assertEquals(FilterReply.NEUTRAL, filter.decide(null, null, null, null, null, null)); MDC.put(key, value); assertEquals(FilterReply.NEUTRAL, filter.decide(null, null, null, null, null, null)); }
@Test public void smoke() { filter.start(); MDC.put(key, "other" + diff); assertEquals(FilterReply.DENY, filter.decide(null, null, null, null, null, null)); MDC.put(key, null); assertEquals(FilterReply.DENY, filter.decide(null, null, null, null, null, null)); MDC.put(key, value); assertEquals(FilterReply.ACCEPT, filter.decide(null, null, null, null, null, null)); }