Search in sources :

Example 1 with TaskBuilder

use of org.motechproject.tasks.domain.mds.task.builder.TaskBuilder in project motech by motech.

the class TaskContextTest method shouldThrowExceptionWhenAccessingUnconfiguredDataSource.

@Test
public void shouldThrowExceptionWhenAccessingUnconfiguredDataSource() throws Exception {
    Task task = new TaskBuilder().addAction(new TaskActionInformation()).build();
    TaskContext taskContext = new TaskContext(task, null, null, activityService);
    taskContext.addDataSourceObject("1", new TestDataSourceObject(), false);
    KeyInformation key = parse("ad.1.Integer#2.id");
    expectedException.expect(TaskHandlerException.class);
    expectedException.expect(new TaskHandlerExceptionMatcher(TaskFailureCause.DATA_SOURCE, "task.error.objectOfTypeNotFound", key.getObjectType()));
    taskContext.getDataSourceObjectValue(key.getObjectId().toString(), key.getKey(), key.getObjectType());
}
Also used : TaskBuilder(org.motechproject.tasks.domain.mds.task.builder.TaskBuilder) Task(org.motechproject.tasks.domain.mds.task.Task) TaskActionInformation(org.motechproject.tasks.domain.mds.task.TaskActionInformation) KeyInformation(org.motechproject.tasks.domain.KeyInformation) Test(org.junit.Test)

Example 2 with TaskBuilder

use of org.motechproject.tasks.domain.mds.task.builder.TaskBuilder in project motech by motech.

the class TaskContextTest method testGetDataSourceValueForBooleanWithGetterIs.

@Test
public void testGetDataSourceValueForBooleanWithGetterIs() throws Exception {
    Task task = new TaskBuilder().addAction(new TaskActionInformation()).build();
    TaskContext taskContext = new TaskContext(task, null, null, activityService);
    taskContext.addDataSourceObject("1", new TestDataSourceObject(), true);
    KeyInformation key = parse("ad.1.Boolean#1.checked");
    assertEquals(true, taskContext.getDataSourceObjectValue(key.getObjectId().toString(), key.getKey(), key.getObjectType()));
}
Also used : TaskBuilder(org.motechproject.tasks.domain.mds.task.builder.TaskBuilder) Task(org.motechproject.tasks.domain.mds.task.Task) TaskActionInformation(org.motechproject.tasks.domain.mds.task.TaskActionInformation) KeyInformation(org.motechproject.tasks.domain.KeyInformation) Test(org.junit.Test)

Example 3 with TaskBuilder

use of org.motechproject.tasks.domain.mds.task.builder.TaskBuilder in project motech by motech.

the class TaskContextTest method shouldThrowExceptionWhenDataSourceFieldValueEvaluationThrowsException.

@Test
public void shouldThrowExceptionWhenDataSourceFieldValueEvaluationThrowsException() throws Exception {
    Task task = new TaskBuilder().addAction(new TaskActionInformation()).build();
    TaskContext taskContext = new TaskContext(task, null, null, activityService);
    taskContext.addDataSourceObject("1", new TestDataSourceObject(), true);
    KeyInformation key = parse("ad.1.Integer#1.providerId");
    expectedException.expect(TaskHandlerException.class);
    expectedException.expect(new TaskHandlerExceptionMatcher(TaskFailureCause.DATA_SOURCE, "task.error.objectDoesNotContainField", key.getKey()));
    taskContext.getDataSourceObjectValue(key.getObjectId().toString(), key.getKey(), key.getObjectType());
}
Also used : TaskBuilder(org.motechproject.tasks.domain.mds.task.builder.TaskBuilder) Task(org.motechproject.tasks.domain.mds.task.Task) TaskActionInformation(org.motechproject.tasks.domain.mds.task.TaskActionInformation) KeyInformation(org.motechproject.tasks.domain.KeyInformation) Test(org.junit.Test)

Example 4 with TaskBuilder

