You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sm...@apache.org on 2006/12/19 06:46:54 UTC

svn commit: r488533 - /harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AlgorithmParametersTest.java

Author: smishura
Date: Mon Dec 18 21:46:53 2006
New Revision: 488533

URL: http://svn.apache.org/viewvc?view=rev&rev=488533
Log:
Evaluation for HARMONY-2733:
[java][security]AlgorithmParameters.getParamterSpec should throw NullPointerException if the input AlgorithmSpec class is null.

Added a separate test case for AlgorithmParameters.getParameterSpec(Class<T> paramSpec)
Removed duplicated testing

Modified:
    harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AlgorithmParametersTest.java

Modified: harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AlgorithmParametersTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AlgorithmParametersTest.java?view=diff&rev=488533&r1=488532&r2=488533
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AlgorithmParametersTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AlgorithmParametersTest.java Mon Dec 18 21:46:53 2006
@@ -23,13 +23,11 @@
 package org.apache.harmony.security.tests.java.security;
 
 import java.io.IOException;
-import java.math.BigInteger;
 import java.security.AlgorithmParameters;
 import java.security.AlgorithmParametersSpi;
 import java.security.Provider;
 import java.security.Security;
 import java.security.spec.AlgorithmParameterSpec;
-import java.security.spec.DSAParameterSpec;
 import java.security.spec.InvalidParameterSpecException;
 
 import junit.framework.TestCase;
@@ -215,6 +213,64 @@
     }
 
     /**
+     * @tests java.security.AlgorithmParameters#getParameterSpec(Class)
+     */
+    public void test_getParameterSpecLjava_lang_Class() throws Exception {
+
+        final MyAlgorithmParameterSpec myParamSpec = new MyAlgorithmParameterSpec();
+
+        MyAlgorithmParameters paramSpi = new MyAlgorithmParameters() {
+            protected AlgorithmParameterSpec engineGetParameterSpec(
+                    Class paramSpec) {
+                return myParamSpec;
+            }
+        };
+
+        AlgorithmParameters params = new DummyAlgorithmParameters(paramSpi, p,
+                "algorithm");
+
+        //
+        // test: InvalidParameterSpecException if not initialized
+        //
+        try {
+            params.getParameterSpec(null);
+            fail("No expected InvalidParameterSpecException");
+        } catch (InvalidParameterSpecException e) {
+            // expected
+        }
+        try {
+            params.getParameterSpec(MyAlgorithmParameterSpec.class);
+            fail("No expected InvalidParameterSpecException");
+        } catch (InvalidParameterSpecException e) {
+            // expected
+        }
+
+        //
+        // test: corresponding spi method is invoked
+        //
+        params.init(new MyAlgorithmParameterSpec());
+        assertSame(myParamSpec, params
+                .getParameterSpec(MyAlgorithmParameterSpec.class));
+
+        //
+        // test: if paramSpec is null
+        //
+        paramSpi = new MyAlgorithmParameters() {
+
+            protected AlgorithmParameterSpec engineGetParameterSpec(
+                    Class paramSpec) {
+                assertNull(paramSpec); // null is passed to spi-provider
+                return null;
+            }
+        };
+
+        params = new DummyAlgorithmParameters(paramSpi, p, "algorithm");
+        params.init(new MyAlgorithmParameterSpec());
+        assertNull(params.getParameterSpec(null));
+
+    }
+
+    /**
      * @tests java.security.AlgorithmParameters#getInstance(String, Provider)
      */
     public void test_getInstanceLjava_lang_StringLjava_security_Provider()
@@ -254,13 +310,6 @@
     }
 
 	private void checkUnititialized(AlgorithmParameters ap) {
-		try {
-		    //make it compilable on 1.5
-			ap.getParameterSpec((Class<AlgorithmParameterSpec>)new Object().getClass());
-			fail("getParameterSpec(): No expected InvalidParameterSpecException");
-		} catch (java.security.spec.InvalidParameterSpecException e) {
-		}
-		
         assertNull("Unititialized: toString() failed", ap.toString());
 	}
 	
@@ -269,12 +318,6 @@
         assertSame("getProvider() failed", p, ap.getProvider());
         assertEquals("getAlgorithm() failed", "ABC", ap.getAlgorithm());
 
-        //make it compilable on 1.5
-        ap.getParameterSpec((Class<AlgorithmParameterSpec>) new Object()
-                .getClass());
-        assertTrue("getParameterSpec() failed",
-                MyAlgorithmParameters.runEngineGetParameterSpec);
-
         assertEquals("AlgorithmParameters", ap.toString());
         assertTrue("toString() failed", MyAlgorithmParameters.runEngineToString);
     }
@@ -308,8 +351,6 @@
 
         public static boolean runEngineInit3 = false;
 
-        public static boolean runEngineGetParameterSpec = false;
-
         public static boolean runEngineToString = false;
 
         protected void engineInit(AlgorithmParameterSpec paramSpec)
@@ -328,7 +369,6 @@
 
         protected AlgorithmParameterSpec engineGetParameterSpec(Class paramSpec)
                 throws InvalidParameterSpecException {
-            runEngineGetParameterSpec = true;
             return null;
         }