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]