package org.bouncycastle.asn1.test;
import java.io.IOException;
import org.bouncycastle.asn1.crmf.PKIPublicationInfo;
import org.bouncycastle.asn1.crmf.SinglePubInfo;
import org.bouncycastle.asn1.x500.X500Name;
import org.bouncycastle.asn1.x509.GeneralName;
import org.bouncycastle.util.test.SimpleTest;
public class PKIPublicationInfoTest
extends SimpleTest
{
public static void main(String[] args)
{
runTest(new PKIPublicationInfoTest());
}
public String getName()
{
return "PKIPublicationInfoTest";
}
public void performTest()
throws Exception
{
PKIPublicationInfo pkiPubInfo = new PKIPublicationInfo(PKIPublicationInfo.dontPublish);
isEquals(PKIPublicationInfo.dontPublish, pkiPubInfo.getAction());
encEqualTest(pkiPubInfo);
pkiPubInfo = new PKIPublicationInfo(PKIPublicationInfo.dontPublish.getValue());
isEquals(PKIPublicationInfo.dontPublish, pkiPubInfo.getAction());
encEqualTest(pkiPubInfo);
SinglePubInfo singlePubInfo1 = new SinglePubInfo(SinglePubInfo.x500, new GeneralName(new X500Name("CN=TEST")));
pkiPubInfo = new PKIPublicationInfo(singlePubInfo1);
isEquals(PKIPublicationInfo.pleasePublish, pkiPubInfo.getAction());
isEquals(1, pkiPubInfo.getPubInfos().length);
isEquals(singlePubInfo1, pkiPubInfo.getPubInfos()[0]);
encEqualTest(pkiPubInfo);
SinglePubInfo singlePubInfo2 = new SinglePubInfo(SinglePubInfo.x500, new GeneralName(new X500Name("CN=BLOOT")));
pkiPubInfo = new PKIPublicationInfo(new SinglePubInfo[] { singlePubInfo1, singlePubInfo2 });
isEquals(PKIPublicationInfo.pleasePublish, pkiPubInfo.getAction());
isEquals(2, pkiPubInfo.getPubInfos().length);
isEquals(singlePubInfo1, pkiPubInfo.getPubInfos()[0]);
isEquals(singlePubInfo2, pkiPubInfo.getPubInfos()[1]);
encEqualTest(pkiPubInfo);
pkiPubInfo = new PKIPublicationInfo((SinglePubInfo)null);
isEquals(PKIPublicationInfo.pleasePublish, pkiPubInfo.getAction());
isTrue(null == pkiPubInfo.getPubInfos());
encEqualTest(pkiPubInfo);
pkiPubInfo = new PKIPublicationInfo((SinglePubInfo[])null);
isEquals(PKIPublicationInfo.pleasePublish, pkiPubInfo.getAction());
isTrue(null == pkiPubInfo.getPubInfos());
encEqualTest(pkiPubInfo);
}
private void encEqualTest(PKIPublicationInfo pubInfo)
throws IOException
{
byte[] b = pubInfo.getEncoded();
PKIPublicationInfo pubInfoResult = PKIPublicationInfo.getInstance(b);
isEquals(pubInfo, pubInfoResult);
}
}