[jboss-svn-commits] JBL Code SVN: r22532 - in labs/jbossrules/trunk/drools-process/drools-workitems: .settings and 7 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 9 02:56:07 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-09-09 02:56:07 -0400 (Tue, 09 Sep 2008)
New Revision: 22532

Added:
   labs/jbossrules/trunk/drools-process/drools-workitems/.settings/
   labs/jbossrules/trunk/drools-process/drools-workitems/.settings/org.eclipse.jdt.core.prefs
   labs/jbossrules/trunk/drools-process/drools-workitems/src/test/java/org/
   labs/jbossrules/trunk/drools-process/drools-workitems/src/test/java/org/drools/
   labs/jbossrules/trunk/drools-process/drools-workitems/src/test/java/org/drools/process/
   labs/jbossrules/trunk/drools-process/drools-workitems/src/test/java/org/drools/process/workitem/
   labs/jbossrules/trunk/drools-process/drools-workitems/src/test/java/org/drools/process/workitem/email/
   labs/jbossrules/trunk/drools-process/drools-workitems/src/test/java/org/drools/process/workitem/email/EmailWorkItemHandlerTest.java
Modified:
   labs/jbossrules/trunk/drools-process/drools-workitems/.classpath
   labs/jbossrules/trunk/drools-process/drools-workitems/.project
   labs/jbossrules/trunk/drools-process/drools-workitems/pom.xml
   labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/EmailWorkItemHandler.java
   labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/Recipient.java
   labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/SendHtml.java
Log:
-Added unit testing for email work item.

Modified: labs/jbossrules/trunk/drools-process/drools-workitems/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/.classpath	2008-09-09 05:20:09 UTC (rev 22531)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/.classpath	2008-09-09 06:56:07 UTC (rev 22532)
@@ -11,11 +11,21 @@
   <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-compress/1.0-SNAPSHOT/commons-compress-1.0-SNAPSHOT.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-exec/1.0.0-SNAPSHOT/commons-exec-1.0.0-SNAPSHOT.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-finder/1.0-SNAPSHOT/commons-finder-1.0-SNAPSHOT.jar"/>
-  <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/SNAPSHOT/commons-cli-SNAPSHOT.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/drools/drools-compiler/5.0.0.SNAPSHOT/drools-compiler-5.0.0.SNAPSHOT.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/drools/drools-core/5.0.0.SNAPSHOT/drools-core-5.0.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-core/5.0.0.SNAPSHOT/drools-core-5.0.0.SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-cli/2.0-SNAPSHOT/commons-cli-2.0-SNAPSHOT.jar"/>
+  <classpathentry kind="src" path="/drools-compiler"/>
+  <classpathentry kind="src" path="/drools-core"/>
   <classpathentry kind="var" path="M2_REPO/org/mvel/mvel/2.0-SNAPSHOT/mvel-2.0-SNAPSHOT.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0.1/antlr-runtime-3.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/gunit/1.0.1/gunit-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0.1/antlr-3.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
   <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/subethamail/subethasmtp-wiser/1.2/subethasmtp-wiser-1.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/subethamail/subethasmtp-smtp/1.2/subethasmtp-smtp-1.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
+  <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-process/drools-workitems/.project
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/.project	2008-09-09 05:20:09 UTC (rev 22531)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/.project	2008-09-09 06:56:07 UTC (rev 22532)
@@ -1,7 +1,10 @@
 <projectDescription>
   <name>drools-workitems</name>
   <comment>A rule production system</comment>
-  <projects/>
+  <projects>
+    <project>drools-compiler</project>
+    <project>drools-core</project>
+  </projects>
   <buildSpec>
     <buildCommand>
       <name>org.eclipse.jdt.core.javabuilder</name>

Added: labs/jbossrules/trunk/drools-process/drools-workitems/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/.settings/org.eclipse.jdt.core.prefs	2008-09-09 06:56:07 UTC (rev 22532)
@@ -0,0 +1,5 @@
+#Fri Sep 05 02:54:38 BST 2008
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5

