Workflow REST API fix for variable scope

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@55723 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tijs Rademakers
2013-09-20 09:30:23 +00:00
parent ec90eb3725
commit 1b7dcb26b8
4 changed files with 212 additions and 61 deletions

View File

@@ -39,6 +39,7 @@ import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.security.PersonService;
import org.alfresco.service.cmr.site.SiteVisibility;
import org.alfresco.util.GUID;
import org.alfresco.util.ISO8601DateFormat;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.junit.Before;
@@ -286,6 +287,7 @@ public class EnterpriseWorkflowTestApi extends EnterpriseTestApi
final JSONObject variablesObject = new JSONObject();
variablesObject.put("bpm_priority", 1);
variablesObject.put("bpm_workflowDueDate", ISO8601DateFormat.format(new Date()));
variablesObject.put("wf_notifyMe", Boolean.FALSE);
TenantUtil.runAsUserTenant(new TenantRunAsWork<Void>()

View File

@@ -1539,36 +1539,44 @@ public class TaskWorkflowApiTest extends EnterpriseWorkflowTestApi
params.put("where", "(status = 'any' AND startedAt < '" + ISO8601DateFormat.format(compareCal.getTime()) +"')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/local/numberVar > 'd:int 5')");
assertTasksPresentInTaskQuery(params, tasksClient, activeTask.getId());
params.clear();
params.put("where", "(variables/local/numberVar > 'd:int 10')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/local/numberVar >= 'd_int 10')");
assertTasksPresentInTaskQuery(params, tasksClient, activeTask.getId());
params.clear();
params.put("where", "(variables/local/numberVar >= 'd:int 11')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/local/numberVar <= 'd:int 10')");
assertTasksPresentInTaskQuery(params, tasksClient, activeTask.getId());
params.clear();
params.put("where", "(variables/local/numberVar <= 'd:int 9')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/local/numberVar < 'd_int 15')");
assertTasksPresentInTaskQuery(params, tasksClient, activeTask.getId());
params.clear();
params.put("where", "(variables/local/numberVar < 'd:int 10')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/global/numberVar > 'd:int 5')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/numberVar > 'd:int 5')");
assertTasksPresentInTaskQuery(params, tasksClient, activeTask.getId());
params.clear();
params.put("where", "(variables/numberVar > 'd:int 10')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/numberVar >= 'd_int 10')");
assertTasksPresentInTaskQuery(params, tasksClient, activeTask.getId());
params.clear();
params.put("where", "(variables/numberVar >= 'd:int 11')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/numberVar <= 'd:int 10')");
assertTasksPresentInTaskQuery(params, tasksClient, activeTask.getId());
params.clear();
params.put("where", "(variables/numberVar <= 'd:int 9')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/numberVar < 'd_int 15')");
assertTasksPresentInTaskQuery(params, tasksClient, activeTask.getId());
params.clear();
params.put("where", "(variables/numberVar < 'd:int 10')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
@@ -1579,6 +1587,10 @@ public class TaskWorkflowApiTest extends EnterpriseWorkflowTestApi
params.put("where", "(variables/bpm_dueDate = 'd:datetime 2013-09-15T12:22:31.866+0000')");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/bpm_dueDate > 'd:datetime 2013-09-15T12:22:31.866+0000')");
assertEquals(1, getResultSizeForTaskQuery(params, tasksClient));
params.clear();
params.put("where", "(variables/bpm_comment MATCHES ('test%'))");
assertEquals(0, getResultSizeForTaskQuery(params, tasksClient));