~brian-thomason/+junk/bouncycastle

« back to all changes in this revision

Viewing changes to test/src/org/bouncycastle/asn1/test/PKIFailureInfoTest.java

  • Committer: Brian Thomason
  • Date: 2011-12-20 17:20:32 UTC
  • Revision ID: brian.thomason@canonical.com-20111220172032-rdtm13jgdxtksacr
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.bouncycastle.asn1.test;
 
2
 
 
3
import java.io.IOException;
 
4
 
 
5
import org.bouncycastle.asn1.ASN1InputStream;
 
6
import org.bouncycastle.asn1.DERBitString;
 
7
import org.bouncycastle.asn1.cmp.PKIFailureInfo;
 
8
import org.bouncycastle.util.encoders.Base64;
 
9
import org.bouncycastle.util.test.SimpleTest;
 
10
 
 
11
 
 
12
/**
 
13
 * PKIFailureInfoTest
 
14
 */
 
15
public class PKIFailureInfoTest
 
16
    extends SimpleTest
 
17
{
 
18
    // A correct hex encoded BAD_DATA_FORMAT PKIFailureInfo 
 
19
    private static final byte[] CORRECT_FAILURE_INFO = Base64.decode("AwIANQ==");
 
20
    
 
21
    public String getName()
 
22
    {
 
23
        return "PKIFailureInfo";
 
24
    }
 
25
    
 
26
    private void testEncoding()
 
27
        throws IOException
 
28
    {
 
29
        DERBitString bitString = (DERBitString)new ASN1InputStream(CORRECT_FAILURE_INFO).readObject();
 
30
        PKIFailureInfo correct = new PKIFailureInfo(bitString);
 
31
                        
 
32
        PKIFailureInfo bug = new PKIFailureInfo(PKIFailureInfo.badRequest | PKIFailureInfo.badTime |PKIFailureInfo.badDataFormat | PKIFailureInfo.incorrectData);
 
33
 
 
34
        if (!areEqual(correct.getDEREncoded(),bug.getDEREncoded()))
 
35
        {
 
36
            fail("encoding doesn't match");
 
37
        }
 
38
    }
 
39
    
 
40
    public void performTest()
 
41
        throws IOException
 
42
    {
 
43
        BitStringConstantTester.testFlagValueCorrect(0, PKIFailureInfo.badAlg);
 
44
        BitStringConstantTester.testFlagValueCorrect(1, PKIFailureInfo.badMessageCheck);
 
45
        BitStringConstantTester.testFlagValueCorrect(2, PKIFailureInfo.badRequest);
 
46
        BitStringConstantTester.testFlagValueCorrect(3, PKIFailureInfo.badTime);
 
47
        BitStringConstantTester.testFlagValueCorrect(4, PKIFailureInfo.badCertId);
 
48
        BitStringConstantTester.testFlagValueCorrect(5, PKIFailureInfo.badDataFormat);
 
49
        BitStringConstantTester.testFlagValueCorrect(6, PKIFailureInfo.wrongAuthority);
 
50
        BitStringConstantTester.testFlagValueCorrect(7, PKIFailureInfo.incorrectData);
 
51
        BitStringConstantTester.testFlagValueCorrect(8, PKIFailureInfo.missingTimeStamp);
 
52
        BitStringConstantTester.testFlagValueCorrect(9, PKIFailureInfo.badPOP);
 
53
        BitStringConstantTester.testFlagValueCorrect(14, PKIFailureInfo.timeNotAvailable);
 
54
        BitStringConstantTester.testFlagValueCorrect(15, PKIFailureInfo.unacceptedPolicy);
 
55
        BitStringConstantTester.testFlagValueCorrect(16, PKIFailureInfo.unacceptedExtension);
 
56
        BitStringConstantTester.testFlagValueCorrect(17, PKIFailureInfo.addInfoNotAvailable);
 
57
        BitStringConstantTester.testFlagValueCorrect(25, PKIFailureInfo.systemFailure);
 
58
 
 
59
        testEncoding();
 
60
    }
 
61
 
 
62
    public static void main(
 
63
        String[]    args)
 
64
    {
 
65
        runTest(new PKIFailureInfoTest());
 
66
    }
 
67
}