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 Alexander V. Astapchuk
020: * @version $Revision$
021: */package org.apache.harmony.security.tests.java.security;
022:
023: import java.security.*;
024: import java.security.cert.CertPath;
025: import java.util.Date;
026:
027: import org.apache.harmony.security.tests.support.TestCertUtils;
028:
029: import junit.framework.TestCase;
030:
031: /**
032: * Unit test for CodeSigner.
033: */
034:
035: public class CodeSignerTest extends TestCase {
036:
037: /**
038: * Entry point for standalone runs.
039: * @param args command line arguments
040: */
041: public static void main(String[] args) {
042: junit.textui.TestRunner.run(CodeSignerTest.class);
043: }
044:
045: private CertPath cpath = TestCertUtils.genCertPath(3, 0);
046: private Date now = new Date();
047:
048: private Timestamp ts = new Timestamp(now, cpath);
049:
050: /**
051: * must throw NPE if signerCertPath is null
052: */
053: public void testCodeSigner_00() {
054: try {
055: new CodeSigner(null, ts);
056: fail("must not accept null");
057: } catch (NullPointerException ex) {
058: /* it's ok */
059: }
060: }
061:
062: /**
063: * timestamp can be null
064: */
065: public final void testCodeSigner_01() {
066: new CodeSigner(cpath, null);
067: }
068:
069: /**
070: * Test various assertions about equals()
071: */
072: public final void testEqualsObject() {
073:
074: CodeSigner one = new CodeSigner(cpath, ts);
075: CodeSigner two = new CodeSigner(cpath, ts);
076: CodeSigner three = new CodeSigner(cpath, null);
077:
078: CertPath cpath2 = TestCertUtils.genCertPath(5, 3);
079: CodeSigner four = new CodeSigner(cpath2, null);
080:
081: assertTrue(one.equals(one));
082: assertTrue(one.equals(two));
083: assertTrue(two.equals(one));
084: assertFalse(one.equals(three));
085: assertFalse(three.equals(one));
086: assertTrue(three.equals(three));
087: // different CertPaths
088: assertFalse(three.equals(four));
089: // special cases
090: assertFalse(one.equals(null));
091: assertFalse(one.equals(new Object()));
092: }
093:
094: /**
095: * Tests CodeSigner.getSignerCertPath()
096: */
097: public void testGetSignerCertPath() {
098: assertSame(new CodeSigner(cpath, null).getSignerCertPath(),
099: cpath);
100: }
101:
102: /**
103: * Tests CodeSigner.getTimeStamp()
104: */
105: public void testGetTimestamp() {
106: assertNull(new CodeSigner(cpath, null).getTimestamp());
107: assertSame(new CodeSigner(cpath, ts).getTimestamp(), ts);
108: }
109:
110: /**
111: * Tests CodeSigner.toString()
112: */
113: public void testToString() {
114: new CodeSigner(cpath, null).toString();
115: new CodeSigner(cpath, ts).toString();
116: }
117:
118: }
|