public virtual void shouldSetExternalTaskRetriesWithDifferentListAndQueryAsync() { // given IQueryable <ESS.FW.Bpm.Engine.Externaltask.IExternalTask> externalTaskQuery = externalTaskService.CreateExternalTaskQuery(c => c.ProcessInstanceId == processInstanceIds[0]); IList <ESS.FW.Bpm.Engine.Externaltask.IExternalTask> externalTasks = externalTaskService.CreateExternalTaskQuery(c => c.ProcessInstanceId == processInstanceIds[processInstanceIds.Count - 1]) .ToList(); ; List <string> externalTaskIds = new List <string>(); foreach (ESS.FW.Bpm.Engine.Externaltask.IExternalTask t in externalTasks) { externalTaskIds.Add(t.Id); } // when IBatch batch = externalTaskService.SetRetriesAsync(externalTaskIds, externalTaskQuery, 8); executeSeedAndBatchJobs(batch); // then ESS.FW.Bpm.Engine.Externaltask.IExternalTask task = externalTaskService.CreateExternalTaskQuery(c => c.ProcessInstanceId == processInstanceIds[0]).First(); Assert.AreEqual(8, (int)task.Retries); IList <ESS.FW.Bpm.Engine.Externaltask.IExternalTask> tasks = externalTaskService.CreateExternalTaskQuery(c => c.ProcessInstanceId == processInstanceIds[processInstanceIds.Count - 1]) .ToList(); ; foreach (ESS.FW.Bpm.Engine.Externaltask.IExternalTask t in tasks) { Assert.AreEqual(8, (int)t.Retries); } }
[Test] public virtual void testPropagateTenantIdToExternalTask() { DeploymentForTenant(TENANT_ID, ESS.FW.Bpm.Model.Bpmn.Bpmn.CreateExecutableProcess(PROCESS_DEFINITION_KEY).StartEvent().ServiceTask().CamundaType("external").CamundaTopic("test").EndEvent().Done()); startProcessInstance(PROCESS_DEFINITION_KEY); ESS.FW.Bpm.Engine.Externaltask.IExternalTask externalTask = externalTaskService.CreateExternalTaskQuery().First(); //Assert.That(externalTask, Is.Not.EqualTo(null)); // inherit the tenant id from execution Assert.That(externalTask.TenantId, Is.EqualTo(TENANT_ID)); //IList<ILockedExternalTask> externalTasks = externalTaskService.FetchAndLock(1, "test").Topic("test", 1000).Execute(); //Assert.That(externalTasks.Count, Is.EqualTo(1)); //Assert.That(externalTasks[0].TenantId, Is.EqualTo(TENANT_ID)); }
public virtual void testFilterByExternalTaskPriorityLowerAndHigher() { // given five jobs with priorities from 1 to 5 IList <IProcessInstance> instances = new List <IProcessInstance>(); for (int i = 0; i < 5; i++) { instances.Add(runtimeService.StartProcessInstanceByKey("twoExternalTaskWithPriorityProcess", ESS.FW.Bpm.Engine.Variable.Variables.CreateVariables().PutValue("priority", i))); } // when making a external task query and filtering by external task priority // then the correct external task is returned ESS.FW.Bpm.Engine.Externaltask.IExternalTask task = externalTaskService.CreateExternalTaskQuery(c => c.Priority >= 2L && c.Priority <= 2L).First(); Assert.NotNull(task); Assert.AreEqual(2, task.Priority); Assert.AreEqual(instances[2].Id, task.ProcessInstanceId); }
public virtual void testSetRetries() { // given IProcessInstance processInstance = engineRule.RuntimeService.StartProcessInstanceByKey("oneExternalTaskProcess"); ESS.FW.Bpm.Engine.Externaltask.IExternalTask task = engineRule.ExternalTaskService.CreateExternalTaskQuery().First(); // when authRule.Init(scenario).WithUser("userId").BindResource("ProcessInstanceId", processInstance.Id).BindResource("processDefinitionKey", "oneExternalTaskProcess").Start(); engineRule.ExternalTaskService.SetRetries(task.Id, 5); // then if (authRule.AssertScenario(scenario)) { task = engineRule.ExternalTaskService.CreateExternalTaskQuery().First(); Assert.AreEqual(5, (int)task.Retries); } }
protected internal virtual void completeExternalTaskWithFailure(IProcessInstance pi) { ESS.FW.Bpm.Engine.Externaltask.IExternalTask task = externalTaskService.CreateExternalTaskQuery(c => c.ProcessInstanceId == pi.Id).First(); completeExternalTaskWithFailure(task.Id); }