public void testQueryByInvalidKey() { CaseDefinitionQuery query = repositoryService.createCaseDefinitionQuery(); query .caseDefinitionKey("invalid"); verifyQueryResults(query, 0); try { query.caseDefinitionKey(null); fail(); } catch (NotValidException e) { // Expected exception } }
public void testQueryByKey() { CaseDefinitionQuery query = repositoryService.createCaseDefinitionQuery(); // case one query .caseDefinitionKey("one"); verifyQueryResults(query, 2); // case two query .caseDefinitionKey("two"); verifyQueryResults(query, 1); }
public long countDefinitionsByKey(String definitionKey) { return repositoryService.createCaseDefinitionQuery().caseDefinitionKey(definitionKey).count(); }
public void testQueryByLatest() { CaseDefinitionQuery query = repositoryService.createCaseDefinitionQuery(); query .latestVersion(); verifyQueryResults(query, 3); query .caseDefinitionKey("one") .latestVersion(); verifyQueryResults(query, 1); query .caseDefinitionKey("two").latestVersion(); verifyQueryResults(query, 1); }
public void testQueryByLatestNoTenantIdSet() { // deploy a second version for tenant one deploymentForTenant(TENANT_ONE, CMMN); CaseDefinitionQuery query = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey(CASE_DEFINITION_KEY) .latestVersion(); // one definition for each tenant assertThat(query.count(), is(3L)); Map<String, CaseDefinition> caseDefinitionsForTenant = getCaseDefinitionsForTenant(query.list()); assertThat(caseDefinitionsForTenant.get(TENANT_ONE).getVersion(), is(2)); assertThat(caseDefinitionsForTenant.get(TENANT_TWO).getVersion(), is(1)); assertThat(caseDefinitionsForTenant.get(null).getVersion(), is(1)); }
@Override public String getLatestDefinitionIdByKey(RepositoryService repositoryService, String key) { return repositoryService.createCaseDefinitionQuery().caseDefinitionKey(key).latestVersion().singleResult().getId(); }
@Deployment(resources = { "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.cmmn", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.a.png", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.b.png", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.c.png" }) public void testMultipleDiagramResourcesProvided() { final CaseDefinition caseA = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("a").singleResult(); final CaseDefinition caseB = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("b").singleResult(); final CaseDefinition caseC = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("c").singleResult(); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.a.png", caseA.getDiagramResourceName()); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.b.png", caseB.getDiagramResourceName()); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.c.png", caseC.getDiagramResourceName()); }
public void testQueryByLatestWithTenantIds() { // deploy a second version for tenant one deploymentForTenant(TENANT_ONE, CMMN); CaseDefinitionQuery query = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey(CASE_DEFINITION_KEY) .latestVersion() .tenantIdIn(TENANT_ONE, TENANT_TWO); // one definition for each tenant assertThat(query.count(), is(2L)); Map<String, CaseDefinition> caseDefinitionsForTenant = getCaseDefinitionsForTenant(query.list()); assertThat(caseDefinitionsForTenant.get(TENANT_ONE).getVersion(), is(2)); assertThat(caseDefinitionsForTenant.get(TENANT_TWO).getVersion(), is(1)); }
public void testQueryByLatestWithoutTenantId() { // deploy a second version without tenant id deployment(CMMN); CaseDefinitionQuery query = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey(CASE_DEFINITION_KEY) .latestVersion() .withoutTenantId(); assertThat(query.count(), is(1L)); CaseDefinition cDefinition = query.singleResult(); assertThat(cDefinition.getTenantId(), is(nullValue())); assertThat(cDefinition.getVersion(), is(2)); }
protected void createCaseInstance(String caseDefinitionKey) { CaseDefinition caseDefinition = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey(caseDefinitionKey) .latestVersion() .singleResult(); caseService.createCaseInstanceById(caseDefinition.getId()); }
private void removeHistoryTimeToLive() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().processDefinitionKey(ONE_TASK_PROCESS).list(); assertEquals(1, processDefinitions.size()); repositoryService.updateProcessDefinitionHistoryTimeToLive(processDefinitions.get(0).getId(), null); final List<DecisionDefinition> decisionDefinitions = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey(DECISION).list(); assertEquals(1, decisionDefinitions.size()); repositoryService.updateDecisionDefinitionHistoryTimeToLive(decisionDefinitions.get(0).getId(), null); final List<CaseDefinition> caseDefinitions = repositoryService.createCaseDefinitionQuery().caseDefinitionKey(ONE_TASK_CASE).list(); assertEquals(1, caseDefinitions.size()); repositoryService.updateCaseDefinitionHistoryTimeToLive(caseDefinitions.get(0).getId(), null); }
@Test public void providerCalledWithCaseDefinition_SubCaseInstance() { ContextLoggingTenantIdProvider tenantIdProvider = new ContextLoggingTenantIdProvider(); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy(CMMN_SUBPROCESS_FILE, CMMN_FILE); CaseDefinition deployedCaseDefinition = engineRule.getRepositoryService().createCaseDefinitionQuery().caseDefinitionKey("oneTaskCase").singleResult(); // if a case instance is created engineRule.getCaseService().withCaseDefinitionByKey(CASE_DEFINITION_KEY).create(); // then the tenant id provider is passed in the case definition CaseDefinition passedCaseDefinition = tenantIdProvider.caseParameters.get(1).getCaseDefinition(); assertThat(passedCaseDefinition, is(notNullValue())); assertThat(passedCaseDefinition.getId(), is(deployedCaseDefinition.getId())); }
public void testQueryByCaseDefinitionId() { String caseDefinitionId = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey(CASE_DEFINITION_KEY) .singleResult() .getId(); CaseInstanceQuery query = caseService.createCaseInstanceQuery(); query.caseDefinitionId(caseDefinitionId); verifyQueryResults(query, 4); }
@Test public void testReportCompact() { // given List<CaseDefinition> caseDefinitions = repositoryService.createCaseDefinitionQuery().caseDefinitionKey(CASE_DEFINITION_KEY).list(); assertEquals(1, caseDefinitions.size()); List<CleanableHistoricCaseInstanceReportResult> resultWithZeros = historyService.createCleanableHistoricCaseInstanceReport().list(); assertEquals(1, resultWithZeros.size()); assertEquals(0, resultWithZeros.get(0).getFinishedCaseInstanceCount()); // when long resultCountWithoutZeros = historyService.createCleanableHistoricCaseInstanceReport().compact().count(); // then assertEquals(0, resultCountWithoutZeros); }
@Test public void testDeployProcessArchive() { Assert.assertNotNull(processEngine); RepositoryService repositoryService = processEngine.getRepositoryService(); long count = repositoryService.createCaseDefinitionQuery() .caseDefinitionKey("testDeployProcessArchiveWithCmmn") .count(); Assert.assertEquals(1, count); }
@Test public void providerCalledWithSuperCaseInstance() { ContextLoggingTenantIdProvider tenantIdProvider = new ContextLoggingTenantIdProvider(); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy(CMMN_SUBPROCESS_FILE, CMMN_FILE_WITH_MANUAL_ACTIVATION); CaseDefinition superCaseDefinition = engineRule.getRepositoryService().createCaseDefinitionQuery().caseDefinitionKey(CASE_DEFINITION_KEY).singleResult(); // if a case instance is created engineRule.getCaseService().withCaseDefinitionByKey(CASE_DEFINITION_KEY).create(); startCaseTask(); // then the tenant id provider is passed in the case definition DelegateCaseExecution superCaseExecution = tenantIdProvider.caseParameters.get(1).getSuperCaseExecution(); assertThat(superCaseExecution, is(notNullValue())); assertThat(superCaseExecution.getCaseDefinitionId(), is(superCaseDefinition.getId())); }
private void prepareCaseInstances(String key, int daysInThePast, Integer historyTimeToLive, int instanceCount) { // update time to live List<CaseDefinition> caseDefinitions = repositoryService.createCaseDefinitionQuery().caseDefinitionKey(key).list(); assertEquals(1, caseDefinitions.size()); repositoryService.updateCaseDefinitionHistoryTimeToLive(caseDefinitions.get(0).getId(), historyTimeToLive); Date oldCurrentTime = ClockUtil.getCurrentTime(); ClockUtil.setCurrentTime(DateUtils.addDays(oldCurrentTime, daysInThePast)); for (int i = 0; i < instanceCount; i++) { CaseInstance caseInstance = caseService.createCaseInstanceByKey(key); caseService.terminateCaseExecution(caseInstance.getId()); caseService.closeCaseInstance(caseInstance.getId()); } ClockUtil.setCurrentTime(oldCurrentTime); }
protected void createCaseInstance(String tenantId) { String caseDefinitionId = null; CaseDefinitionQuery caseDefinitionQuery = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("oneTaskCase"); if (tenantId == null) { caseDefinitionId = caseDefinitionQuery.withoutTenantId().singleResult().getId(); } else { caseDefinitionId = caseDefinitionQuery.tenantIdIn(tenantId).singleResult().getId(); } caseService.withCaseDefinition(caseDefinitionId).create(); }
protected void createCaseInstance(String tenantId) { String caseDefinitionId = null; CaseDefinitionQuery caseDefinitionQuery = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("oneTaskCase"); if (tenantId == null) { caseDefinitionId = caseDefinitionQuery.withoutTenantId().singleResult().getId(); } else { caseDefinitionId = caseDefinitionQuery.tenantIdIn(tenantId).singleResult().getId(); } caseService.withCaseDefinition(caseDefinitionId).create(); }
public void testStartCaseInstanceWithLatestBindingDifferentVersion() { deploymentForTenant(TENANT_ONE, CMMN_LATEST_WITH_MANUAL_ACTIVATION, CMMN_CASE); deploymentForTenant(TENANT_TWO, CMMN_LATEST_WITH_MANUAL_ACTIVATION, CMMN_CASE); deploymentForTenant(TENANT_TWO, CMMN_CASE); createCaseInstance("caseTaskCase", TENANT_ONE); createCaseInstance("caseTaskCase", TENANT_TWO); CaseInstanceQuery query = caseService.createCaseInstanceQuery().caseDefinitionKey("oneTaskCase"); assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L)); CaseDefinition latestCaseDefinitionTenantTwo = repositoryService.createCaseDefinitionQuery(). caseDefinitionKey("oneTaskCase").tenantIdIn(TENANT_TWO).latestVersion().singleResult(); query = caseService.createCaseInstanceQuery().caseDefinitionId(latestCaseDefinitionTenantTwo.getId()); assertThat(query.count(), is(1L)); }