Author: bago
Date: Wed Aug 13 05:25:15 2008
New Revision: 685527

URL: http://svn.apache.org/viewvc?rev=685527&view=rev
Log:
Updated AbstractRemoteDeliveryTest to better check results in testMulti 
(related to JAMES-850).
Some of the test had a simulation of a one-on-two failing server. The expected 
result was a success delivery because we do multiple attempts but this was not 
predictable when we run mutliple deliveries.
Introduced an "unknown" expected result so that for some of them we accept both 
a SENT or a FAILURE, but we at least check we had a delivery attempt (not IDLE).

Modified:
    
james/server/trunk/mailets-function/src/test/java/org/apache/james/transport/remotedeliverytester/AbstractRemoteDeliveryTest.java

Modified: 
james/server/trunk/mailets-function/src/test/java/org/apache/james/transport/remotedeliverytester/AbstractRemoteDeliveryTest.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailets-function/src/test/java/org/apache/james/transport/remotedeliverytester/AbstractRemoteDeliveryTest.java?rev=685527&r1=685526&r2=685527&view=diff
==============================================================================
--- 
james/server/trunk/mailets-function/src/test/java/org/apache/james/transport/remotedeliverytester/AbstractRemoteDeliveryTest.java
 (original)
+++ 
james/server/trunk/mailets-function/src/test/java/org/apache/james/transport/remotedeliverytester/AbstractRemoteDeliveryTest.java
 Wed Aug 13 05:25:15 2008
@@ -680,17 +680,23 @@
         };
     }
     
+    /**
+     * "OK" : we expect the mail to this recipient to be delivered
+     * "KO" : we expect the mail to this recipient to fail
+     * "NA" : the result is not predictable because of random behaviour, but 
we expect attempts.
+     * "ID" : we expect no attempt because of early failures.
+     */
     protected String[][] getTestMultiEmails() {
         return new String[][] {
-            { "a.it", "[EMAIL PROTECTED]", "1", "[EMAIL PROTECTED]", "1", 
"[EMAIL PROTECTED]", "1"},
-            { "b.it", "[EMAIL PROTECTED]", "1", "[EMAIL PROTECTED]", "1", 
"[EMAIL PROTECTED]", "1"},
-            { "c.it", "[EMAIL PROTECTED]", "0", "[EMAIL PROTECTED]", "0", 
"[EMAIL PROTECTED]", "0"},
-            { "d.it", "[EMAIL PROTECTED]", "1", "[EMAIL PROTECTED]", "1", 
"[EMAIL PROTECTED]", "1"},
-            { "e.it", "[EMAIL PROTECTED]", "0", "[EMAIL PROTECTED]", "1", 
"[EMAIL PROTECTED]", "1"},
-            { "f.it", "[EMAIL PROTECTED]", "1", "[EMAIL PROTECTED]", "1", 
"[EMAIL PROTECTED]", "1"},
-            { "g.it", "[EMAIL PROTECTED]", "0", "[EMAIL PROTECTED]", "0", 
"[EMAIL PROTECTED]", "1"},
-            { "h.it", "[EMAIL PROTECTED]", "0", "[EMAIL PROTECTED]", "0", 
"[EMAIL PROTECTED]", "0"},
-            { "i.it", "[EMAIL PROTECTED]", "1", "[EMAIL PROTECTED]", "1", 
"[EMAIL PROTECTED]", "1"},
+            { "a.it", "[EMAIL PROTECTED]", "OK", "[EMAIL PROTECTED]", "OK", 
"[EMAIL PROTECTED]", "OK"},
+            { "b.it", "[EMAIL PROTECTED]", "OK", "[EMAIL PROTECTED]", "OK", 
"[EMAIL PROTECTED]", "OK"},
+            { "c.it", "[EMAIL PROTECTED]", "KO", "[EMAIL PROTECTED]", "KO", 
"[EMAIL PROTECTED]", "KO"},
+            { "d.it", "[EMAIL PROTECTED]", "NA", "[EMAIL PROTECTED]", "NA", 
"[EMAIL PROTECTED]", "NA"},
+            { "e.it", "[EMAIL PROTECTED]", "KO", "[EMAIL PROTECTED]", "OK", 
"[EMAIL PROTECTED]", "OK"},
+            { "f.it", "[EMAIL PROTECTED]", "OK", "[EMAIL PROTECTED]", "OK", 
"[EMAIL PROTECTED]", "OK"},
+            { "g.it", "[EMAIL PROTECTED]", "KO", "[EMAIL PROTECTED]", "KO", 
"[EMAIL PROTECTED]", "NA"},
+            { "h.it", "[EMAIL PROTECTED]", "ID", "[EMAIL PROTECTED]", "ID", 
"[EMAIL PROTECTED]", "ID"},
+            { "i.it", "[EMAIL PROTECTED]", "OK", "[EMAIL PROTECTED]", "OK", 
"[EMAIL PROTECTED]", "OK"},
         };
     }
     
@@ -780,10 +786,29 @@
                     ProcMail pmail = results[i].get(j);
                     System.out.print(pmail.getKey() + " status:" + 
(pmail.getState() == ProcMail.STATE_SENT ? "SENT" : pmail.getState() == 
ProcMail.STATE_SENT_ERROR ? "ERR" : "" + pmail.getState() ) + " sends:" + 
pmail.getSendCount());
                     String res = (String) 
emailsRes.get(pmail.getRecipient().toString());
-                    if (pmail.getState() == ProcMail.STATE_IDLE) 
pmail.setState(ProcMail.STATE_SENT_ERROR);
-                    if (pmail.getState() != (res.equals("0") ? 
ProcMail.STATE_SENT_ERROR: ProcMail.STATE_SENT)) {
-                        System.out.print(" <<< ERROR");
-                        error = true;
+                    // if (pmail.getState() == ProcMail.STATE_IDLE) 
pmail.setState(ProcMail.STATE_SENT_ERROR);
+                    if ("ID".equals(res)) {
+                        if (pmail.getState() != ProcMail.STATE_IDLE) {
+                            error = true;
+                            System.out.print(" <<< ERROR, expected 
STATE_IDLE");
+                        }
+                    } else if ("KO".equals(res)) {
+                        if (pmail.getState() != ProcMail.STATE_SENT_ERROR) {
+                            error = true;
+                            System.out.print(" <<< ERROR, expected 
STATE_SENT_ERROR");
+                        }
+                    } else if ("OK".equals(res)) {
+                        if (pmail.getState() != ProcMail.STATE_SENT) {
+                            error = true;
+                            System.out.print(" <<< ERROR, expected 
STATE_SENT");
+                        }
+                    } else if ("NA".equals(res)) {
+                        if (pmail.getState() != ProcMail.STATE_SENT && 
pmail.getState() != ProcMail.STATE_SENT_ERROR) {
+                            error = true;
+                            System.out.print(" <<< ERROR, expected STATE_SENT 
or STATE_SENT_ERROR");
+                        }
+                    } else {
+                        throw new IllegalStateException("wrong expectation: 
"+res+". Check the test code!");
                     }
                     System.out.print("\n");
                 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to