1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.soap.security.wss4j.support;
18
19 import java.util.Properties;
20
21 import org.springframework.core.io.ClassPathResource;
22 import org.springframework.util.ClassUtils;
23
24 import org.apache.ws.security.components.crypto.Merlin;
25 import org.junit.Assert;
26 import org.junit.Before;
27 import org.junit.Test;
28
29 public class CryptoFactoryBeanTest {
30
31 private CryptoFactoryBean factoryBean;
32
33 @Before
34 public void setUp() throws Exception {
35 factoryBean = new CryptoFactoryBean();
36 }
37
38 @Test
39 public void testSetConfiguration() throws Exception {
40 Properties configuration = new Properties();
41 configuration.setProperty("org.apache.ws.security.crypto.provider",
42 "org.apache.ws.security.components.crypto.Merlin");
43 configuration.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jceks");
44 configuration.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "123456");
45 configuration.setProperty("org.apache.ws.security.crypto.merlin.file", "private.jks");
46
47 factoryBean.setConfiguration(configuration);
48 factoryBean.setBeanClassLoader(ClassUtils.getDefaultClassLoader());
49 factoryBean.afterPropertiesSet();
50
51 Object result = factoryBean.getObject();
52 Assert.assertNotNull("No result", result);
53 Assert.assertTrue("Not a Merlin instance", result instanceof Merlin);
54 }
55
56 @Test
57 public void testProperties() throws Exception {
58 factoryBean.setKeyStoreType("jceks");
59 factoryBean.setKeyStorePassword("123456");
60 factoryBean.setKeyStoreLocation(new ClassPathResource("private.jks"));
61 factoryBean.setBeanClassLoader(ClassUtils.getDefaultClassLoader());
62 factoryBean.afterPropertiesSet();
63 Object result = factoryBean.getObject();
64 Assert.assertNotNull("No result", result);
65 Assert.assertTrue("Not a Merlin instance", result instanceof Merlin);
66 }
67 }