Modified: labs/jbossrules/trunk/drools-process/drools-workitems/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/pom.xml	2008-09-09 05:20:09 UTC (rev 22531)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/pom.xml	2008-09-09 06:56:07 UTC (rev 22532)
@@ -41,7 +41,14 @@
       <artifactId>commons-finder</artifactId>
       <version>1.0-SNAPSHOT</version>
     </dependency>
+    
     <dependency>
+      <groupId>org.subethamail</groupId>
+      <artifactId>subethasmtp-wiser</artifactId>
+      <version>1.2</version>
+    </dependency>
+        
+    <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
       <version>1.4</version>

Modified: labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/EmailWorkItemHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/EmailWorkItemHandler.java	2008-09-09 05:20:09 UTC (rev 22531)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/EmailWorkItemHandler.java	2008-09-09 06:56:07 UTC (rev 22532)
@@ -39,18 +39,45 @@
 		Email email = new Email();
 		Message message = new Message();
 		message.setFrom((String) workItem.getParameter("From"));
+		message.setReplyTo( (String) workItem.getParameter("Reply-To"));
 		Recipients recipients = new Recipients();
 		String to = (String) workItem.getParameter("To");
+		if ( to == null || to.trim().length() == 0 ) {
+		    throw new RuntimeException( "Email must have one or more to adresses" );
+		}
 		for (String s: to.split(";")) {
 			if (s != null && !"".equals(s)) {
 				Recipient recipient = new Recipient();
 				recipient.setEmail(s);
+                recipient.setType( "To" );
 				recipients.addRecipient(recipient);
 			}
 		}
+        String cc = (String) workItem.getParameter("Cc");
+        if ( cc != null && cc.trim().length() > 0 ) {
+            for (String s: cc.split(";")) {
+                if (s != null && !"".equals(s)) {
+                    Recipient recipient = new Recipient();
+                    recipient.setEmail(s);
+                    recipient.setType( "Cc" );
+                    recipients.addRecipient(recipient);
+                }
+            }		
+        }
+        String bcc = (String) workItem.getParameter("Bcc");
+        if ( bcc != null && bcc.trim().length() > 0 ) {
+            for (String s: bcc.split(";")) {
+                if (s != null && !"".equals(s)) {
+                    Recipient recipient = new Recipient();
+                    recipient.setEmail(s);
+                    recipient.setType( "Bcc" );
+                    recipients.addRecipient(recipient);
+                }
+            }		
+        }
 		message.setRecipients(recipients);
 		message.setSubject((String) workItem.getParameter("Subject"));
-		message.setBody((String) workItem.getParameter("Text"));
+		message.setBody((String) workItem.getParameter("Body"));
 		email.setMessage(message);
 		email.setConnection(connection);
 		SendHtml.sendHtml(email);

