@Test
  public void testChangeLevel() {
    LoggingHandler loggingHandler = new LoggingHandler(Level.INFO);
    loggingHandler.setBeanFactory(mock(BeanFactory.class));
    loggingHandler.afterPropertiesSet();

    DirectFieldAccessor accessor = new DirectFieldAccessor(loggingHandler);
    Log log = (Log) accessor.getPropertyValue("messageLogger");
    log = spy(log);
    accessor.setPropertyValue("messageLogger", log);
    when(log.isInfoEnabled()).thenReturn(true);
    loggingHandler.handleMessage(new GenericMessage<>("foo"));
    verify(log, times(1)).info(Mockito.anyString());
    verify(log, never()).warn(Mockito.anyString());

    loggingHandler.setLevel(Level.WARN);
    loggingHandler.handleMessage(new GenericMessage<>("foo"));
    verify(log, times(1)).info(Mockito.anyString());
    verify(log, times(1)).warn(Mockito.anyString());
  }