@Override public void deleteProcessDefinitionsByKeyAndTenantId(String processDefinitionKey, boolean cascade, boolean skipCustomListeners, boolean skipIoMappings, String tenantId) { RepositoryService repositoryService = processEngine.getRepositoryService(); DeleteProcessDefinitionsBuilder builder = repositoryService.deleteProcessDefinitions() .byKey(processDefinitionKey) .withTenantId(tenantId); deleteProcessDefinitions(builder, cascade, skipCustomListeners, skipIoMappings); }
@Override public void deleteProcessDefinitionsByKeyAndTenantId(String processDefinitionKey, boolean cascade, boolean skipCustomListeners, boolean skipIoMappings, String tenantId) { RepositoryService repositoryService = processEngine.getRepositoryService(); DeleteProcessDefinitionsBuilder builder = repositoryService.deleteProcessDefinitions() .byKey(processDefinitionKey) .withTenantId(tenantId); deleteProcessDefinitions(builder, cascade, skipCustomListeners, skipIoMappings); }
@Test public void testDeleteDefinitionsByKeyNoPermissions() { DeleteProcessDefinitionsBuilder builder = repositoryServiceMock.deleteProcessDefinitions() .byKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .withTenantId(MockProvider.EXAMPLE_TENANT_ID); doThrow(new AuthorizationException("No permission to delete process definitions")).when(builder).delete(); given() .pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .pathParam("tenant-id", MockProvider.EXAMPLE_TENANT_ID) .expect() .statusCode(Status.FORBIDDEN.getStatusCode()) .body(containsString("No permission to delete process definitions")) .when() .delete(SINGLE_PROCESS_DEFINITION_BY_KEY_AND_TENANT_ID_DELETE_URL); }
@Test public void testDeleteDefinitionsByKeyWithTenantId() { given() .pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .pathParam("tenant-id", MockProvider.EXAMPLE_TENANT_ID) .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .delete(SINGLE_PROCESS_DEFINITION_BY_KEY_AND_TENANT_ID_DELETE_URL); DeleteProcessDefinitionsBuilder builder = repositoryServiceMock.deleteProcessDefinitions() .byKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .withTenantId(MockProvider.EXAMPLE_TENANT_ID); verify(builder).delete(); }
@Test public void testDeleteProcessDefinitionsByKeyWithAuthenticatedTenant() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .delete(); // then identityService.clearAuthentication(); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteDefinitionsByKeySkipCustomListenersWithTenantId() { given() .pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .pathParam("tenant-id", MockProvider.EXAMPLE_TENANT_ID) .queryParam("skipCustomListeners", true) .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .delete(SINGLE_PROCESS_DEFINITION_BY_KEY_AND_TENANT_ID_DELETE_URL); DeleteProcessDefinitionsBuilder builder = repositoryServiceMock.deleteProcessDefinitions() .byKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .withTenantId(MockProvider.EXAMPLE_TENANT_ID) .skipCustomListeners(); verify(builder).delete(); }
@Test public void testDeleteDefinitionsByKeyCascadeWithTenantId() { given() .pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .pathParam("tenant-id", MockProvider.EXAMPLE_TENANT_ID) .queryParam("cascade", true) .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .delete(SINGLE_PROCESS_DEFINITION_BY_KEY_AND_TENANT_ID_DELETE_URL); DeleteProcessDefinitionsBuilder builder = repositoryServiceMock.deleteProcessDefinitions() .byKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .withTenantId(MockProvider.EXAMPLE_TENANT_ID) .cascade(); verify(builder).delete(); }
@Test public void testDeleteCascadeProcessDefinitionsByKeyWithAuthenticatedTenant() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } runtimeService.startProcessInstanceByKey("process"); identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .cascade() .delete(); // then identityService.clearAuthentication(); assertThat(historyService.createHistoricProcessInstanceQuery().count(), is(0L)); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteProcessDefinitionsByKeyDisabledTenantCheck() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } processEngineConfiguration.setTenantCheckEnabled(false); identityService.setAuthentication("user", null, null); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .delete(); // then identityService.clearAuthentication(); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteDefinitionsByKeySkipCustomListenersAndCascadeWithTenantId() { given() .pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .queryParam("skipCustomListeners", true) .queryParam("cascade", true) .pathParam("tenant-id", MockProvider.EXAMPLE_TENANT_ID) .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .delete(SINGLE_PROCESS_DEFINITION_BY_KEY_AND_TENANT_ID_DELETE_URL); DeleteProcessDefinitionsBuilder builder = repositoryServiceMock.deleteProcessDefinitions() .byKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .withTenantId(MockProvider.EXAMPLE_TENANT_ID) .skipCustomListeners() .cascade(); verify(builder).delete(); }
@Test public void testDeleteCascadeProcessDefinitionsByKeyDisabledTenantCheck() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } processEngineConfiguration.setTenantCheckEnabled(false); identityService.setAuthentication("user", null, null); runtimeService.startProcessInstanceByKey("process"); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .cascade() .delete(); // then identityService.clearAuthentication(); assertThat(historyService.createHistoricProcessInstanceQuery().count(), is(0L)); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Override public void deleteProcessDefinitionsByKeyAndTenantId(String processDefinitionKey, boolean cascade, boolean skipCustomListeners, boolean skipIoMappings, String tenantId) { RepositoryService repositoryService = processEngine.getRepositoryService(); DeleteProcessDefinitionsBuilder builder = repositoryService.deleteProcessDefinitions() .byKey(processDefinitionKey) .withTenantId(tenantId); deleteProcessDefinitions(builder, cascade, skipCustomListeners, skipIoMappings); }
@Test public void testDeleteProcessDefinitionsByKeyWithAuthenticatedTenant() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .delete(); // then identityService.clearAuthentication(); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteCascadeProcessDefinitionsByKeyWithAuthenticatedTenant() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } runtimeService.startProcessInstanceByKey("process"); identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .cascade() .delete(); // then identityService.clearAuthentication(); assertThat(historyService.createHistoricProcessInstanceQuery().count(), is(0L)); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteProcessDefinitionsByKeyDisabledTenantCheck() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } processEngineConfiguration.setTenantCheckEnabled(false); identityService.setAuthentication("user", null, null); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .delete(); // then identityService.clearAuthentication(); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteCascadeProcessDefinitionsByKeyDisabledTenantCheck() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } processEngineConfiguration.setTenantCheckEnabled(false); identityService.setAuthentication("user", null, null); runtimeService.startProcessInstanceByKey("process"); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .cascade() .delete(); // then identityService.clearAuthentication(); assertThat(historyService.createHistoricProcessInstanceQuery().count(), is(0L)); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }