KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > transports > https > SSLSocketFactoryWrapperTest


1 package org.objectweb.celtix.bus.transports.https;
2
3 import java.net.InetAddress JavaDoc;
4 import java.net.Socket JavaDoc;
5 import java.net.URL JavaDoc;
6 import java.util.Properties JavaDoc;
7
8 import javax.net.ssl.SSLSocket;
9 import javax.net.ssl.SSLSocketFactory;
10
11 import junit.extensions.TestSetup;
12 import junit.framework.Test;
13 import junit.framework.TestCase;
14 import junit.framework.TestSuite;
15
16 import org.easymock.classextension.EasyMock;
17 import org.objectweb.celtix.Bus;
18 import org.objectweb.celtix.BusException;
19
20 public class SSLSocketFactoryWrapperTest extends TestCase {
21
22     
23     private static final String JavaDoc DROP_BACK_SRC_DIR =
24         "../../../../../../../../src/test/java/org/objectweb/celtix/bus/transports/https/";
25
26     Bus bus;
27     
28     private SSLSocketFactory sslSocketFactory;
29     private SSLSocket mockSocket;
30
31     
32
33
34     public SSLSocketFactoryWrapperTest(String JavaDoc arg0) {
35         super(arg0);
36     }
37
38     public static Test suite() throws Exception JavaDoc {
39         TestSuite suite = new TestSuite(SSLSocketFactoryWrapperTest.class);
40         return new TestSetup(suite) {
41             protected void tearDown() throws Exception JavaDoc {
42                 super.tearDown();
43             }
44         };
45     }
46
47
48     public static void main(String JavaDoc[] args) {
49         junit.textui.TestRunner.run(SSLSocketFactoryWrapperTest.class);
50     }
51
52     public void setUp() throws BusException {
53         bus = EasyMock.createMock(Bus.class);
54         sslSocketFactory = EasyMock.createMock(SSLSocketFactory.class);
55         mockSocket = EasyMock.createMock(SSLSocket.class);
56         
57     }
58
59     public void tearDown() throws Exception JavaDoc {
60         EasyMock.reset(bus);
61         EasyMock.reset(sslSocketFactory);
62         EasyMock.reset(mockSocket);
63         Properties JavaDoc props = System.getProperties();
64         props.remove("javax.net.ssl.trustStore");
65         props.remove("javax.net.ssl.keyStore");
66         props.remove("javax.net.ssl.keyPassword");
67         props.remove("javax.net.ssl.keyStorePassword");
68     }
69     
70     public void testConstructor1() {
71         TestHandler handler = new TestHandler();
72    
73         try {
74             String JavaDoc[] ciphs = new String JavaDoc[]{"a", "b", "c"};
75             SSLSocketFactoryWrapper sslSocketFactoryWrapper =
76                 createSSLSocketFactoryWrapper(ciphs,
77                                               handler);
78             EasyMock.expect(sslSocketFactory.createSocket((String JavaDoc)EasyMock.anyObject(),
79                                                           EasyMock.anyInt())).andReturn(mockSocket);
80             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(ciphs);
81             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(ciphs);
82             EasyMock.replay(sslSocketFactory);
83             SSLSocket socket =
84                 (SSLSocket)sslSocketFactoryWrapper.createSocket("localhost", 9001);
85             assertTrue("Expected socket != null", socket != null);
86             String JavaDoc[] defCiphers = sslSocketFactoryWrapper.getDefaultCipherSuites();
87             assertTrue("Default Cipher suite not as expected", defCiphers[1].equals("b"));
88             String JavaDoc[] suppCiphers = sslSocketFactoryWrapper.getSupportedCipherSuites();
89             assertTrue("Supported Cipher suite not as expected", suppCiphers[1].equals("b"));
90             
91             EasyMock.reset(sslSocketFactory);
92             EasyMock.reset(mockSocket);
93             EasyMock.expect(sslSocketFactory.createSocket((String JavaDoc)EasyMock.anyObject(),
94                                                           EasyMock.anyInt())).andReturn(null);
95             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(null);
96             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(null);
97             EasyMock.replay(sslSocketFactory);
98             socket =
99                 (SSLSocket)sslSocketFactoryWrapper.createSocket("localhost", 9001);
100             assertTrue("Expected socket == null", socket == null);
101             
102             
103         } catch (Exception JavaDoc e) {
104             assertTrue("Caught an unexpected exception e = " + e, false);
105         }
106     }
107     
108     public void testConstructor2() {
109         TestHandler handler = new TestHandler();
110
111         try {
112             String JavaDoc[] ciphs = new String JavaDoc[]{};
113             SSLSocketFactoryWrapper sslSocketFactoryWrapper =
114                 createSSLSocketFactoryWrapper(ciphs,
115                                               handler);
116             EasyMock.expect(sslSocketFactory.createSocket((Socket JavaDoc)EasyMock.anyObject(),
117                                                           (String JavaDoc)EasyMock.anyObject(),
118                                                           EasyMock.anyInt(),
119                                                           EasyMock.anyBoolean())).andReturn(mockSocket);
120             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(ciphs);
121             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(ciphs);
122             EasyMock.replay(sslSocketFactory);
123             Socket JavaDoc socket =
124                 sslSocketFactoryWrapper.createSocket(null, "localhost", 9001, true);
125             assertTrue("Expected socket != null", socket != null);
126             
127             EasyMock.reset(sslSocketFactory);
128             EasyMock.reset(mockSocket);
129             EasyMock.expect(sslSocketFactory.createSocket((Socket JavaDoc)EasyMock.anyObject(),
130                                                           (String JavaDoc)EasyMock.anyObject(),
131                                                           EasyMock.anyInt(),
132                                                           EasyMock.anyBoolean())).andReturn(null);
133             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(null);
134             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(null);
135             EasyMock.replay(sslSocketFactory);
136             socket =
137                 sslSocketFactoryWrapper.createSocket(null, "localhost", 9001, true);
138             assertTrue("Expected socket == null", socket == null);
139         } catch (Exception JavaDoc e) {
140             assertTrue("Caught an unexpected exception e = " + e, false);
141         }
142     }
143     
144     public void testConstructor3() {
145         TestHandler handler = new TestHandler();
146         try {
147             String JavaDoc[] ciphs = new String JavaDoc[]{"a", "b", "c"};
148             SSLSocketFactoryWrapper sslSocketFactoryWrapper =
149                 createSSLSocketFactoryWrapper(ciphs,
150                                               handler);
151             EasyMock.expect(sslSocketFactory.createSocket((String JavaDoc)EasyMock.anyObject(),
152                                                           EasyMock.anyInt(),
153                                                           (InetAddress JavaDoc)EasyMock.anyObject(),
154                                                           EasyMock.anyInt())).andReturn(mockSocket);
155             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(ciphs);
156             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(ciphs);
157             EasyMock.replay(sslSocketFactory);
158             Socket JavaDoc socket =
159                 sslSocketFactoryWrapper.createSocket("localhost", 9001, null, 9001);
160             assertTrue("Expected socket != null", socket != null);
161             
162             EasyMock.reset(sslSocketFactory);
163             EasyMock.reset(mockSocket);
164             EasyMock.expect(sslSocketFactory.createSocket((String JavaDoc)EasyMock.anyObject(),
165                                                           EasyMock.anyInt(),
166                                                           (InetAddress JavaDoc)EasyMock.anyObject(),
167                                                           EasyMock.anyInt())).andReturn(null);
168             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(null);
169             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(null);
170             EasyMock.replay(sslSocketFactory);
171             socket =
172                 sslSocketFactoryWrapper.createSocket("localhost", 9001, null, 9001);
173             assertTrue("Expected socket == null", socket == null);
174             
175         } catch (Exception JavaDoc e) {
176             assertTrue("Caught an unexpected exception e = " + e, false);
177         }
178     }
179     
180     
181     public void testConstructor4() {
182         TestHandler handler = new TestHandler();
183
184         try {
185             String JavaDoc[] ciphs = new String JavaDoc[]{"a", "b", "c"};
186             SSLSocketFactoryWrapper sslSocketFactoryWrapper =
187                 createSSLSocketFactoryWrapper(ciphs,
188                                               handler);
189             EasyMock.expect(sslSocketFactory.createSocket((InetAddress JavaDoc)EasyMock.anyObject(),
190                                                           EasyMock.anyInt())).andReturn(mockSocket);
191             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(ciphs);
192             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(ciphs);
193             EasyMock.replay(sslSocketFactory);
194             InetAddress JavaDoc addr = InetAddress.getLocalHost();
195             Socket JavaDoc socket =
196                 sslSocketFactoryWrapper.createSocket(addr, 9001);
197             assertTrue("Expected socket != null", socket != null);
198             
199             EasyMock.reset(sslSocketFactory);
200             EasyMock.reset(mockSocket);
201             EasyMock.expect(sslSocketFactory.createSocket((InetAddress JavaDoc)EasyMock.anyObject(),
202                                                           EasyMock.anyInt())).andReturn(null);
203             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(null);
204             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(null);
205             EasyMock.replay(sslSocketFactory);
206             
207             socket =
208                 sslSocketFactoryWrapper.createSocket(addr, 9001);
209             assertTrue("Expected socket == null", socket == null);
210             
211         } catch (Exception JavaDoc e) {
212             assertTrue("Caught an unexpected exception e = " + e, false);
213         }
214     }
215     
216     public void testConstructor5() {
217         TestHandler handler = new TestHandler();
218
219         try {
220             String JavaDoc[] ciphs = new String JavaDoc[]{"a", "b", "c"};
221             SSLSocketFactoryWrapper sslSocketFactoryWrapper =
222                 createSSLSocketFactoryWrapper(ciphs,
223                                               handler);
224             EasyMock.expect(sslSocketFactory.createSocket((InetAddress JavaDoc)EasyMock.anyObject(),
225                                                           EasyMock.anyInt(),
226                                                           (InetAddress JavaDoc)EasyMock.anyObject(),
227                                                           EasyMock.anyInt())).andReturn(mockSocket);
228             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(ciphs);
229             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(ciphs);
230             EasyMock.replay(sslSocketFactory);
231             InetAddress JavaDoc addr = InetAddress.getLocalHost();
232             Socket JavaDoc socket =
233                 sslSocketFactoryWrapper.createSocket(addr, 9001, addr, 9001);
234             assertTrue("Expected socket != null", socket != null);
235             
236         } catch (Exception JavaDoc e) {
237             assertTrue("Caught an unexpected exception e = " + e, false);
238         }
239     }
240     
241     public void testConstructor6() {
242         TestHandler handler = new TestHandler();
243
244         try {
245             String JavaDoc[] ciphs = null;
246             SSLSocketFactoryWrapper sslSocketFactoryWrapper =
247                 createSSLSocketFactoryWrapper(ciphs,
248                                               handler);
249             EasyMock.expect(sslSocketFactory.createSocket((InetAddress JavaDoc)EasyMock.anyObject(),
250                                                           EasyMock.anyInt(),
251                                                           (InetAddress JavaDoc)EasyMock.anyObject(),
252                                                           EasyMock.anyInt())).andReturn(mockSocket);
253             EasyMock.expect(sslSocketFactory.getDefaultCipherSuites()).andReturn(ciphs);
254             EasyMock.expect(sslSocketFactory.getSupportedCipherSuites()).andReturn(ciphs);
255             EasyMock.replay(sslSocketFactory);
256             InetAddress JavaDoc addr = InetAddress.getLocalHost();
257             Socket JavaDoc socket =
258                 sslSocketFactoryWrapper.createSocket(addr, 9001, addr, 9001);
259             assertTrue("Expected socket != null", socket != null);
260             
261         } catch (Exception JavaDoc e) {
262             assertTrue("Caught an unexpected exception e = " + e, false);
263         }
264     }
265     
266     
267     
268     private SSLSocketFactoryWrapper createSSLSocketFactoryWrapper(
269                                              String JavaDoc[] cipherSuite,
270                                              TestHandler handler) {
271         try {
272             
273             SSLSocketFactoryWrapper sslSocketFactoryWrapper =
274                 new SSLSocketFactoryWrapper(sslSocketFactory,
275                                             cipherSuite);
276             
277             sslSocketFactoryWrapper.addLogHandler(handler);
278             return sslSocketFactoryWrapper;
279             
280         } catch (Exception JavaDoc e) {
281             e.printStackTrace();
282         }
283         return null;
284     }
285     
286     protected static String JavaDoc getPath(String JavaDoc fileName) {
287         URL JavaDoc keystoreURL = SSLSocketFactoryWrapperTest.class.getResource(".");
288         String JavaDoc str = keystoreURL.getFile();
289         str += DROP_BACK_SRC_DIR + fileName;
290         return str;
291     }
292 }
293
294
295
Popular Tags