use of com.zimbra.common.zmime.ZMimeMessage in project zm-mailbox by Zimbra.
the class TestParsedMessage method testParsedMessage.
@Test
public void testParsedMessage() throws Exception {
ExpectedResults expected = new ExpectedResults();
String subject = NAME_PREFIX + " testParsedMessage";
expected.convertedSubject = subject;
expected.rawContent = TestUtil.getTestMessage(subject, RECIPIENT_NAME, SENDER_NAME, null);
expected.wasMutated = false;
// Test ParsedMessage created from byte[]
ParsedMessage pm = new ParsedMessage(expected.rawContent.getBytes(), false);
verifyParsedMessage(pm, expected);
pm = new ParsedMessage(expected.rawContent.getBytes(), true);
verifyParsedMessage(pm, expected);
// Test ParsedMessage created from File
mFile = File.createTempFile("TestParsedMessage", ".msg");
FileOutputStream out = new FileOutputStream(mFile);
out.write(expected.rawContent.getBytes());
pm = new ParsedMessage(mFile, null, false);
verifyParsedMessage(pm, expected);
pm = new ParsedMessage(mFile, null, true);
verifyParsedMessage(pm, expected);
// Test ParsedMessage created from MimeMessage.
MimeMessage mimeMsg = new ZMimeMessage(JMSession.getSession(), new SharedByteArrayInputStream(expected.rawContent.getBytes()));
pm = new ParsedMessage(mimeMsg, false);
verifyParsedMessage(pm, expected);
pm = new ParsedMessage(mimeMsg, true);
verifyParsedMessage(pm, expected);
}
use of com.zimbra.common.zmime.ZMimeMessage in project zm-mailbox by Zimbra.
the class TestParsedMessage method testMimeConverter.
@Test
public void testMimeConverter() throws Exception {
MimeVisitor.registerConverter(TestMimeVisitor.class);
ExpectedResults expected = new ExpectedResults();
String subject = NAME_PREFIX + " testMimeConverter oldsubject";
expected.convertedSubject = NAME_PREFIX + " testMimeConverter newsubject";
expected.rawContent = TestUtil.getTestMessage(subject, RECIPIENT_NAME, SENDER_NAME, null);
expected.wasMutated = false;
// Test ParsedMessage created from byte[]
ParsedMessage pm = new ParsedMessage(expected.rawContent.getBytes(), false);
verifyParsedMessage(pm, expected);
pm = new ParsedMessage(expected.rawContent.getBytes(), true);
verifyParsedMessage(pm, expected);
// Test ParsedMessage created from File
mFile = File.createTempFile("TestParsedMessage", ".msg");
FileOutputStream out = new FileOutputStream(mFile);
out.write(expected.rawContent.getBytes());
out.close();
pm = new ParsedMessage(mFile, null, false);
verifyParsedMessage(pm, expected);
pm = new ParsedMessage(mFile, null, true);
verifyParsedMessage(pm, expected);
// Test ParsedMessage created from MimeMessage. Can't verify entire content
// because JavaMail mangles the headers.
MimeMessage mimeMsg = new ZMimeMessage(JMSession.getSession(), new SharedByteArrayInputStream(expected.rawContent.getBytes()));
pm = new ParsedMessage(mimeMsg, false);
Assert.assertTrue((new String(pm.getRawData()).contains("oldsubject")));
Assert.assertTrue(getContent(pm.getMimeMessage()).contains("newsubject"));
Assert.assertTrue(pm.getSubject().contains("newsubject"));
pm = new ParsedMessage(mimeMsg, true);
Assert.assertTrue((new String(pm.getRawData()).contains("oldsubject")));
Assert.assertTrue(getContent(pm.getMimeMessage()).contains("newsubject"));
Assert.assertTrue(pm.getSubject().contains("newsubject"));
}
use of com.zimbra.common.zmime.ZMimeMessage in project zm-mailbox by Zimbra.
the class TestParsedMessage method testMimeMutator.
/**
* Tests message mutation. We can't verify the entire content, since mutation
* calls JavaMail, which mangles the headers. We'll have to settle for confirming
* that the subject was updated correctly.
*/
@Test
public void testMimeMutator() throws Exception {
MimeVisitor.registerMutator(TestMimeVisitor.class);
String subject = NAME_PREFIX + " testMimeConverter oldsubject";
String content = TestUtil.getTestMessage(subject, RECIPIENT_NAME, SENDER_NAME, null);
// Test ParsedMessage created from byte[]
ParsedMessage pm = new ParsedMessage(content.getBytes(), false);
pm = new ParsedMessage(content.getBytes(), true);
String substring = "newsubject";
verifyMutatedMessage(pm, substring, true);
// Test ParsedMessage created from File
mFile = createTempFile(content);
pm = new ParsedMessage(mFile, null, false);
verifyMutatedMessage(pm, substring, true);
mFile.delete();
mFile = createTempFile(content);
pm = new ParsedMessage(mFile, null, true);
verifyMutatedMessage(pm, substring, true);
// Test ParsedMessage created from MimeMessage, attachment indexing off.
MimeMessage mimeMsg = new ZMimeMessage(JMSession.getSession(), new SharedByteArrayInputStream(content.getBytes()));
pm = new ParsedMessage(mimeMsg, false);
verifyMutatedMessage(pm, substring, true);
// Test ParsedMessage created from MimeMessage, attachment indexing on.
mimeMsg = new ZMimeMessage(JMSession.getSession(), new SharedByteArrayInputStream(content.getBytes()));
pm = new ParsedMessage(mimeMsg, true);
verifyMutatedMessage(pm, substring, true);
}
Aggregations