@Override public Response getCaseDefinitionDiagram() { CaseDefinition definition = engine.getRepositoryService().getCaseDefinition(caseDefinitionId); InputStream caseDiagram = engine.getRepositoryService().getCaseDiagram(caseDefinitionId); if (caseDiagram == null) { return Response.noContent().build(); } else { String fileName = definition.getDiagramResourceName(); return Response.ok(caseDiagram).header("Content-Disposition", "attachment; filename=" + fileName) .type(ProcessDefinitionResourceImpl.getMediaTypeForFileSuffix(fileName)).build(); } }
@Override public Response getCaseDefinitionDiagram() { CaseDefinition definition = engine.getRepositoryService().getCaseDefinition(caseDefinitionId); InputStream caseDiagram = engine.getRepositoryService().getCaseDiagram(caseDefinitionId); if (caseDiagram == null) { return Response.noContent().build(); } else { String fileName = definition.getDiagramResourceName(); return Response.ok(caseDiagram).header("Content-Disposition", "attachment; filename=" + fileName) .type(ProcessDefinitionResourceImpl.getMediaTypeForFileSuffix(fileName)).build(); } }
public CaseDefinition build() { CaseDefinition mockDefinition = mock(CaseDefinition.class); when(mockDefinition.getId()).thenReturn(id); when(mockDefinition.getCategory()).thenReturn(category); when(mockDefinition.getName()).thenReturn(name); when(mockDefinition.getKey()).thenReturn(key); when(mockDefinition.getVersion()).thenReturn(version); when(mockDefinition.getResourceName()).thenReturn(resource); when(mockDefinition.getDiagramResourceName()).thenReturn(diagramResource); when(mockDefinition.getDeploymentId()).thenReturn(deploymentId); when(mockDefinition.getTenantId()).thenReturn(tenantId); return mockDefinition; }
@Deployment(resources = { "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.cmmn", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.a.png", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.b.png", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.c.png" }) public void testMultipleDiagramResourcesProvided() { final CaseDefinition caseA = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("a").singleResult(); final CaseDefinition caseB = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("b").singleResult(); final CaseDefinition caseC = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("c").singleResult(); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.a.png", caseA.getDiagramResourceName()); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.b.png", caseB.getDiagramResourceName()); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.c.png", caseC.getDiagramResourceName()); }
@Test public void testCaseDiagramNullFilename() throws FileNotFoundException, URISyntaxException { // setup additional mock behavior File file = getFile("/processes/todo-process.png"); when(repositoryServiceMock.getCaseDefinition(MockProvider.EXAMPLE_CASE_DEFINITION_ID).getDiagramResourceName()) .thenReturn(null); when(repositoryServiceMock.getCaseDiagram(MockProvider.EXAMPLE_CASE_DEFINITION_ID)) .thenReturn(new FileInputStream(file)); // call method byte[] actual = given().pathParam("id", MockProvider.EXAMPLE_CASE_DEFINITION_ID) .expect() .statusCode(Status.OK.getStatusCode()) .contentType("application/octet-stream") .header("Content-Disposition", "attachment; filename=" + null) .when().get(DIAGRAM_DEFINITION_URL).getBody().asByteArray(); // verify service interaction verify(repositoryServiceMock).getCaseDiagram(MockProvider.EXAMPLE_CASE_DEFINITION_ID); // compare input stream with response body bytes byte[] expected = IoUtil.readInputStream(new FileInputStream(file), "case diagram"); Assert.assertArrayEquals(expected, actual); }
@Deployment(resources = { "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.cmmn", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.png" }) public void testCaseDiagramResource() { final CaseDefinition caseDefinition = repositoryService.createCaseDefinitionQuery().singleResult(); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.cmmn", caseDefinition.getResourceName()); assertEquals("Case_1", caseDefinition.getKey()); final String diagramResourceName = caseDefinition.getDiagramResourceName(); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.png", diagramResourceName); final InputStream diagramStream = repositoryService.getResourceAsStream(deploymentId, "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.png"); final byte[] diagramBytes = IoUtil.readInputStream(diagramStream, "diagram stream"); assertEquals(2540, diagramBytes.length); }
@Override public Response getCaseDefinitionDiagram() { CaseDefinition definition = engine.getRepositoryService().getCaseDefinition(caseDefinitionId); InputStream caseDiagram = engine.getRepositoryService().getCaseDiagram(caseDefinitionId); if (caseDiagram == null) { return Response.noContent().build(); } else { String fileName = definition.getDiagramResourceName(); return Response.ok(caseDiagram).header("Content-Disposition", "attachment; filename=" + fileName) .type(ProcessDefinitionResourceImpl.getMediaTypeForFileSuffix(fileName)).build(); } }
@Deployment(resources = { "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.cmmn", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.a.png", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.b.png", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.c.png" }) public void testMultipleDiagramResourcesProvided() { final CaseDefinition caseA = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("a").singleResult(); final CaseDefinition caseB = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("b").singleResult(); final CaseDefinition caseC = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("c").singleResult(); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.a.png", caseA.getDiagramResourceName()); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.b.png", caseB.getDiagramResourceName()); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testMultipleDiagramResourcesProvided.c.png", caseC.getDiagramResourceName()); }
@Deployment(resources = { "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.cmmn", "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.png" }) public void testCaseDiagramResource() { final CaseDefinition caseDefinition = repositoryService.createCaseDefinitionQuery().singleResult(); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.cmmn", caseDefinition.getResourceName()); assertEquals("Case_1", caseDefinition.getKey()); final String diagramResourceName = caseDefinition.getDiagramResourceName(); assertEquals("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.png", diagramResourceName); final InputStream diagramStream = repositoryService.getResourceAsStream(deploymentId, "org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testCaseDiagramResource.png"); final byte[] diagramBytes = IoUtil.readInputStream(diagramStream, "diagram stream"); assertEquals(2540, diagramBytes.length); }