public void testQueryByInstancesWithoutTenantId() { ProcessInstanceQuery query = runtimeService .createProcessInstanceQuery() .withoutTenantId(); assertThat(query.count(), is(1L)); }
public void testQueryAuthenticatedTenants() { identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE, TENANT_TWO)); ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery(); 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 testWithoutTenantIdPostParameter() { mockedQuery = setUpMockInstanceQuery(Arrays.asList(MockProvider.createMockInstance(null))); Map<String, Object> queryParameters = new HashMap<String, Object>(); queryParameters.put("withoutTenantId", true); Response response = given() .contentType(POST_JSON_CONTENT_TYPE) .body(queryParameters) .expect() .statusCode(Status.OK.getStatusCode()) .when() .post(PROCESS_INSTANCE_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); }
@Test public void sendSignalToStartEventNoAuthenticatedTenants() { testRule.deploy(SIGNAL_START_PROCESS); testRule.deployForTenant(TENANT_ONE, SIGNAL_START_PROCESS); engineRule.getIdentityService().setAuthentication("user", null, null); engineRule.getRuntimeService().createSignalEvent("signal").send(); engineRule.getIdentityService().clearAuthentication(); ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.count(), is(1L)); assertThat(query.withoutTenantId().count(), is(1L)); assertThat(query.tenantIdIn(TENANT_ONE).count(), is(0L)); }
@Test public void suspendProcessDefinitionIncludeInstancesForNonTenant() { // given activated process instances ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .includeProcessInstances(true) .suspend(); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); }
@Test public void suspendProcessInstanceForNonTenant() { // given activated process instances ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getRuntimeService() .updateProcessInstanceSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .suspend(); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); }
@Test public void testWithoutTenantIdParameter() { mockedQuery = setUpMockInstanceQuery(Arrays.asList(MockProvider.createMockInstance(null))); Response response = given() .queryParam("withoutTenantId", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(PROCESS_INSTANCE_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); }
@Test public void suspendProcessInstanceWithAuthenticatedTenant() { // given activated process instances ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getIdentityService().setAuthentication("user", null, Arrays.asList(TENANT_ONE)); engineRule.getRuntimeService() .updateProcessInstanceSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); engineRule.getIdentityService().clearAuthentication(); assertThat(query.active().count(), is(1L)); assertThat(query.suspended().count(), is(2L)); assertThat(query.active().tenantIdIn(TENANT_TWO).count(), is(1L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); assertThat(query.suspended().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void suspendProcessInstanceNoAuthenticatedTenants() { // given activated process instances ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getIdentityService().setAuthentication("user", null, null); engineRule.getRuntimeService() .updateProcessInstanceSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); engineRule.getIdentityService().clearAuthentication(); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); }
@Test public void correlateMessageToStartEventNoAuthenticatedTenants() { testRule.deployForTenant(TENANT_ONE, MESSAGE_START_PROCESS); testRule.deployForTenant(TENANT_TWO, MESSAGE_START_PROCESS); testRule.deploy(MESSAGE_START_PROCESS); engineRule.getIdentityService().setAuthentication("user", null, null); engineRule.getRuntimeService().createMessageCorrelation("message") .correlateStartMessage(); engineRule.getIdentityService().clearAuthentication(); ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.count(), is(1L)); assertThat(query.withoutTenantId().count(), is(1L)); }
@Test public void suspendProcessInstanceDisabledTenantCheck() { // given activated process instances ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); engineRule.getIdentityService().setAuthentication("user", null, null); engineRule.getRuntimeService() .updateProcessInstanceSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); assertThat(query.active().count(), is(0L)); assertThat(query.suspended().count(), is(3L)); assertThat(query.suspended().tenantIdIn(TENANT_ONE, TENANT_TWO).count(), is(2L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); } }
@Test public void activateProcessInstanceForNonTenant() { // given suspended process instances engineRule.getRuntimeService() .updateProcessInstanceSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.active().count(), is(0L)); assertThat(query.suspended().count(), is(3L)); engineRule.getRuntimeService() .updateProcessInstanceSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .activate(); assertThat(query.suspended().count(), is(2L)); assertThat(query.active().count(), is(1L)); assertThat(query.active().withoutTenantId().count(), is(1L)); }
@Test public void testNoAuthenticatedTenants() throws Exception { // given testRule.deployForTenant(TENANT_ONE, PROCESS); testRule.deployForTenant(TENANT_TWO, PROCESS); testRule.deploy(PROCESS); ensureEventSubscriptions(3); identityService.setAuthentication("user", null, null); Map<String, Object> variableMap = new HashMap<String, Object>(); variableMap.put("foo", "bar"); // when List<ProcessInstance> instances = engineRule.getRuntimeService() .createConditionEvaluation() .setVariables(variableMap) .evaluateStartConditions(); // then assertNotNull(instances); assertEquals(1, instances.size()); identityService.clearAuthentication(); ProcessInstanceQuery processInstanceQuery = engineRule.getRuntimeService().createProcessInstanceQuery(); assertEquals(1, processInstanceQuery.count()); assertEquals(1, processInstanceQuery.withoutTenantId().count()); }
@Test public void timerStartEventWithTimerCycle() { testRule.deployForTenant(TENANT_ONE, Bpmn.createExecutableProcess() .startEvent() .timerWithCycle("R2/PT1M") .userTask() .endEvent() .done()); // execute first timer cycle Job job = managementService.createJobQuery().singleResult(); assertThat(job.getTenantId(), is(TENANT_ONE)); managementService.executeJob(job.getId()); // execute second timer cycle job = managementService.createJobQuery().singleResult(); assertThat(job.getTenantId(), is(TENANT_ONE)); managementService.executeJob(job.getId()); ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery(); assertThat(query.tenantIdIn(TENANT_ONE).count(), is(2L)); assertThat(query.withoutTenantId().count(), is(0L)); }
@Test public void activateProcessDefinitionIncludeInstancesForNonTenant() { // given suspended process instances engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .includeProcessInstances(true) .suspend(); ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.suspended().count(), is(3L)); assertThat(query.active().count(), is(0L)); engineRule.getRepositoryService() .updateProcessDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .includeProcessInstances(true) .activate(); assertThat(query.suspended().count(), is(2L)); assertThat(query.active().count(), is(1L)); assertThat(query.active().withoutTenantId().count(), is(1L)); }
public void testQueryByInstancesWithoutTenantId() { ProcessInstanceQuery query = runtimeService .createProcessInstanceQuery() .withoutTenantId(); assertThat(query.count(), is(1L)); }
public void testQueryAuthenticatedTenants() { identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE, TENANT_TWO)); ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery(); 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 sendSignalToStartEventNoAuthenticatedTenants() { testRule.deploy(SIGNAL_START_PROCESS); testRule.deployForTenant(TENANT_ONE, SIGNAL_START_PROCESS); engineRule.getIdentityService().setAuthentication("user", null, null); engineRule.getRuntimeService().createSignalEvent("signal").send(); engineRule.getIdentityService().clearAuthentication(); ProcessInstanceQuery query = engineRule.getRuntimeService().createProcessInstanceQuery(); assertThat(query.count(), is(1L)); assertThat(query.withoutTenantId().count(), is(1L)); assertThat(query.tenantIdIn(TENANT_ONE).count(), is(0L)); }