[jbpm-commits] JBoss JBPM SVN: r2669 - jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Oct 30 05:34:45 EDT 2008
Author: tom.baeyens at jboss.com
Date: 2008-10-30 05:34:45 -0400 (Thu, 30 Oct 2008)
New Revision: 2669
Modified:
jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/MailTest.java
jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/TaskMailTest.java
Log:
[JBPM-850] Cope with null values coming out of the email address resolver
Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/MailTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/MailTest.java 2008-10-30 08:45:49 UTC (rev 2668)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/MailTest.java 2008-10-30 09:34:45 UTC (rev 2669)
@@ -19,6 +19,9 @@
public static class TestAddressResolver implements AddressResolver {
private static final long serialVersionUID = 1L;
public Object resolveAddress(String actorId) {
+ if ("ghost".equals(actorId)) {
+ return null;
+ }
return actorId+"@example.domain";
}
}
Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/TaskMailTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/TaskMailTest.java 2008-10-30 08:45:49 UTC (rev 2668)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/mail/TaskMailTest.java 2008-10-30 09:34:45 UTC (rev 2669)
@@ -43,6 +43,8 @@
{
super.setUp();
server = MailTest.startSmtpServer(23583);
+ TestSchedulerService testSchedulerService = (TestSchedulerService) jbpmConfiguration.getServiceFactory("scheduler");
+ testSchedulerService.reset();
jbpmContext = jbpmConfiguration.createJbpmContext();
}
@@ -88,11 +90,16 @@
}
public static class TestSchedulerService implements SchedulerService, ServiceFactory {
-
private static final long serialVersionUID = 1L;
- List createdTimers = new ArrayList();
- List cancelledTimers = new ArrayList();
-
+ List createdTimers = null;
+ List cancelledTimers = null;
+ public TestSchedulerService() {
+ reset();
+ }
+ public void reset() {
+ createdTimers = new ArrayList();
+ cancelledTimers = new ArrayList();
+ }
public void createTimer(Timer timer) {
createdTimers.add(timer);
}
@@ -109,7 +116,6 @@
}
public void close() {
}
-
}
public void testTaskInstanceReminder() throws Exception {
@@ -156,4 +162,41 @@
taskInstance.end();
assertEquals(1, testSchedulerService.cancelledTimers.size());
}
+
+ public static class GhostAssigner implements AssignmentHandler {
+ private static final long serialVersionUID = 1L;
+ public void assign(Assignable assignable, ExecutionContext executionContext) throws Exception {
+ assignable.setActorId("ghost");
+ }
+ }
+
+ public void testUnexistingUser() throws Exception {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
+ "<process-definition>" +
+ " <start-state>" +
+ " <transition to='a' />" +
+ " </start-state>" +
+ " <task-node name='a'>" +
+ " <task name='laundry' notify='true'>" +
+ " <assignment class='org.jbpm.mail.TaskMailTest$GhostAssigner' />" +
+ " </task>" +
+ " <transition to='b' />" +
+ " </task-node>" +
+ " <state name='b' />" +
+ "</process-definition>"
+ );
+ ProcessInstance processInstance = new ProcessInstance(processDefinition);
+ processInstance.signal();
+
+ assertEquals(0, server.getReceivedEmailSize());
+
+ TaskMgmtInstance taskMgmtInstance = processInstance.getTaskMgmtInstance();
+ TaskInstance taskInstance = (TaskInstance) taskMgmtInstance.getTaskInstances().iterator().next();
+
+ // ghost will get null as an email address in the org.jbpm.mail.MailTest$TestAddressResolver
+ assertEquals("ghost", taskInstance.getActorId());
+
+ taskInstance.end();
+ assertEquals(0, server.getReceivedEmailSize());
+ }
}
More information about the jbpm-commits
mailing list