Search in sources :

Example 1 with KeyInformation

use of org.motechproject.tasks.domain.KeyInformation 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 KeyInformation

use of org.motechproject.tasks.domain.KeyInformation 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 KeyInformation

use of org.motechproject.tasks.domain.KeyInformation 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 KeyInformation

use of org.motechproject.tasks.domain.KeyInformation 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 KeyInformation

use of org.motechproject.tasks.domain.KeyInformation 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

KeyInformation (org.motechproject.tasks.domain.KeyInformation)15 Test (org.junit.Test)10 Task (org.motechproject.tasks.domain.mds.task.Task)10 TaskActionInformation (org.motechproject.tasks.domain.mds.task.TaskActionInformation)10 TaskBuilder (org.motechproject.tasks.domain.mds.task.builder.TaskBuilder)10 HashMap (java.util.HashMap)2 MotechEvent (org.motechproject.event.MotechEvent)2 TaskHandlerException (org.motechproject.tasks.exception.TaskHandlerException)2 SimpleDateFormat (java.text.SimpleDateFormat)1 HashSet (java.util.HashSet)1 MotechException (org.motechproject.commons.api.MotechException)1 DataSource (org.motechproject.tasks.domain.mds.task.DataSource)1 Filter (org.motechproject.tasks.domain.mds.task.Filter)1 TaskError (org.motechproject.tasks.domain.mds.task.TaskError)1