@Test
 public void successfulExecutionWithAckExpression() throws Exception {
   String ackExpression = "some-expression";
   String expressionEvalutaionResult = "new payload";
   event.setMessage(spy(event.getMessage()));
   when(mockUntilSuccessfulConfiguration.getAckExpression()).thenReturn(ackExpression);
   when(mockUntilSuccessfulConfiguration
           .getMuleContext()
           .getExpressionManager()
           .evaluate(ackExpression, event))
       .thenReturn(expressionEvalutaionResult);
   SynchronousUntilSuccessfulProcessingStrategy processingStrategy = createProcessingStrategy();
   when(mockRoute.process(event)).thenReturn(event);
   assertThat(processingStrategy.route(event), is(event));
   verify(mockRoute).process(event);
   verify(mockUntilSuccessfulConfiguration.getMuleContext().getExpressionManager())
       .evaluate(ackExpression, event);
   verify(event.getMessage()).setPayload(expressionEvalutaionResult);
 }