001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: /**
019: * @author Vladimir N. Molotkov
020: * @version $Revision$
021: */package org.apache.harmony.security.tests.java.security;
022:
023: import java.security.*;
024: import java.security.spec.InvalidKeySpecException;
025:
026: import junit.framework.TestCase;
027:
028: /**
029: * Tests for fields and methods of class <code>KeyPair</code>
030: *
031: */
032: public class KeyPairTest extends TestCase {
033:
034: private static class TestKeyPair {
035: static PublicKey getPublic() {
036: return new PublicKey() {
037: public String getAlgorithm() {
038: return "never mind";
039: }
040:
041: public String getFormat() {
042: return "never mind";
043: }
044:
045: public byte[] getEncoded() {
046: return null;
047: }
048: };
049: }
050:
051: static PrivateKey getPrivate() {
052: return new PrivateKey() {
053: public String getAlgorithm() {
054: return "never mind";
055: }
056:
057: public String getFormat() {
058: return "never mind";
059: }
060:
061: public byte[] getEncoded() {
062: return null;
063: }
064: };
065: }
066: }
067:
068: /**
069: * Constructor for KeyPairTest.
070: * @param name
071: */
072: public KeyPairTest(String name) {
073: super (name);
074: }
075:
076: /**
077: * Test #1 for <code>KeyPair(PublicKey, PrivateKey)</code> constructor<br>
078: * Assertion: creates new <code>KeyPair</code> instance using valid
079: * parameters (both <code>null</code>)
080: */
081: public final void testKeyPair01() {
082: Object kp = new KeyPair(null, null);
083: assertTrue(kp instanceof KeyPair);
084: }
085:
086: /**
087: * Test #2 for <code>KeyPair(PublicKey, PrivateKey)</code> constructor<br>
088: * Assertion: creates new <code>KeyPair</code> instance using valid
089: * parameters (both valid keys)
090: * @throws InvalidKeySpecException
091: */
092: public final void testKeyPair02() throws InvalidKeySpecException {
093: Object kp = new KeyPair(TestKeyPair.getPublic(), TestKeyPair
094: .getPrivate());
095: assertTrue(kp instanceof KeyPair);
096: }
097:
098: /**
099: * Test #1 for <code>getPrivate()</code> method<br>
100: * Assertion: returns private key (<code>null</code> in this case)
101: */
102: public final void testGetPrivate01() {
103: KeyPair kp = new KeyPair(null, null);
104: assertNull(kp.getPrivate());
105: }
106:
107: /**
108: * Test #2 for <code>getPrivate()</code> method<br>
109: * Assertion: returns private key (valid private key in this case)
110: * @throws InvalidKeySpecException
111: */
112: public final void testGetPrivate02() throws InvalidKeySpecException {
113: PrivateKey pk = TestKeyPair.getPrivate();
114: KeyPair kp = new KeyPair(null, pk);
115: assertSame(pk, kp.getPrivate());
116: }
117:
118: /**
119: * Test #1 for <code>getPublic()</code> method<br>
120: * Assertion: returns public key (<code>null</code> in this case)
121: */
122: public final void testGetPublic01() {
123: KeyPair kp = new KeyPair(null, null);
124: assertNull(kp.getPublic());
125: }
126:
127: /**
128: * Test #2 for <code>getPublic()</code> method<br>
129: * Assertion: returns public key (valid public key in this case)
130: * @throws InvalidKeySpecException
131: */
132: public final void testGetPublic02() throws InvalidKeySpecException {
133: PublicKey pk = TestKeyPair.getPublic();
134: KeyPair kp = new KeyPair(pk, null);
135: assertSame(pk, kp.getPublic());
136: }
137:
138: }
|