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