1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.pgp;
12
13 import java.net.URL;
14
15 import org.mule.DefaultMuleEvent;
16 import org.mule.RequestContext;
17 import org.mule.tck.AbstractMuleTestCase;
18 import org.mule.tck.testmodels.fruit.Orange;
19 import org.mule.transformer.encryption.EncryptionTransformer;
20 import org.mule.transformer.simple.ByteArrayToObject;
21
22 public class KBEStrategyUsingEncryptionTransformerTestCase extends AbstractMuleTestCase
23 {
24 private KeyBasedEncryptionStrategy kbStrategy;
25
26 protected void doSetUp() throws Exception
27 {
28 PGPKeyRingImpl keyM = new PGPKeyRingImpl();
29 URL url;
30
31 url = Thread.currentThread().getContextClassLoader().getResource("./serverPublic.gpg");
32 keyM.setPublicKeyRingFileName(url.getFile());
33
34 url = Thread.currentThread().getContextClassLoader().getResource("./serverPrivate.gpg");
35 keyM.setSecretKeyRingFileName(url.getFile());
36
37 keyM.setSecretAliasId("0x6168F39C");
38 keyM.setSecretPassphrase("TestingPassphrase");
39 keyM.initialise();
40
41 kbStrategy = new KeyBasedEncryptionStrategy();
42 kbStrategy.setKeyManager(keyM);
43 kbStrategy.setCredentialsAccessor(new FakeCredentialAccessor());
44 kbStrategy.initialise();
45 }
46
47 protected void doTearDown() throws Exception
48 {
49 kbStrategy = null;
50 }
51
52 public void testEncrypt() throws Exception
53 {
54 String msg = "Test Message";
55
56 DefaultMuleEvent event = (DefaultMuleEvent)getTestEvent(msg, getTestService("orange", Orange.class));
57 RequestContext.setEvent(event);
58
59 EncryptionTransformer etrans = new EncryptionTransformer();
60 etrans.setStrategy(kbStrategy);
61 Object result = etrans.doTransform(msg.getBytes(), "UTF-8");
62
63 assertNotNull(result);
64 String encrypted = (String) new ByteArrayToObject().doTransform(result,"UTF-8");
65 assertTrue(encrypted.startsWith("-----BEGIN PGP MESSAGE-----"));
66 }
67 }