protected DeploymentBuilder addRedeploymentResources(DeploymentBuilder builder, RedeploymentDto redeployment) { builder.source(redeployment.getSource()); List<String> resourceIds = redeployment.getResourceIds(); List<String> resourceNames = redeployment.getResourceNames(); boolean isResourceIdListEmpty = resourceIds == null || resourceIds.isEmpty(); boolean isResourceNameListEmpty = resourceNames == null || resourceNames.isEmpty(); if (isResourceIdListEmpty && isResourceNameListEmpty) { builder.addDeploymentResources(deploymentId); } else { if (!isResourceIdListEmpty) { builder.addDeploymentResourcesById(deploymentId, resourceIds); } if (!isResourceNameListEmpty) { builder.addDeploymentResourcesByName(deploymentId, resourceNames); } } return builder; }
protected DeploymentBuilder addRedeploymentResources(DeploymentBuilder builder, RedeploymentDto redeployment) { builder.source(redeployment.getSource()); List<String> resourceIds = redeployment.getResourceIds(); List<String> resourceNames = redeployment.getResourceNames(); boolean isResourceIdListEmpty = resourceIds == null || resourceIds.isEmpty(); boolean isResourceNameListEmpty = resourceNames == null || resourceNames.isEmpty(); if (isResourceIdListEmpty && isResourceNameListEmpty) { builder.addDeploymentResources(deploymentId); } else { if (!isResourceIdListEmpty) { builder.addDeploymentResourcesById(deploymentId, resourceIds); } if (!isResourceNameListEmpty) { builder.addDeploymentResourcesByName(deploymentId, resourceNames); } } return builder; }
@Before public void setUpRuntimeData() { mockRepositoryService = mock(RepositoryService.class); when(processEngine.getRepositoryService()).thenReturn(mockRepositoryService); mockDeployment = MockProvider.createMockDeployment(); mockDeploymentWithDefinitions = MockProvider.createMockDeploymentWithDefinitions(); mockDeploymentQuery = mock(DeploymentQuery.class); when(mockDeploymentQuery.deploymentId(EXAMPLE_DEPLOYMENT_ID)).thenReturn(mockDeploymentQuery); when(mockDeploymentQuery.singleResult()).thenReturn(mockDeployment); when(mockRepositoryService.createDeploymentQuery()).thenReturn(mockDeploymentQuery); mockDeploymentResources = MockProvider.createMockDeploymentResources(); when(mockRepositoryService.getDeploymentResources(eq(EXAMPLE_DEPLOYMENT_ID))).thenReturn(mockDeploymentResources); mockDeploymentResource = MockProvider.createMockDeploymentResource(); when(mockRepositoryService.getResourceAsStreamById(eq(EXAMPLE_DEPLOYMENT_ID), eq(EXAMPLE_DEPLOYMENT_RESOURCE_ID))).thenReturn(createMockDeploymentResourceBpmnData()); mockDeploymentBuilder = mock(DeploymentBuilder.class); when(mockRepositoryService.createDeployment()).thenReturn(mockDeploymentBuilder); when(mockDeploymentBuilder.addInputStream(anyString(), any(InputStream.class))).thenReturn(mockDeploymentBuilder); when(mockDeploymentBuilder.addDeploymentResourcesById(anyString(), anyListOf(String.class))).thenReturn(mockDeploymentBuilder); when(mockDeploymentBuilder.addDeploymentResourcesByName(anyString(), anyListOf(String.class))).thenReturn(mockDeploymentBuilder); when(mockDeploymentBuilder.source(anyString())).thenReturn(mockDeploymentBuilder); when(mockDeploymentBuilder.tenantId(anyString())).thenReturn(mockDeploymentBuilder); when(mockDeploymentBuilder.getResourceNames()).thenReturn(resourceNames); when(mockDeploymentBuilder.deployWithResult()).thenReturn(mockDeploymentWithDefinitions); }
verify(mockDeploymentBuilder, never()).addDeploymentResourceByName(anyString(), anyString()); verify(mockDeploymentBuilder).addDeploymentResourcesByName(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID), eq(resourceNames)); verify(mockDeploymentBuilder).source(MockProvider.EXAMPLE_DEPLOYMENT_SOURCE); verify(mockDeploymentBuilder).deployWithResult();
@Test public void testRedeployDeploymentWithoutRequestBody() { Response response = given() .pathParam("id", MockProvider.EXAMPLE_DEPLOYMENT_ID) .contentType(POST_JSON_CONTENT_TYPE) .expect() .statusCode(Status.OK.getStatusCode()) .contentType(ContentType.JSON) .when() .post(REDEPLOY_DEPLOYMENT_URL); verify(mockDeploymentBuilder).addDeploymentResources(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID)); verify(mockDeploymentBuilder).nameFromDeployment(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID)); verify(mockDeploymentBuilder, never()).addDeploymentResourceById(anyString(), anyString()); verify(mockDeploymentBuilder, never()).addDeploymentResourcesById(anyString(), anyListOf(String.class)); verify(mockDeploymentBuilder, never()).addDeploymentResourceByName(anyString(), anyString()); verify(mockDeploymentBuilder, never()).addDeploymentResourcesByName(anyString(), anyListOf(String.class)); verify(mockDeploymentBuilder, never()).source(anyString()); verify(mockDeploymentBuilder).deployWithResult(); verifyDeployment(mockDeployment, response); }
@Test public void testRedeployDeploymentSource() { Map<String, String> json = new HashMap<String, String>(); json.put("source", MockProvider.EXAMPLE_DEPLOYMENT_SOURCE); Response response = given() .pathParam("id", MockProvider.EXAMPLE_DEPLOYMENT_ID) .contentType(POST_JSON_CONTENT_TYPE) .body(json) .expect() .statusCode(Status.OK.getStatusCode()) .contentType(ContentType.JSON) .when() .post(REDEPLOY_DEPLOYMENT_URL); verify(mockDeploymentBuilder).addDeploymentResources(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID)); verify(mockDeploymentBuilder).nameFromDeployment(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID)); verify(mockDeploymentBuilder, never()).addDeploymentResourceById(anyString(), anyString()); verify(mockDeploymentBuilder, never()).addDeploymentResourcesById(anyString(), anyListOf(String.class)); verify(mockDeploymentBuilder, never()).addDeploymentResourceByName(anyString(), anyString()); verify(mockDeploymentBuilder, never()).addDeploymentResourcesByName(anyString(), anyListOf(String.class)); verify(mockDeploymentBuilder).source(eq(MockProvider.EXAMPLE_DEPLOYMENT_SOURCE)); verify(mockDeploymentBuilder).deployWithResult(); verifyDeployment(mockDeployment, response); }
@Test public void testRedeployDeploymentResourceIds() { Map<String, Object> json = new HashMap<String, Object>(); List<String> resourceIds = new ArrayList<String>(); resourceIds.add("first-resource-id"); resourceIds.add("second-resource-id"); json.put("resourceIds", resourceIds); Response response = given() .pathParam("id", MockProvider.EXAMPLE_DEPLOYMENT_ID) .contentType(POST_JSON_CONTENT_TYPE) .body(json) .expect() .statusCode(Status.OK.getStatusCode()) .contentType(ContentType.JSON) .when() .post(REDEPLOY_DEPLOYMENT_URL); verify(mockDeploymentBuilder, never()).addDeploymentResources(anyString()); verify(mockDeploymentBuilder).nameFromDeployment(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID)); verify(mockDeploymentBuilder, never()).addDeploymentResourceById(anyString(), anyString()); verify(mockDeploymentBuilder).addDeploymentResourcesById(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID), eq(resourceIds)); verify(mockDeploymentBuilder, never()).addDeploymentResourceByName(anyString(), anyString()); verify(mockDeploymentBuilder, never()).addDeploymentResourcesByName(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID), anyListOf(String.class)); verify(mockDeploymentBuilder).source(null); verify(mockDeploymentBuilder).deployWithResult(); verifyDeployment(mockDeployment, response); }
@Test public void testRedeployDeploymentResourceNames() { Map<String, Object> json = new HashMap<String, Object>(); List<String> resourceNames = new ArrayList<String>(); resourceNames.add("first-resource-name"); resourceNames.add("second-resource-name"); json.put("resourceNames", resourceNames); Response response = given() .pathParam("id", MockProvider.EXAMPLE_DEPLOYMENT_ID) .contentType(POST_JSON_CONTENT_TYPE) .body(json) .expect() .statusCode(Status.OK.getStatusCode()) .contentType(ContentType.JSON) .when() .post(REDEPLOY_DEPLOYMENT_URL); verify(mockDeploymentBuilder, never()).addDeploymentResources(anyString()); verify(mockDeploymentBuilder).nameFromDeployment(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID)); verify(mockDeploymentBuilder, never()).addDeploymentResourceById(anyString(), anyString()); verify(mockDeploymentBuilder, never()).addDeploymentResourcesById(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID), anyListOf(String.class)); verify(mockDeploymentBuilder, never()).addDeploymentResourceByName(anyString(), anyString()); verify(mockDeploymentBuilder).addDeploymentResourcesByName(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID), eq(resourceNames)); verify(mockDeploymentBuilder).source(null); verify(mockDeploymentBuilder).deployWithResult(); verifyDeployment(mockDeployment, response); }
@Test public void testRedeployDeploymentEmptyRequestBody() { Response response = given() .pathParam("id", MockProvider.EXAMPLE_DEPLOYMENT_ID) .contentType(POST_JSON_CONTENT_TYPE) .body("{}") .expect() .statusCode(Status.OK.getStatusCode()) .contentType(ContentType.JSON) .when() .post(REDEPLOY_DEPLOYMENT_URL); verify(mockDeploymentBuilder).addDeploymentResources(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID)); verify(mockDeploymentBuilder).nameFromDeployment(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID)); verify(mockDeploymentBuilder, never()).addDeploymentResourceById(anyString(), anyString()); verify(mockDeploymentBuilder, never()).addDeploymentResourcesById(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID), anyListOf(String.class)); verify(mockDeploymentBuilder, never()).addDeploymentResourceByName(anyString(), anyString()); verify(mockDeploymentBuilder, never()).addDeploymentResourcesByName(eq(MockProvider.EXAMPLE_DEPLOYMENT_ID), anyListOf(String.class)); verify(mockDeploymentBuilder).source(null); verify(mockDeploymentBuilder).deployWithResult(); verifyDeployment(mockDeployment, response); }
@Test public void testCreateDeploymentWithDeploymentSource() throws Exception { resourceNames.addAll( Arrays.asList("data", "more-data") ); // deploy-changed-only should override enable-duplicate-filtering given() .multiPart("data", "unspecified", createMockDeploymentResourceByteData()) .multiPart("enable-duplicate-filtering", "false") .multiPart("deployment-source", "my-deployment-source") .expect() .statusCode(Status.OK.getStatusCode()) .when() .post(CREATE_DEPLOYMENT_URL); verify(mockDeploymentBuilder).source("my-deployment-source"); }
private DeploymentBuilder extractDeploymentInformation(MultipartFormData payload) { DeploymentBuilder deploymentBuilder = getProcessEngine().getRepositoryService().createDeployment(); Set<String> partNames = payload.getPartNames(); for (String name : partNames) { FormPart part = payload.getNamedPart(name); if (!RESERVED_KEYWORDS.contains(name)) { deploymentBuilder.addInputStream(part.getFileName(), new ByteArrayInputStream(part.getBinaryContent())); } } FormPart deploymentName = payload.getNamedPart(DEPLOYMENT_NAME); if (deploymentName != null) { deploymentBuilder.name(deploymentName.getTextContent()); } FormPart deploymentSource = payload.getNamedPart(DEPLOYMENT_SOURCE); if (deploymentSource != null) { deploymentBuilder.source(deploymentSource.getTextContent()); } FormPart deploymentTenantId = payload.getNamedPart(TENANT_ID); if (deploymentTenantId != null) { deploymentBuilder.tenantId(deploymentTenantId.getTextContent()); } extractDuplicateFilteringForDeployment(payload, deploymentBuilder); return deploymentBuilder; }
private DeploymentBuilder extractDeploymentInformation(MultipartFormData payload) { DeploymentBuilder deploymentBuilder = getProcessEngine().getRepositoryService().createDeployment(); Set<String> partNames = payload.getPartNames(); for (String name : partNames) { FormPart part = payload.getNamedPart(name); if (!RESERVED_KEYWORDS.contains(name)) { deploymentBuilder.addInputStream(part.getFileName(), new ByteArrayInputStream(part.getBinaryContent())); } } FormPart deploymentName = payload.getNamedPart(DEPLOYMENT_NAME); if (deploymentName != null) { deploymentBuilder.name(deploymentName.getTextContent()); } FormPart deploymentSource = payload.getNamedPart(DEPLOYMENT_SOURCE); if (deploymentSource != null) { deploymentBuilder.source(deploymentSource.getTextContent()); } FormPart deploymentTenantId = payload.getNamedPart(TENANT_ID); if (deploymentTenantId != null) { deploymentBuilder.tenantId(deploymentTenantId.getTextContent()); } extractDuplicateFilteringForDeployment(payload, deploymentBuilder); return deploymentBuilder; }
public void testRedeploySetDeploymentSourceProperty() { // given BpmnModelInstance model = createProcessWithServiceTask(PROCESS_KEY); Deployment deployment1 = repositoryService .createDeployment() .name(DEPLOYMENT_NAME) .source("my-deployment-source") .addModelInstance(RESOURCE_NAME, model) .deploy(); assertEquals("my-deployment-source", deployment1.getSource()); // when Deployment deployment2 = repositoryService .createDeployment() .name(DEPLOYMENT_NAME) .addDeploymentResources(deployment1.getId()) .source("my-another-deployment-source") .deploy(); // then assertNotNull(deployment2); assertEquals("my-another-deployment-source", deployment2.getSource()); deleteDeployments(deployment1, deployment2); }
@Override protected void setUp() throws Exception { deploymentOneId = repositoryService .createDeployment() .name("org/camunda/bpm/engine/test/repository/one.bpmn20.xml") .addClasspathResource("org/camunda/bpm/engine/test/repository/one.bpmn20.xml") .source(ProcessApplicationDeployment.PROCESS_APPLICATION_DEPLOYMENT_SOURCE) .deploy() .getId(); deploymentTwoId = repositoryService .createDeployment() .name("org/camunda/bpm/engine/test/repository/two_.bpmn20.xml") .addClasspathResource("org/camunda/bpm/engine/test/repository/two.bpmn20.xml") .deploy() .getId(); super.setUp(); }
public void testRedeployDeploymentSourcePropertyNotSet() { // given BpmnModelInstance model = createProcessWithServiceTask(PROCESS_KEY); Deployment deployment1 = repositoryService .createDeployment() .name(DEPLOYMENT_NAME) .source("my-deployment-source") .addModelInstance(RESOURCE_NAME, model) .deploy(); assertEquals("my-deployment-source", deployment1.getSource()); // when Deployment deployment2 = repositoryService .createDeployment() .name(DEPLOYMENT_NAME) .addDeploymentResources(deployment1.getId()) .deploy(); // then assertNotNull(deployment2); assertNull(deployment2.getSource()); deleteDeployments(deployment1, deployment2); }
public void testDeploymentSourceShouldNotBeNull() { String key = "process"; BpmnModelInstance model = Bpmn.createExecutableProcess(key).done(); DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery(); Deployment deployment1 = repositoryService .createDeployment() .name("first-deployment-without-a-source") .source("my-first-deployment-source") .addModelInstance("process.bpmn", model) .deploy(); assertEquals("my-first-deployment-source", deploymentQuery.deploymentName("first-deployment-without-a-source").singleResult().getSource()); Deployment deployment2 = repositoryService .createDeployment(processApplication.getReference()) .name("second-deployment-with-a-source") .source("my-second-deployment-source") .addModelInstance("process.bpmn", model) .deploy(); assertEquals("my-second-deployment-source", deploymentQuery.deploymentName("second-deployment-with-a-source").singleResult().getSource()); deleteDeployments(deployment1, deployment2); }
protected DeploymentBuilder addRedeploymentResources(DeploymentBuilder builder, RedeploymentDto redeployment) { builder.source(redeployment.getSource()); List<String> resourceIds = redeployment.getResourceIds(); List<String> resourceNames = redeployment.getResourceNames(); boolean isResourceIdListEmpty = resourceIds == null || resourceIds.isEmpty(); boolean isResourceNameListEmpty = resourceNames == null || resourceNames.isEmpty(); if (isResourceIdListEmpty && isResourceNameListEmpty) { builder.addDeploymentResources(deploymentId); } else { if (!isResourceIdListEmpty) { builder.addDeploymentResourcesById(deploymentId, resourceIds); } if (!isResourceNameListEmpty) { builder.addDeploymentResourcesByName(deploymentId, resourceNames); } } return builder; }
@Override protected void setUp() throws Exception { deploymentOneId = repositoryService .createDeployment() .name("org/camunda/bpm/engine/test/repository/one.bpmn20.xml") .addClasspathResource("org/camunda/bpm/engine/test/repository/one.bpmn20.xml") .source(ProcessApplicationDeployment.PROCESS_APPLICATION_DEPLOYMENT_SOURCE) .deploy() .getId(); deploymentTwoId = repositoryService .createDeployment() .name("org/camunda/bpm/engine/test/repository/two_.bpmn20.xml") .addClasspathResource("org/camunda/bpm/engine/test/repository/two.bpmn20.xml") .deploy() .getId(); super.setUp(); }
public void testRedeployDeploymentSourcePropertyNotSet() { // given BpmnModelInstance model = createProcessWithServiceTask(PROCESS_KEY); Deployment deployment1 = repositoryService .createDeployment() .name(DEPLOYMENT_NAME) .source("my-deployment-source") .addModelInstance(RESOURCE_NAME, model) .deploy(); assertEquals("my-deployment-source", deployment1.getSource()); // when Deployment deployment2 = repositoryService .createDeployment() .name(DEPLOYMENT_NAME) .addDeploymentResources(deployment1.getId()) .deploy(); // then assertNotNull(deployment2); assertNull(deployment2.getSource()); deleteDeployments(deployment1, deployment2); }
public void testDeploymentSourceShouldNotBeNull() { String key = "process"; BpmnModelInstance model = Bpmn.createExecutableProcess(key).done(); DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery(); Deployment deployment1 = repositoryService .createDeployment() .name("first-deployment-without-a-source") .source("my-first-deployment-source") .addModelInstance("process.bpmn", model) .deploy(); assertEquals("my-first-deployment-source", deploymentQuery.deploymentName("first-deployment-without-a-source").singleResult().getSource()); Deployment deployment2 = repositoryService .createDeployment(processApplication.getReference()) .name("second-deployment-with-a-source") .source("my-second-deployment-source") .addModelInstance("process.bpmn", model) .deploy(); assertEquals("my-second-deployment-source", deploymentQuery.deploymentName("second-deployment-with-a-source").singleResult().getSource()); deleteDeployments(deployment1, deployment2); }