@Test
  public void transformMessageInvalidSenderIdNull() throws TransformerException {

    final MuleMessage muleMessageMock = mock(MuleMessage.class);

    transformer =
        new ValidateSenderIdTransformer() {
          protected X509CertificateEvaluator getX509CertificateEvaluator(String property) {
            X509CertificateEvaluator evaluator = mock(X509CertificateEvaluator.class);
            evaluator.setPropertyName("CN");
            when(evaluator.evaluate(X509CertificateEvaluator.EXPR_SENDERID, muleMessageMock))
                .thenReturn(null);
            return evaluator;
          };
        };

    transformer.setValidSenderIds("1234");

    try {
      transformer.transformMessage(muleMessageMock, null);
      fail();
    } catch (Exception e) {
      assertEquals(
          "Invalid senderId [null], allowed senderIds are: [1234]", e.getCause().getMessage());
    }
    verify(muleMessageMock, times(1)).setSessionProperty("Sender", "");
  }
  @Test
  public void transformMessage() throws TransformerException {

    final MuleMessage muleMessageMock = mock(MuleMessage.class);

    transformer =
        new ValidateSenderIdTransformer() {
          protected X509CertificateEvaluator getX509CertificateEvaluator(String property) {
            X509CertificateEvaluator evaluator = mock(X509CertificateEvaluator.class);
            evaluator.setPropertyName("CN");
            when(evaluator.evaluate(X509CertificateEvaluator.EXPR_SENDERID, muleMessageMock))
                .thenReturn("1234");
            return evaluator;
          };
        };

    transformer.setValidSenderIds("1234");

    transformer.transformMessage(muleMessageMock, null);

    verify(muleMessageMock, times(1)).setSessionProperty("Sender", "1234");
  }