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 Vera Y. Petrashkova 20 */ 21 22package javax.crypto; 23 24import java.security.InvalidAlgorithmParameterException; 25import java.security.InvalidKeyException; 26import java.security.Key; 27import java.security.NoSuchAlgorithmException; 28import java.security.SecureRandom; 29import java.security.spec.AlgorithmParameterSpec; 30 31import org.apache.harmony.crypto.tests.support.MyKeyAgreementSpi; 32 33import junit.framework.TestCase; 34 35/** 36 * Tests for <code>KeyAgreementSpi</code> class constructors and methods. 37 */ 38 39public class KeyAgreementSpiTest extends TestCase { 40 /** 41 * Constructor for KeyAgreementSpiTests. 42 * 43 * @param arg0 44 */ 45 public KeyAgreementSpiTest(String arg0) { 46 super(arg0); 47 } 48 49 /** 50 * Test for <code>KeyAgreementSpi</code> constructor Assertion: constructs 51 * KeyAgreementSpi 52 */ 53 public void testKeyAgreementSpi01() throws InvalidKeyException, 54 ShortBufferException, NoSuchAlgorithmException, 55 InvalidAlgorithmParameterException { 56 KeyAgreementSpi kaSpi = new MyKeyAgreementSpi(); 57 58 assertNull("Not null result", kaSpi.engineDoPhase(null, true)); 59 try { 60 kaSpi.engineDoPhase(null, false); 61 fail("IllegalStateException must be thrown"); 62 } catch (IllegalStateException e) { 63 } 64 byte[] bb = kaSpi.engineGenerateSecret(); 65 assertEquals("Length is not 0", bb.length, 0); 66 assertEquals("Returned integer is not 0", 67 kaSpi.engineGenerateSecret(new byte[1], 10), 68 -1); 69 assertNull("Not null result", kaSpi.engineGenerateSecret("aaa")); 70 try { 71 kaSpi.engineGenerateSecret(""); 72 fail("NoSuchAlgorithmException must be thrown"); 73 } catch (NoSuchAlgorithmException e) { 74 } 75 Key key = null; 76 try { 77 kaSpi.engineInit(key, new SecureRandom()); 78 fail("IllegalArgumentException must be thrown"); 79 } catch (IllegalArgumentException e) { 80 } 81 AlgorithmParameterSpec params = null; 82 try { 83 kaSpi.engineInit(key, params, new SecureRandom()); 84 fail("IllegalArgumentException must be thrown"); 85 } catch (IllegalArgumentException e) { 86 } 87 } 88}