Home | History | Annotate | Download | only in ssl
      1 /*
      2  *  Licensed to the Apache Software Foundation (ASF) under one or more
      3  *  contributor license agreements.  See the NOTICE file distributed with
      4  *  this work for additional information regarding copyright ownership.
      5  *  The ASF licenses this file to You under the Apache License, Version 2.0
      6  *  (the "License"); you may not use this file except in compliance with
      7  *  the License.  You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  *  Unless required by applicable law or agreed to in writing, software
     12  *  distributed under the License is distributed on an "AS IS" BASIS,
     13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  *  See the License for the specific language governing permissions and
     15  *  limitations under the License.
     16  */
     17 
     18 
     19 package org.apache.harmony.xnet.tests.javax.net.ssl;
     20 
     21 import java.io.IOException;
     22 import java.net.URL;
     23 import java.security.cert.Certificate;
     24 
     25 import javax.net.ssl.HostnameVerifier;
     26 import javax.net.ssl.HttpsURLConnection;
     27 import javax.net.ssl.SSLPeerUnverifiedException;
     28 import javax.net.ssl.SSLSocketFactory;
     29 
     30 import junit.framework.TestCase;
     31 
     32 
     33 /**
     34  * Tests for <code>HttpsURLConnection</code> class constructors and methods.
     35  */
     36 public class HttpsURLConnectionTest extends TestCase {
     37 
     38     public final void testGetPeerPrincipal() throws Exception {
     39         HttpsURLConnection con = new MyHttpsURLConnection(new URL(
     40                 "http://foo.com"));
     41         try {
     42             con.getPeerPrincipal();
     43             fail("No expected SSLPeerUnverifiedException");
     44         } catch (SSLPeerUnverifiedException e) {
     45         }
     46     }
     47 
     48     public final void testGetLocalPrincipal() {
     49         HttpsURLConnection con = new MyHttpsURLConnection(null);
     50         if (con.getLocalPrincipal() != null) {
     51             fail("Non null result");
     52         }
     53     }
     54 
     55     public final void testSetDefaultHostnameVerifier() {
     56         try {
     57             HttpsURLConnection.setDefaultHostnameVerifier(null);
     58             fail("No expected IllegalArgumentException");
     59         } catch (IllegalArgumentException e) {
     60         }
     61     }
     62 
     63     public final void testSetHostnameVerifier() {
     64         HttpsURLConnection con = new MyHttpsURLConnection(null);
     65         try {
     66             con.setHostnameVerifier(null);
     67             fail("No expected IllegalArgumentException");
     68         } catch (IllegalArgumentException e) {
     69         }
     70     }
     71 
     72     public final void testGetDefaultSSLSocketFactory() {
     73         SSLSocketFactory sf = HttpsURLConnection.getDefaultSSLSocketFactory();
     74         if (!sf.equals(SSLSocketFactory.getDefault())) {
     75             fail("incorrect DefaultSSLSocketFactory");
     76         }
     77     }
     78 
     79     public final void testGetSSLSocketFactory() {
     80         HttpsURLConnection con = new MyHttpsURLConnection(null);
     81         SSLSocketFactory sf = con.getSSLSocketFactory();
     82         if (!sf.equals(SSLSocketFactory.getDefault())) {
     83             fail("incorrect DefaultSSLSocketFactory");
     84         }
     85     }
     86 
     87     public final void testSetDefaultSSLSocketFactory() {
     88         try {
     89             HttpsURLConnection.setDefaultSSLSocketFactory(null);
     90             fail("No expected IllegalArgumentException");
     91         } catch (IllegalArgumentException e) {
     92         }
     93     }
     94 
     95     public final void testSetSSLSocketFactory() {
     96         HttpsURLConnection con = new MyHttpsURLConnection(null);
     97         try {
     98             con.setSSLSocketFactory(null);
     99             fail("No expected IllegalArgumentException");
    100         } catch (IllegalArgumentException e) {
    101         }
    102     }
    103 }
    104 
    105 class MyHttpsURLConnection extends HttpsURLConnection {
    106 
    107     public MyHttpsURLConnection(URL url) {
    108         super(url);
    109     }
    110 
    111     /*
    112      * @see javax.net.ssl.HttpsURLConnection#getCipherSuite()
    113      */
    114     @Override
    115     public String getCipherSuite() {
    116         return null;
    117     }
    118 
    119     /*
    120      * @see javax.net.ssl.HttpsURLConnection#getLocalCertificates()
    121      */
    122     @Override
    123     public Certificate[] getLocalCertificates() {
    124         return null;
    125     }
    126 
    127     /*
    128      * @see javax.net.ssl.HttpsURLConnection#getServerCertificates()
    129      */
    130     @Override
    131     public Certificate[] getServerCertificates()
    132             throws SSLPeerUnverifiedException {
    133         return null;
    134     }
    135 
    136     /*
    137      * @see java.net.HttpURLConnection#disconnect()
    138      */
    139     @Override
    140     public void disconnect() {
    141     }
    142 
    143     /*
    144      * @see java.net.HttpURLConnection#usingProxy()
    145      */
    146     @Override
    147     public boolean usingProxy() {
    148         return false;
    149     }
    150 
    151     /*
    152      * @see java.net.URLConnection#connect()
    153      */
    154     @Override
    155     public void connect() throws IOException {
    156     }
    157 
    158 }
    159 
    160