View Javadoc

1   // Copyright (C) 2004, 2005 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.util;
23  
24  import javax.net.ssl.KeyManager;
25  import javax.net.ssl.SSLContext;
26  
27  import junit.framework.TestCase;
28  
29  
30  /**
31   * Unit test for {@link InsecureSSLContextFactory}.
32   *
33   * @author Philip Aston
34   */
35  public class TestInsecureSSLContextFactory extends TestCase {
36  
37    public TestInsecureSSLContextFactory(String name) {
38      super(name);
39    }
40  
41    public void testWithDefaultKeyManager() throws Exception {
42      final InsecureSSLContextFactory sslContextFactory =
43        new InsecureSSLContextFactory();
44  
45      final SSLContext context = sslContextFactory.getSSLContext();
46      assertNotNull(context);
47  
48      final SSLContext context2 = sslContextFactory.getSSLContext();
49  
50      assertNotNull(context2);
51      assertTrue(context != context2);
52  
53      // Not a lot more we can test.
54    }
55  
56    private static final class MyKeyManager implements KeyManager {
57    }
58  
59    public void testWithMyKeyManagers() throws Exception {
60      final KeyManager[] keyManagers = {
61        new MyKeyManager(),
62        new MyKeyManager(),
63      };
64  
65      final InsecureSSLContextFactory sslContextFactory =
66        new InsecureSSLContextFactory(keyManagers);
67  
68      final SSLContext context = sslContextFactory.getSSLContext();
69      assertNotNull(context);
70  
71      final SSLContext context2 = sslContextFactory.getSSLContext();
72  
73      assertNotNull(context2);
74      assertTrue(context != context2);
75    }
76  }