package org.bouncycastle.mail.smime.test; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.security.Security; import javax.mail.MessagingException; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import junit.framework.TestCase; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.util.Arrays; public class SMIMETestUtil { public static final boolean DEBUG = true; static { Security.addProvider(new BouncyCastleProvider()); } /* * * MAIL * */ public static MimeBodyPart makeMimeBodyPart(String msg) throws MessagingException { MimeBodyPart _mbp = new MimeBodyPart(); _mbp.setText(msg); return _mbp; } public static MimeBodyPart makeMimeBodyPart(MimeMultipart mm) throws MessagingException { MimeBodyPart _mbp = new MimeBodyPart(); _mbp.setContent(mm, mm.getContentType()); return _mbp; } public static MimeMultipart makeMimeMultipart(String msg1, String msg2) throws MessagingException { MimeMultipart _mm = new MimeMultipart(); _mm.addBodyPart(makeMimeBodyPart(msg1)); _mm.addBodyPart(makeMimeBodyPart(msg2)); return _mm; } public static void verifyMessageBytes(MimeBodyPart a, MimeBodyPart b) throws IOException, MessagingException { ByteArrayOutputStream _baos = new ByteArrayOutputStream(); a.writeTo(_baos); _baos.close(); byte[] _msgBytes = _baos.toByteArray(); _baos = new ByteArrayOutputStream(); b.writeTo(_baos); _baos.close(); byte[] _resBytes = _baos.toByteArray(); TestCase.assertEquals(true, Arrays.areEqual(_msgBytes, _resBytes)); } public static void verifyMessageBytes(MimeMessage a, MimeBodyPart b) throws IOException, MessagingException { ByteArrayOutputStream _baos = new ByteArrayOutputStream(); a.writeTo(_baos); _baos.close(); byte[] _msgBytes = _baos.toByteArray(); _baos = new ByteArrayOutputStream(); b.writeTo(_baos); _baos.close(); byte[] _resBytes = _baos.toByteArray(); TestCase.assertEquals(true, Arrays.areEqual(_msgBytes, _resBytes)); } }