summaryrefslogtreecommitdiffstats
path: root/luni/src/test/java/tests/security/cert/CRLTest.java
blob: be8ddcdbc6260557b188b4163bc2057032b1e778 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

/**
* @author Vladimir N. Molotkov
* @version $Revision$
*/

package tests.security.cert;

import junit.framework.TestCase;

import java.security.cert.CRL;
import java.security.cert.Certificate;

import org.apache.harmony.security.tests.support.SpiEngUtils;

/**
 * Tests for <code>java.security.cert.CRL</code> fields and methods
 *
 */
public class CRLTest extends TestCase {

    public static final String[] validValues = { "X.509", "x.509" };

    private final static String[] invalidValues = SpiEngUtils.invalidValues;

    //
    // Tests
    //

    /**
     * Test for <code>CRL(String type)</code> constructor<br>
     */
    public final void testConstructor() {
        for (int i = 0; i< validValues.length; i++) {
            CRL crl = new MyCRL(validValues[i]);
            assertEquals(validValues[i], crl.getType());
        }

        for (int i = 0; i< invalidValues.length; i++) {
            CRL crl = new MyCRL(invalidValues[i]);
            assertEquals(invalidValues[i], crl.getType());
        }

        try {
            CRL crl = new MyCRL(null);
        } catch (Exception e) {
            fail("Unexpected exception for NULL parameter");
        }
    }


    /**
     * Test #1 for <code>getType()</code> method<br>
     * Assertion: returns <code>CRL</code> type
     */
    public final void testGetType01() {
        CRL crl = new MyCRL("TEST_TYPE");
        assertEquals("TEST_TYPE", crl.getType());
    }

    /**
     * Test #2 for <code>getType()</code> method<br>
     * Assertion: returns <code>CRL</code> type
     */
    public final void testGetType02() {
        CRL crl = new MyCRL(null);
        assertNull(crl.getType());
    }

    //
    // the following tests just call methods
    // that are abstract in <code>Certificate</code>
    // (So they just like signature tests)
    //

    /**
     * Test for <code>toString()</code> method
     */
    public final void testToString() {
        CRL crl = new MyCRL("TEST_TYPE");
        crl.toString();
    }

    /**
     * Test for <code>isRevoked()</code> method
     */
    public final void testIsRevoked() {
        CRL crl = new MyCRL("TEST_TYPE");
        crl.isRevoked(null);
    }

    class MyCRL extends CRL {

        protected MyCRL(String type) {
            super(type);
        }

        @Override
        public boolean isRevoked(Certificate cert) {
            return false;
        }

        @Override
        public String toString() {
            return null;
        }

    }
}