View Javadoc
1   /**
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2015, QOS.ch. All rights reserved.
4    *
5    * This program and the accompanying materials are dual-licensed under
6    * either the terms of the Eclipse Public License v1.0 as published by
7    * the Eclipse Foundation
8    *
9    *   or (per the licensee's choosing)
10   *
11   * under the terms of the GNU Lesser General Public License version 2.1
12   * as published by the Free Software Foundation.
13   */
14  package ch.qos.logback.core.net.ssl;
15  
16  import static org.junit.Assert.assertNotNull;
17  
18  import javax.net.ssl.KeyManagerFactory;
19  
20  import org.junit.Test;
21  
22  import ch.qos.logback.core.net.ssl.KeyManagerFactoryFactoryBean;
23  
24  /**
25   * Unit tests for {@link KeyManagerFactoryFactoryBean}.
26   *
27   * @author Carl Harris
28   */
29  public class KeyManagerFactoryFactoryBeanTest {
30  
31      private KeyManagerFactoryFactoryBean factoryBean = new KeyManagerFactoryFactoryBean();
32  
33      @Test
34      public void testDefaults() throws Exception {
35          assertNotNull(factoryBean.createKeyManagerFactory());
36      }
37  
38      @Test
39      public void testExplicitAlgorithm() throws Exception {
40          factoryBean.setAlgorithm(KeyManagerFactory.getDefaultAlgorithm());
41          assertNotNull(factoryBean.createKeyManagerFactory());
42      }
43  
44      @Test
45      public void testExplicitProvider() throws Exception {
46          KeyManagerFactory factory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
47          factoryBean.setProvider(factory.getProvider().getName());
48          assertNotNull(factoryBean.createKeyManagerFactory());
49      }
50  
51  }