package com.muleinaction.security; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertThat; import java.util.HashMap; import java.util.Map; import org.junit.Test; import org.mule.api.ExceptionPayload; import org.mule.api.MuleMessage; import org.mule.api.client.MuleClient; import org.mule.tck.junit4.FunctionalTestCase; import org.mule.util.FileUtils; import org.springframework.util.ResourceUtils; public class PgpBasedEncryptionTestCase extends FunctionalTestCase { @Override protected String getConfigResources() { return "pgp-based-decryption.xml"; } @Test public void testEndpointAuthenticated() throws Exception { MuleClient client = muleContext.getClient(); String decryptedMessage = FileUtils.readFileToString(ResourceUtils.getFile(this.getClass().getResource("/test.txt"))); String encryptedMessage = FileUtils.readFileToString(ResourceUtils.getFile(this.getClass().getResource("/test.txt.asc"))); Map<String, Object> messageProperties = new HashMap<String, Object>(); messageProperties.put("MULE_USER","Mule in Action <john.demic@gmail.com>"); client.dispatch("jms:/messages.in", encryptedMessage, messageProperties); MuleMessage result = client.request("jms:/messages.out", 15000); assertThat(result, is(notNullValue())); assertThat(result.getPayload(), is(not(instanceOf(ExceptionPayload.class)))); assertThat(result.getPayloadAsString(), equalTo(decryptedMessage)); } }