1 /* 2 * Copyright (C) 2009 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package tests.security; 17 18 import dalvik.annotation.TestLevel; 19 import dalvik.annotation.TestTargetNew; 20 import dalvik.annotation.TestTargets; 21 import java.security.AlgorithmParameters; 22 import java.security.NoSuchAlgorithmException; 23 import java.security.spec.AlgorithmParameterSpec; 24 import java.security.spec.InvalidParameterSpecException; 25 import junit.framework.TestCase; 26 27 public class AlgorithmParametersTest extends TestCase { 28 29 private final String algorithmName; 30 private final TestHelper<AlgorithmParameters> helper; 31 private final AlgorithmParameterSpec parameterData; 32 33 public AlgorithmParametersTest(String algorithmName, 34 TestHelper<AlgorithmParameters> helper, AlgorithmParameterSpec parameterData) { 35 this.algorithmName = algorithmName; 36 this.helper = helper; 37 this.parameterData = parameterData; 38 } 39 40 @TestTargets({ 41 @TestTargetNew( 42 level=TestLevel.ADDITIONAL, 43 method="getInstance", 44 args={String.class} 45 ), 46 @TestTargetNew( 47 level=TestLevel.ADDITIONAL, 48 method="init", 49 args={byte[].class} 50 ), 51 @TestTargetNew( 52 level=TestLevel.COMPLETE, 53 method="method", 54 args={} 55 ) 56 }) 57 public void testAlgorithmParameters() { 58 AlgorithmParameters algorithmParameters = null; 59 try { 60 algorithmParameters = AlgorithmParameters 61 .getInstance(algorithmName); 62 } catch (NoSuchAlgorithmException e) { 63 fail(e.getMessage()); 64 } 65 66 try { 67 algorithmParameters.init(parameterData); 68 } catch (InvalidParameterSpecException e) { 69 fail(e.getMessage()); 70 } 71 72 helper.test(algorithmParameters); 73 } 74 } 75