@ApiOperation(value = "Get a process definition", tags = { "Process Definitions" })
    @ApiResponses(value = {
            @ApiResponse(code = 200, message = "Indicates request was successful and the process-definitions are returned"),
            @ApiResponse(code = 404, message = "Indicates the requested process definition was not found.")
    })
    @GetMapping(value = "/repository/process-definitions/{processDefinitionId}", produces = "application/json")
    public ProcessDefinitionResponse getProcessDefinition(@ApiParam(name = "processDefinitionId") @PathVariable String processDefinitionId) {
        ProcessDefinition processDefinition = getProcessDefinitionFromRequest(processDefinitionId);

        return restResponseFactory.createProcessDefinitionResponse(processDefinition);
    }
@Test
    @Deployment(resources = { "org/flowable/rest/service/api/repository/oneTaskProcess.bpmn20.xml" })
    public void testGetProcessDefinition() throws Exception {

        ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();

        HttpGet httpGet = new HttpGet(SERVER_URL_PREFIX + RestUrls.createRelativeResourceUrl(RestUrls.URL_PROCESS_DEFINITION, processDefinition.getId()));
        CloseableHttpResponse response = executeRequest(httpGet, HttpStatus.SC_OK);
        JsonNode responseNode = objectMapper.readTree(response.getEntity().getContent());
        closeResponse(response);
        assertThatJson(responseNode)
                .when(Option.IGNORING_EXTRA_FIELDS)
                .isEqualTo("{"
                        + "id: '" + processDefinition.getId() + "',"
                        + "name: '" + processDefinition.getName() + "',"
                        + "key: '" + processDefinition.getKey() + "',"
                        + "category: '" + processDefinition.getCategory() + "',"
                        + "version: " + processDefinition.getVersion() + ","
                        + "description: '" + processDefinition.getDescription() + "',"
                        + "url: '" + httpGet.getURI().toString() + "',"
                        + "deploymentId: '" + processDefinition.getDeploymentId() + "',"
                        + "deploymentUrl: '" + SERVER_URL_PREFIX + RestUrls
                        .createRelativeResourceUrl(RestUrls.URL_DEPLOYMENT, processDefinition.getDeploymentId()) + "',"
                        + "resource: '" + SERVER_URL_PREFIX + RestUrls
                        .createRelativeResourceUrl(RestUrls.URL_DEPLOYMENT_RESOURCE, processDefinition.getDeploymentId(), processDefinition.getResourceName())
                        + "',"
                        + "graphicalNotationDefined: false,"
                        + "diagramResource: null"
                        + "}");
    }