Home | History | Annotate | Download | only in spec
      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 * @author Vladimir N. Molotkov
     20 * @version $Revision$
     21 */
     22 
     23 package tests.security.spec;
     24 
     25 import junit.framework.TestCase;
     26 
     27 import java.security.spec.MGF1ParameterSpec;
     28 
     29 /**
     30  * Test for MGF1ParameterSpec class
     31  *
     32  */
     33 public class MGF1ParameterSpecTest extends TestCase {
     34 
     35     /**
     36      * Meaningless algorithm name just for testing purposes
     37      */
     38     private static final String testAlgName = "TEST";
     39 
     40     //
     41     // Tests
     42     //
     43 
     44     /**
     45      * Test #1 for <code>MGF1ParameterSpec</code> constructor<br>
     46      * Assertion: constructs new <code>MGF1ParameterSpec</code>
     47      * object using valid parameter
     48      */
     49     public final void testMGF1ParameterSpec01() {
     50         try {
     51             MGF1ParameterSpec pgf = new MGF1ParameterSpec(testAlgName);
     52             assertNotNull(pgf);
     53             assertTrue(pgf instanceof MGF1ParameterSpec);
     54         } catch (Exception e) {
     55             fail("Unexpected exception: " + e);
     56         }
     57     }
     58 
     59     /**
     60      * Test #2 for <code>MGF1ParameterSpec</code> constructor<br>
     61      * Assertion: <code>NullPointerException</code> if parameter is <code>null</code>
     62      */
     63     public final void testMGF1ParameterSpec02() {
     64         try {
     65             new MGF1ParameterSpec(null);
     66             fail("NullPointerException has not been thrown");
     67         } catch (NullPointerException ok) {
     68             //expected
     69         }
     70     }
     71 
     72     /**
     73      * Test for <code>getDigestAlgorithm</code> method<br>
     74      * Assertion: returns the algorithm name of the message
     75      * digest used by the mask generation function
     76      */
     77     public final void testGetDigestAlgorithm() {
     78         MGF1ParameterSpec aps = new MGF1ParameterSpec(testAlgName);
     79         assertTrue(testAlgName.equals(aps.getDigestAlgorithm()));
     80     }
     81 
     82     /**
     83      * Test for public static fields and <code>getDigestAlgorithm</code> method<br>
     84      * Assertion: returns the algorithm name of the message
     85      * digest used by the mask generation function
     86      */
     87 
     88     public final void testFieldsGetDigestAlgorithm() {
     89         assertEquals("SHA-1", MGF1ParameterSpec.SHA1.getDigestAlgorithm());
     90         assertEquals("SHA-256", MGF1ParameterSpec.SHA256.getDigestAlgorithm());
     91         assertEquals("SHA-384", MGF1ParameterSpec.SHA384.getDigestAlgorithm());
     92         assertEquals("SHA-512", MGF1ParameterSpec.SHA512.getDigestAlgorithm());
     93     }
     94 }
     95