use of org.motechproject.tasks.domain.mds.task.builder.TaskBuilder in project motech by motech.

the class TaskContextTest method testGetTriggerKey.

@Test
public void testGetTriggerKey() throws Exception {
    Map<String, Object> parameters = new HashMap<>();
    Task task = new TaskBuilder().addAction(new TaskActionInformation()).build();
    TaskContext taskContext = new TaskContext(task, null, null, activityService);
    KeyInformation key = parse(String.format("%s.%s", TRIGGER_PREFIX, EVENT_KEY));
    assertEquals(null, taskContext.getTriggerValue(key.getKey()));
    Map<String, String> child = new HashMap<>();
    child.put("key", EVENT_KEY_VALUE);
    parameters.put("event", child);
    taskContext = new TaskContext(task, parameters, null, activityService);
    assertEquals(EVENT_KEY_VALUE, taskContext.getTriggerValue(key.getKey()));
}
Also used : TaskBuilder(org.motechproject.tasks.domain.mds.task.builder.TaskBuilder) Task(org.motechproject.tasks.domain.mds.task.Task) HashMap(java.util.HashMap) TaskActionInformation(org.motechproject.tasks.domain.mds.task.TaskActionInformation) KeyInformation(org.motechproject.tasks.domain.KeyInformation) Test(org.junit.Test)

Example 5 with TaskBuilder

use of org.motechproject.tasks.domain.mds.task.builder.TaskBuilder in project motech by motech.

the class TaskContextTest method shouldNotThrowExceptionWhenDataSourceIsNull_IfFailNotFoundIsFalse.

@Test
public void shouldNotThrowExceptionWhenDataSourceIsNull_IfFailNotFoundIsFalse() throws Exception {
    Task task = new TaskBuilder().addAction(new TaskActionInformation()).build();
    TaskContext taskContext = new TaskContext(task, null, null, activityService);
    taskContext.addDataSourceObject("1", null, false);
    KeyInformation key = parse("ad.1.Integer#1.id");
    assertNull(taskContext.getDataSourceObjectValue(key.getObjectId().toString(), key.getKey(), key.getObjectType()));
}
Also used : TaskBuilder(org.motechproject.tasks.domain.mds.task.builder.TaskBuilder) Task(org.motechproject.tasks.domain.mds.task.Task) TaskActionInformation(org.motechproject.tasks.domain.mds.task.TaskActionInformation) KeyInformation(org.motechproject.tasks.domain.KeyInformation) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)26 Task (org.motechproject.tasks.domain.mds.task.Task)26 TaskBuilder (org.motechproject.tasks.domain.mds.task.builder.TaskBuilder)26 TaskActionInformation (org.motechproject.tasks.domain.mds.task.TaskActionInformation)24 HashMap (java.util.HashMap)11 KeyInformation (org.motechproject.tasks.domain.KeyInformation)10 ActionEvent (org.motechproject.tasks.domain.mds.channel.ActionEvent)9 ObjectTest (org.motechproject.tasks.domain.ObjectTest)8 ActionEventBuilder (org.motechproject.tasks.domain.mds.channel.builder.ActionEventBuilder)8 TreeSet (java.util.TreeSet)7 TaskContext (org.motechproject.tasks.service.util.TaskContext)7 MotechEvent (org.motechproject.event.MotechEvent)5 DataSource (org.motechproject.tasks.domain.mds.task.DataSource)5 FilterSet (org.motechproject.tasks.domain.mds.task.FilterSet)4 TaskConfig (org.motechproject.tasks.domain.mds.task.TaskConfig)4 TaskTriggerInformation (org.motechproject.tasks.domain.mds.task.TaskTriggerInformation)4 ArrayList (java.util.ArrayList)3 Filter (org.motechproject.tasks.domain.mds.task.Filter)3 ObjectMapper (org.codehaus.jackson.map.ObjectMapper)2 Matchers.anyString (org.mockito.Matchers.anyString)2