public void testNotNullAndNullDeploymentSourceShouldDeployNewVersion() { // given String key = "process"; String name = "my-deployment"; BpmnModelInstance model = Bpmn.createExecutableProcess(key).done(); ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery().processDefinitionKey(key); DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery().deploymentName(name); // when ProcessApplicationDeployment deployment1 = repositoryService .createDeployment(processApplication.getReference()) .name(name) .source("my-source1") .addModelInstance("process.bpmn", model) .enableDuplicateFiltering(true) .deploy(); assertEquals(1, processDefinitionQuery.count()); assertEquals(1, deploymentQuery.count()); ProcessApplicationDeployment deployment2 = repositoryService .createDeployment(processApplication.getReference()) .name(name) .source(null) .addModelInstance("process.bpmn", model) .enableDuplicateFiltering(true) .deploy(); // then assertEquals(2, processDefinitionQuery.count()); assertEquals(2, deploymentQuery.count()); deleteDeployments(deployment1, deployment2); }