Modified: labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/Recipient.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/Recipient.java	2008-09-09 05:20:09 UTC (rev 22531)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/Recipient.java	2008-09-09 06:56:07 UTC (rev 22532)
@@ -10,10 +10,6 @@
     private String mobile;
 
     public Recipient() {
-        this( "to",
-              "John Smith",
-              "john at xxx.com",
-              "" );
     }
 
     public Recipient(String type,

Modified: labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/SendHtml.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/SendHtml.java	2008-09-09 05:20:09 UTC (rev 22531)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/src/main/java/org/drools/process/workitem/email/SendHtml.java	2008-09-09 06:56:07 UTC (rev 22532)
@@ -22,11 +22,20 @@
 
         String subject = message.getSubject();
         String from = message.getFrom();
+        String replyTo = message.getReplyTo();
         String mailhost = connection.getHost();
         String mailer = "sendhtml";
+        
+        if ( from == null ) {
+            throw new RuntimeException("Email must have 'from' address" );
+        }
+        
+        if ( replyTo == null ) {
+            replyTo = from;
+        }
         boolean debug = false;
         try {
-            Properties props = System.getProperties();
+            Properties props = new Properties();
             // XXX - could use Session.getTransport() and Transport.connect()
             // XXX - assume we're using SMTP
             if ( mailhost != null ) props.put( "mail.smtp.host", mailhost );
@@ -35,19 +44,20 @@
             if ( debug ) session.setDebug( true );
             // construct the message
             Message msg = new MimeMessage( session );
-            if ( from != null ) {
-            	msg.setFrom( new InternetAddress( from ) );
-            } else {
-            	msg.setFrom();
-            }
+            
+            msg.setFrom( new InternetAddress( from ) );
+            msg.setReplyTo( new InternetAddress[] {  new InternetAddress( replyTo ) }  );
+            
             for ( Recipient recipient : message.getRecipients().getRecipients() ) {
                 RecipientType type = null;
-                if ( "to".equals( recipient.getType() ) ) {
+                if ( "To".equals( recipient.getType() ) ) {
                     type = Message.RecipientType.TO;
-                } else if ( "cc".equals( recipient.getType() ) ) {
+                } else if ( "Cc".equals( recipient.getType() ) ) {
                     type = Message.RecipientType.CC;
-                } else if ( "bcc".equals( recipient.getType() ) ) {
+                } else if ( "Bcc".equals( recipient.getType() ) ) {
                     type = Message.RecipientType.BCC;
+                } else {
+                    throw new RuntimeException( "Unable to determine recipient type" );
                 }
 
                 msg.addRecipients( type, InternetAddress.parse( recipient.getEmail(), false ) );
@@ -64,19 +74,19 @@
     }
 
     public static void collect(String body, Message msg) throws MessagingException, IOException {
-        String subject = msg.getSubject();
+//        String subject = msg.getSubject();
         StringBuffer sb = new StringBuffer();
-        sb.append( "<HTML>\n" );
-        sb.append( "<HEAD>\n" );
-        sb.append( "<TITLE>\n" );
-        sb.append( subject + "\n" );
-        sb.append( "</TITLE>\n" );
-        sb.append( "</HEAD>\n" );
-        sb.append( "<BODY>\n" );
-        sb.append( "<H1>" + subject + "</H1>" + "\n" );
+//        sb.append( "<HTML>\n" );
+//        sb.append( "<HEAD>\n" );
+//        sb.append( "<TITLE>\n" );
+//        sb.append( subject + "\n" );
+//        sb.append( "</TITLE>\n" );
+//        sb.append( "</HEAD>\n" );
+//        sb.append( "<BODY>\n" );
+//        sb.append( "<H1>" + subject + "</H1>" + "\n" );
         sb.append( body );
-        sb.append( "</BODY>\n" );
-        sb.append( "</HTML>\n" );
+//        sb.append( "</BODY>\n" );
+//        sb.append( "</HTML>\n" );
         msg.setDataHandler( new DataHandler( new ByteArrayDataSource( sb.toString(), "text/html" ) ) );
     }
 }

Added: labs/jbossrules/trunk/drools-process/drools-workitems/src/test/java/org/drools/process/workitem/email/EmailWorkItemHandlerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-workitems/src/test/java/org/drools/process/workitem/email/EmailWorkItemHandlerTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-workitems/src/test/java/org/drools/process/workitem/email/EmailWorkItemHandlerTest.java	2008-09-09 06:56:07 UTC (rev 22532)
@@ -0,0 +1,158 @@
+package org.drools.process.workitem.email;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMessage.RecipientType;
+
+import org.drools.process.instance.WorkItemManager;
+import org.drools.process.instance.impl.WorkItemImpl;
+import org.subethamail.wiser.Wiser;
+import org.subethamail.wiser.WiserMessage;
+
+
+import junit.framework.TestCase;
+
+public class EmailWorkItemHandlerTest extends TestCase {
+    Wiser wiser;
+    @Override
+    protected void setUp() throws Exception {
+         wiser = new Wiser();
+         wiser.start();
+
+    }
+    
+    @Override
+    protected void tearDown() throws Exception {
+        wiser.stop();
+    }
+    
+    public void testSingleTo() throws Exception {
+        EmailWorkItemHandler handler = new EmailWorkItemHandler();
+        handler.setConnection( "localhost", "25", null, null );   
+        
+        WorkItemImpl workItem = new WorkItemImpl();
+        workItem.setParameter( "To", "person1 at domain.com" );
+        workItem.setParameter( "From", "person2 at domain.com" );
+        workItem.setParameter( "Reply-To", "person3 at domain.com" );
+        workItem.setParameter( "Subject", "Subject 1" );
+        workItem.setParameter( "Body", "Body 1" );
+        
+        WorkItemManager manager = new WorkItemManager();
+        handler.executeWorkItem( workItem, manager );
+        
+        assertEquals( 1, wiser.getMessages().size() );
+        
+        MimeMessage msg = (( WiserMessage  ) wiser.getMessages().get( 0 )).getMimeMessage();
+        assertEquals( workItem.getParameter( "Body" ), msg.getContent() );
+        assertEquals( workItem.getParameter( "Subject" ), msg.getSubject() );
+        assertEquals( workItem.getParameter( "From" ), ((InternetAddress)msg.getFrom()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "Reply-To" ), ((InternetAddress)msg.getReplyTo()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "To" ), ((InternetAddress)msg.getRecipients( RecipientType.TO )[0]).getAddress() );
+        assertNull( msg.getRecipients( RecipientType.CC ) );
+        assertNull( msg.getRecipients( RecipientType.BCC ) );
+    }
+    
+    public void testSingleToWithSingleCCAndBCC() throws Exception {
+        EmailWorkItemHandler handler = new EmailWorkItemHandler();
+        handler.setConnection( "localhost", "25", null, null );   
+        
+        WorkItemImpl workItem = new WorkItemImpl();
+        workItem.setParameter( "To", "person1 at domain.com" );
+        workItem.setParameter( "Cc", "person2 at domain.com" );
+        workItem.setParameter( "Bcc", "person3 at domain.com" );
+        workItem.setParameter( "From", "person4 at domain.com" );
+        workItem.setParameter( "Reply-To", "person5 at domain.com" );
+        workItem.setParameter( "Subject", "Subject 1" );
+        workItem.setParameter( "Body", "Body 1" );
+        
+        WorkItemManager manager = new WorkItemManager();
+        handler.executeWorkItem( workItem, manager );
+        
+        assertEquals( 3, wiser.getMessages().size() );
+        
+        List<String> list = new ArrayList<String>(3);
+        list.add( wiser.getMessages().get( 0 ).getEnvelopeReceiver() );
+        list.add( wiser.getMessages().get( 1 ).getEnvelopeReceiver() );
+        list.add( wiser.getMessages().get( 2 ).getEnvelopeReceiver() );
+        
+        assertTrue( list.contains("person1 at domain.com"));
+        assertTrue( list.contains("person2 at domain.com"));
+        assertTrue( list.contains("person3 at domain.com"));
+        
+        
+        MimeMessage msg = (( WiserMessage  ) wiser.getMessages().get( 0 )).getMimeMessage();
+        assertEquals( workItem.getParameter( "From" ), wiser.getMessages().get( 0 ).getEnvelopeSender() );
+        assertEquals( workItem.getParameter( "Body" ), msg.getContent() );
+        assertEquals( workItem.getParameter( "Subject" ), msg.getSubject() );
+        assertEquals( workItem.getParameter( "From" ), ((InternetAddress)msg.getFrom()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "Reply-To" ), ((InternetAddress)msg.getReplyTo()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "To" ), ((InternetAddress)msg.getRecipients( RecipientType.TO )[0]).getAddress() );
+        assertEquals( workItem.getParameter( "Cc" ),((InternetAddress)msg.getRecipients( RecipientType.CC )[0]).getAddress()  );
+        
+        msg = (( WiserMessage  ) wiser.getMessages().get( 1 )).getMimeMessage();
+        assertEquals( workItem.getParameter( "From" ), wiser.getMessages().get( 1 ).getEnvelopeSender() );
+        assertEquals( workItem.getParameter( "Body" ), msg.getContent() );
+        assertEquals( workItem.getParameter( "Subject" ), msg.getSubject() );
+        assertEquals( workItem.getParameter( "From" ), ((InternetAddress)msg.getFrom()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "Reply-To" ), ((InternetAddress)msg.getReplyTo()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "To" ), ((InternetAddress)msg.getRecipients( RecipientType.TO )[0]).getAddress() );
+        assertEquals( workItem.getParameter( "Cc" ),((InternetAddress)msg.getRecipients( RecipientType.CC )[0]).getAddress()  );
+        
+        msg = (( WiserMessage  ) wiser.getMessages().get( 2 )).getMimeMessage();
+        assertEquals( workItem.getParameter( "From" ), wiser.getMessages().get( 2 ).getEnvelopeSender() );
+        assertEquals( workItem.getParameter( "Body" ), msg.getContent() );
+        assertEquals( workItem.getParameter( "Subject" ), msg.getSubject() );
+        assertEquals( workItem.getParameter( "From" ), ((InternetAddress)msg.getFrom()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "Reply-To" ), ((InternetAddress)msg.getReplyTo()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "To" ), ((InternetAddress)msg.getRecipients( RecipientType.TO )[0]).getAddress() );
+        assertEquals( workItem.getParameter( "Cc" ),((InternetAddress)msg.getRecipients( RecipientType.CC )[0]).getAddress()  );        
+    }    
+    
+    public void testMultipleToWithSingleCCAndBCC() throws Exception {
+        EmailWorkItemHandler handler = new EmailWorkItemHandler();
+        handler.setConnection( "localhost", "25", null, null );   
+        
+        WorkItemImpl workItem = new WorkItemImpl();
+        workItem.setParameter( "To", "person1 at domain.com; person2 at domain.com" );
+        workItem.setParameter( "Cc", "person3 at domain.com; person4 at domain.com"  );
+        workItem.setParameter( "Bcc","person5 at domain.com; person6 at domain.com"  );
+        workItem.setParameter( "From", "person4 at domain.com" );
+        workItem.setParameter( "Reply-To", "person5 at domain.com" );
+        workItem.setParameter( "Subject", "Subject 1" );
+        workItem.setParameter( "Body", "Body 1" );
+        
+        WorkItemManager manager = new WorkItemManager();
+        handler.executeWorkItem( workItem, manager );
+        
+        assertEquals( 6, wiser.getMessages().size() );
+        
+        List<String> list = new ArrayList<String>(6);
+        list.add( wiser.getMessages().get( 0 ).getEnvelopeReceiver() );
+        list.add( wiser.getMessages().get( 1 ).getEnvelopeReceiver() );
+        list.add( wiser.getMessages().get( 2 ).getEnvelopeReceiver() );
+        list.add( wiser.getMessages().get( 3 ).getEnvelopeReceiver() );
+        list.add( wiser.getMessages().get( 4 ).getEnvelopeReceiver() );
+        list.add( wiser.getMessages().get( 5 ).getEnvelopeReceiver() );
+        
+        assertTrue( list.contains("person1 at domain.com"));
+        assertTrue( list.contains("person2 at domain.com"));
+        assertTrue( list.contains("person3 at domain.com"));
+        assertTrue( list.contains("person4 at domain.com"));
+        assertTrue( list.contains("person5 at domain.com"));
+        assertTrue( list.contains("person6 at domain.com"));
+                
+        // We know from previous test that all MimeMessages will be identical
+        MimeMessage msg = (( WiserMessage  ) wiser.getMessages().get( 0 )).getMimeMessage();
+        assertEquals( workItem.getParameter( "From" ), wiser.getMessages().get( 0 ).getEnvelopeSender() );
+        assertEquals( workItem.getParameter( "Body" ), msg.getContent() );
+        assertEquals( workItem.getParameter( "Subject" ), msg.getSubject() );
+        assertEquals( workItem.getParameter( "From" ), ((InternetAddress)msg.getFrom()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "Reply-To" ), ((InternetAddress)msg.getReplyTo()[0]).getAddress() );
+        assertEquals( workItem.getParameter( "To" ), ((InternetAddress)msg.getRecipients( RecipientType.TO )[0]).getAddress() + "; " + ((InternetAddress)msg.getRecipients( RecipientType.TO )[1]).getAddress() );
+        assertEquals( workItem.getParameter( "Cc" ),((InternetAddress)msg.getRecipients( RecipientType.CC )[0]).getAddress()  + "; " +  ((InternetAddress)msg.getRecipients( RecipientType.CC )[1]).getAddress() );       
+    }    
+}




More information about the jboss-svn-commits mailing list