private void setUpRuntimeData(CaseDefinition mockCaseDefinition) { repositoryServiceMock = mock(RepositoryService.class); when(processEngine.getRepositoryService()).thenReturn(repositoryServiceMock); when(repositoryServiceMock.getCaseDefinition(eq(MockProvider.EXAMPLE_CASE_DEFINITION_ID))).thenReturn(mockCaseDefinition); when(repositoryServiceMock.getCaseModel(eq(MockProvider.EXAMPLE_CASE_DEFINITION_ID))).thenReturn(createMockCaseDefinitionCmmnXml()); caseDefinitionQueryMock = mock(CaseDefinitionQuery.class); when(caseDefinitionQueryMock.caseDefinitionKey(MockProvider.EXAMPLE_CASE_DEFINITION_KEY)).thenReturn(caseDefinitionQueryMock); when(caseDefinitionQueryMock.tenantIdIn(anyString())).thenReturn(caseDefinitionQueryMock); when(caseDefinitionQueryMock.withoutTenantId()).thenReturn(caseDefinitionQueryMock); when(caseDefinitionQueryMock.latestVersion()).thenReturn(caseDefinitionQueryMock); when(caseDefinitionQueryMock.singleResult()).thenReturn(mockCaseDefinition); when(caseDefinitionQueryMock.list()).thenReturn(Collections.singletonList(mockCaseDefinition)); when(repositoryServiceMock.createCaseDefinitionQuery()).thenReturn(caseDefinitionQueryMock); }
public void testQueryByDefinitionsWithoutTenantId() { CaseDefinitionQuery query = repositoryService .createCaseDefinitionQuery() .withoutTenantId(); assertThat(query.count(), is(1L)); }
@Override public CaseDefinitionResource getCaseDefinitionByKey(String caseDefinitionKey) { CaseDefinition caseDefinition = getProcessEngine() .getRepositoryService() .createCaseDefinitionQuery() .caseDefinitionKey(caseDefinitionKey) .withoutTenantId() .latestVersion() .singleResult(); if (caseDefinition == null) { String errorMessage = String.format("No matching case definition with key: %s and no tenant-id", caseDefinitionKey); throw new RestException(Status.NOT_FOUND, errorMessage); } else { return getCaseDefinitionById(caseDefinition.getId()); } }
@Override public CaseDefinitionResource getCaseDefinitionByKey(String caseDefinitionKey) { CaseDefinition caseDefinition = getProcessEngine() .getRepositoryService() .createCaseDefinitionQuery() .caseDefinitionKey(caseDefinitionKey) .withoutTenantId() .latestVersion() .singleResult(); if (caseDefinition == null) { String errorMessage = String.format("No matching case definition with key: %s and no tenant-id", caseDefinitionKey); throw new RestException(Status.NOT_FOUND, errorMessage); } else { return getCaseDefinitionById(caseDefinition.getId()); } }
public void testQueryAuthenticatedTenants() { identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE, TENANT_TWO)); CaseDefinitionQuery query = repositoryService.createCaseDefinitionQuery(); assertThat(query.count(), is(3L)); assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L)); assertThat(query.tenantIdIn(TENANT_TWO).count(), is(1L)); assertThat(query.withoutTenantId().count(), is(1L)); }
@Test public void testDefinitionRetrieval_ByKey() { given() .pathParam("key", MockProvider.EXAMPLE_CASE_DEFINITION_KEY) .then() .expect() .statusCode(Status.OK.getStatusCode()) .body("id", equalTo(MockProvider.EXAMPLE_CASE_DEFINITION_ID)) .body("key", equalTo(MockProvider.EXAMPLE_CASE_DEFINITION_KEY)) .body("category", equalTo(MockProvider.EXAMPLE_CASE_DEFINITION_CATEGORY)) .body("name", equalTo(MockProvider.EXAMPLE_CASE_DEFINITION_NAME)) .body("deploymentId", equalTo(MockProvider.EXAMPLE_DEPLOYMENT_ID)) .body("version", equalTo(MockProvider.EXAMPLE_CASE_DEFINITION_VERSION)) .body("resource", equalTo(MockProvider.EXAMPLE_CASE_DEFINITION_RESOURCE_NAME)) .body("tenantId", equalTo(null)) .when() .get(SINGLE_CASE_DEFINITION_BY_KEY_URL); verify(caseDefinitionQueryMock).withoutTenantId(); verify(repositoryServiceMock).getCaseDefinition(MockProvider.EXAMPLE_CASE_DEFINITION_ID); }
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)); }
public void testQueryByKey() { CaseDefinitionQuery query = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey(CASE_DEFINITION_KEY); // one definition for each tenant assertThat(query.count(), is(3L)); query = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey(CASE_DEFINITION_KEY) .withoutTenantId(); // one definition without tenant id assertThat(query.count(), is(1L)); query = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey(CASE_DEFINITION_KEY) .tenantIdIn(TENANT_ONE); // one definition for tenant one assertThat(query.count(), is(1L)); }
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(); }
@Test public void testCaseDefinitionWithoutTenantId() { Response response = given() .queryParam("withoutTenantId", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(CASE_DEFINITION_QUERY_URL); verify(mockedQuery).withoutTenantId(); verify(mockedQuery).list(); String content = response.asString(); List<String> definitions = from(content).getList(""); assertThat(definitions).hasSize(1); String returnedTenantId1 = from(content).getString("[0].tenantId"); assertThat(returnedTenantId1).isEqualTo(null); }
private void prepareCaseInstances(String key, int daysInThePast, Integer historyTimeToLive, int instanceCount, String tenantId) { // update time to live List<CaseDefinition> caseDefinitions = null; if (tenantId != null) { caseDefinitions = repositoryService.createCaseDefinitionQuery().caseDefinitionKey(key).tenantIdIn(tenantId).list(); } else { caseDefinitions = repositoryService.createCaseDefinitionQuery().caseDefinitionKey(key).withoutTenantId().list(); } assertEquals(1, caseDefinitions.size()); repositoryService.updateCaseDefinitionHistoryTimeToLive(caseDefinitions.get(0).getId(), historyTimeToLive); Date oldCurrentTime = ClockUtil.getCurrentTime(); ClockUtil.setCurrentTime(DateUtils.addDays(new Date(), daysInThePast)); for (int i = 0; i < instanceCount; i++) { CaseInstance caseInstance = caseService.createCaseInstanceById(caseDefinitions.get(0).getId()); if (tenantId != null) { assertEquals(tenantId, caseInstance.getTenantId()); } caseService.terminateCaseExecution(caseInstance.getId()); caseService.closeCaseInstance(caseInstance.getId()); } ClockUtil.setCurrentTime(oldCurrentTime); }
public void testQueryByDefinitionsWithoutTenantId() { CaseDefinitionQuery query = repositoryService .createCaseDefinitionQuery() .withoutTenantId(); assertThat(query.count(), is(1L)); }
@Override public CaseDefinitionResource getCaseDefinitionByKey(String caseDefinitionKey) { CaseDefinition caseDefinition = getProcessEngine() .getRepositoryService() .createCaseDefinitionQuery() .caseDefinitionKey(caseDefinitionKey) .withoutTenantId() .latestVersion() .singleResult(); if (caseDefinition == null) { String errorMessage = String.format("No matching case definition with key: %s and no tenant-id", caseDefinitionKey); throw new RestException(Status.NOT_FOUND, errorMessage); } else { return getCaseDefinitionById(caseDefinition.getId()); } }
public void testQueryAuthenticatedTenants() { identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE, TENANT_TWO)); CaseDefinitionQuery query = repositoryService.createCaseDefinitionQuery(); assertThat(query.count(), is(3L)); assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L)); assertThat(query.tenantIdIn(TENANT_TWO).count(), is(1L)); assertThat(query.withoutTenantId().count(), is(1L)); }
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 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(); }