You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ba...@apache.org on 2006/05/07 16:57:50 UTC
svn commit: r404779 -
/james/server/trunk/src/test/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java
Author: bago
Date: Sun May 7 07:57:47 2006
New Revision: 404779
URL: http://svn.apache.org/viewcvs?rev=404779&view=rev
Log:
Further changes to MimeMessageCopyOnWriteTest to better check the expected behaviour and to avoid leaving garbage in the temp folder.
Modified:
james/server/trunk/src/test/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java
Modified: james/server/trunk/src/test/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java
URL: http://svn.apache.org/viewcvs/james/server/trunk/src/test/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java?rev=404779&r1=404778&r2=404779&view=diff
==============================================================================
--- james/server/trunk/src/test/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java (original)
+++ james/server/trunk/src/test/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java Sun May 7 07:57:47 2006
@@ -28,7 +28,6 @@
public class MimeMessageCopyOnWriteProxyTest extends MimeMessageFromStreamTest {
- MimeMessageCopyOnWriteProxy mw = null;
String content = "Subject: foo\r\nContent-Transfer-Encoding2: plain";
String sep = "\r\n\r\n";
String body = "bar\r\n.\r\n";
@@ -46,7 +45,8 @@
public void testMessageCloning1() throws Exception {
ArrayList r = new ArrayList();
r.add(new MailAddress("recipient@test.com"));
- MailImpl mail = new MailImpl("test",new MailAddress("test@test.com"),r,(MimeMessageCopyOnWriteProxy) getMessageFromSources(content+sep+body));
+ MimeMessageCopyOnWriteProxy messageFromSources = (MimeMessageCopyOnWriteProxy) getMessageFromSources(content+sep+body);
+ MailImpl mail = new MailImpl("test",new MailAddress("test@test.com"),r,messageFromSources);
MailImpl m2 = (MailImpl) mail.duplicate();
System.out.println("mail: "+getReferences(mail.getMessage())+" m2: "+getReferences(m2.getMessage()));
assertNotSame(m2,mail);
@@ -62,13 +62,16 @@
mail.getMessage().setSubject("new Subject");
assertTrue(!isSameMimeMessage(m2.getMessage(),mail.getMessage()));
ContainerUtil.dispose(mail);
+ ContainerUtil.dispose(m2);
+ ContainerUtil.dispose(messageFromSources);
}
public void testMessageCloning2() throws Exception {
ArrayList r = new ArrayList();
r.add(new MailAddress("recipient@test.com"));
- MailImpl mail = new MailImpl("test",new MailAddress("test@test.com"),r,(MimeMessageCopyOnWriteProxy) getMessageFromSources(content+sep+body));
+ MimeMessageCopyOnWriteProxy messageFromSources = (MimeMessageCopyOnWriteProxy) getMessageFromSources(content+sep+body);
+ MailImpl mail = new MailImpl("test",new MailAddress("test@test.com"),r,messageFromSources);
MailImpl m2 = (MailImpl) mail.duplicate();
System.out.println("mail: "+getReferences(mail.getMessage())+" m2: "+getReferences(m2.getMessage()));
assertNotSame(m2,mail);
@@ -103,12 +106,14 @@
m2clone.getMessage().setText("new Body 3");
assertTrue(isSameMimeMessage(m2clone.getMessage(),mm));
ContainerUtil.dispose(mail);
+ ContainerUtil.dispose(messageFromSources);
}
public void testMessageAvoidCloning() throws Exception {
ArrayList r = new ArrayList();
r.add(new MailAddress("recipient@test.com"));
- MailImpl mail = new MailImpl("test",new MailAddress("test@test.com"),r,(MimeMessageCopyOnWriteProxy) getMessageFromSources(content+sep+body));
+ MimeMessageCopyOnWriteProxy messageFromSources = (MimeMessageCopyOnWriteProxy) getMessageFromSources(content+sep+body);
+ MailImpl mail = new MailImpl("test",new MailAddress("test@test.com"),r,messageFromSources);
// cloning the message
Mail mailClone = mail.duplicate();
assertTrue(isSameMimeMessage(mailClone.getMessage(),mail.getMessage()));
@@ -116,6 +121,7 @@
assertNotSame(mail.getMessage(),mailClone.getMessage());
// dispose mail and check that the clone has still a valid message and it is the same!
ContainerUtil.dispose(mail);
+ ContainerUtil.dispose(messageFromSources);
// need to add a gc and a wait, because the original mimemessage should be finalized before the test.
System.gc();
Thread.sleep(1000);
@@ -126,14 +132,16 @@
mailClone.getMessage().setSubject("new Subject 2");
mailClone.getMessage().setText("new Body 3");
assertTrue(isSameMimeMessage(mailClone.getMessage(),mm));
- ContainerUtil.dispose(mail);
+ ContainerUtil.dispose(mailClone);
+ ContainerUtil.dispose(mm);
}
public void testMessageDisposing() throws Exception {
ArrayList r = new ArrayList();
r.add(new MailAddress("recipient@test.com"));
- MailImpl mail = new MailImpl("test",new MailAddress("test@test.com"),r,(MimeMessageCopyOnWriteProxy) getMessageFromSources(content+sep+body));
+ MimeMessageCopyOnWriteProxy messageFromSources = (MimeMessageCopyOnWriteProxy) getMessageFromSources(content+sep+body);
+ MailImpl mail = new MailImpl("test",new MailAddress("test@test.com"),r,messageFromSources);
// cloning the message
MailImpl mailClone = (MailImpl) mail.duplicate();
ContainerUtil.dispose(mail);
@@ -146,6 +154,7 @@
assertNull(mailClone.getMessage());
assertNull(mail.getMessage());
ContainerUtil.dispose(mail);
+ ContainerUtil.dispose(messageFromSources);
}
public void testNPE1() throws MessagingException, InterruptedException {
@@ -165,8 +174,9 @@
mw2 = null;
System.gc();
Thread.sleep(1000);
+ // the NPE was inside this call
mw.getMessageSize();
-
+ ContainerUtil.dispose(mw);
}
private static String getReferences(MimeMessage m) {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org