public void activateJobByProcessDefinitionKey(String processDefinitionKey) { updateJobSuspensionState() .byProcessDefinitionKey(processDefinitionKey) .activate(); }
public void activateJobByProcessDefinitionKey(String processDefinitionKey) { updateJobSuspensionState() .byProcessDefinitionKey(processDefinitionKey) .activate(); }
@Test public void testActivateJobByProcessDefinitionKeyWithoutTenantId() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); params.put("processDefinitionWithoutTenantId", true); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); verify(mockSuspensionStateBuilder).processDefinitionWithoutTenantId(); verify(mockSuspensionStateBuilder).activate(); }
@Test public void testActivateJobByProcessDefinitionId() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processDefinitionId", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionId(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); verify(mockSuspensionStateBuilder).activate(); }
@Test public void testActivateJobByProcessInstanceId() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processInstanceId", MockProvider.EXAMPLE_PROCESS_INSTANCE_ID); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessInstanceId(MockProvider.EXAMPLE_PROCESS_INSTANCE_ID); verify(mockSuspensionStateBuilder).activate(); }
@Test public void testActivateJobByJobDefinitionIdThrowsAuthorizationException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("jobDefinitionId", MockProvider.EXAMPLE_JOB_DEFINITION_ID); String expectedException = "expectedException"; doThrow(new AuthorizationException(expectedException)) .when(mockSuspensionStateBuilder) .activate(); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.FORBIDDEN.getStatusCode()) .body("type", is(AuthorizationException.class.getSimpleName())) .body("message", is(expectedException)) .when() .put(JOB_SUSPENDED_URL); }
@Test public void testActivateJobByProcessDefinitionKeyAndTenantId() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); params.put("processDefinitionTenantId", MockProvider.EXAMPLE_TENANT_ID); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); verify(mockSuspensionStateBuilder).processDefinitionTenantId(MockProvider.EXAMPLE_TENANT_ID); verify(mockSuspensionStateBuilder).activate(); }
@Test public void testActivateJobByProcessDefinitionIdThrowsAuthorizationException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processDefinitionId", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); String expectedException = "expectedException"; doThrow(new AuthorizationException(expectedException)) .when(mockSuspensionStateBuilder) .activate(); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.FORBIDDEN.getStatusCode()) .body("type", is(AuthorizationException.class.getSimpleName())) .body("message", is(expectedException)) .when() .put(JOB_SUSPENDED_URL); }
@Test public void testActivateJobByProcessDefinitionKey() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); verify(mockSuspensionStateBuilder).activate(); }
@Test public void testActivateJobByJobDefinitionId() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("jobDefinitionId", MockProvider.EXAMPLE_JOB_DEFINITION_ID); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byJobDefinitionId(MockProvider.EXAMPLE_JOB_DEFINITION_ID); verify(mockSuspensionStateBuilder).activate(); }
@Test public void testActivateJobByProcessDefinitionKeyWithException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); String expectedException = "expectedException"; doThrow(new ProcessEngineException(expectedException)) .when(mockSuspensionStateBuilder) .activate(); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.INTERNAL_SERVER_ERROR.getStatusCode()) .body("type", is(ProcessEngineException.class.getSimpleName())) .body("message", is(expectedException)) .when() .put(JOB_SUSPENDED_URL); }
@Test public void testActivateJobByProcessDefinitionKeyThrowsAuthorizationException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); String expectedException = "expectedException"; doThrow(new AuthorizationException(expectedException)) .when(mockSuspensionStateBuilder) .activate(); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.FORBIDDEN.getStatusCode()) .body("type", is(AuthorizationException.class.getSimpleName())) .body("message", is(expectedException)) .when() .put(JOB_SUSPENDED_URL); }
@Test public void testActivateJobByProcessDefinitionIdWithException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processDefinitionId", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); String expectedException = "expectedException"; doThrow(new ProcessEngineException(expectedException)) .when(mockSuspensionStateBuilder) .activate(); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.INTERNAL_SERVER_ERROR.getStatusCode()) .body("type", is(ProcessEngineException.class.getSimpleName())) .body("message", is(expectedException)) .when() .put(JOB_SUSPENDED_URL); }
@Test public void testActivateJobByProcessInstanceIdWithException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processInstanceId", MockProvider.EXAMPLE_PROCESS_INSTANCE_ID); String expectedException = "expectedException"; doThrow(new ProcessEngineException(expectedException)) .when(mockSuspensionStateBuilder) .activate(); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.INTERNAL_SERVER_ERROR.getStatusCode()) .body("type", is(ProcessEngineException.class.getSimpleName())) .body("message", is(expectedException)) .when() .put(JOB_SUSPENDED_URL); }
@Test public void testActivateJobByProcessInstanceIdThrowsAuthorizationException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", false); params.put("processInstanceId", MockProvider.EXAMPLE_PROCESS_INSTANCE_ID); String expectedException = "expectedException"; doThrow(new AuthorizationException(expectedException)) .when(mockSuspensionStateBuilder) .activate(); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.FORBIDDEN.getStatusCode()) .body("type", is(AuthorizationException.class.getSimpleName())) .body("message", is(expectedException)) .when() .put(JOB_SUSPENDED_URL); }
@Test public void testActivateThrowsProcessEngineException() { JobSuspensionStateDto dto = new JobSuspensionStateDto(); dto.setSuspended(false); String expectedMessage = "expectedMessage"; doThrow(new ProcessEngineException(expectedMessage)) .when(mockSuspensionStateBuilder) .activate(); given() .pathParam("id", MockProvider.NON_EXISTING_JOB_ID) .contentType(ContentType.JSON) .body(dto) .then() .expect() .statusCode(Status.INTERNAL_SERVER_ERROR.getStatusCode()) .body("type", is(ProcessEngineException.class.getSimpleName())) .body("message", is(expectedMessage)) .when() .put(SINGLE_JOB_SUSPENDED_URL); }
@Test public void testActivateThrowsAuthorizationException() { JobSuspensionStateDto dto = new JobSuspensionStateDto(); dto.setSuspended(false); String expectedMessage = "expectedMessage"; doThrow(new AuthorizationException(expectedMessage)) .when(mockSuspensionStateBuilder) .activate(); given() .pathParam("id", MockProvider.EXAMPLE_JOB_ID) .contentType(ContentType.JSON) .body(dto) .then() .expect() .statusCode(Status.FORBIDDEN.getStatusCode()) .body("type", is(AuthorizationException.class.getSimpleName())) .body("message", is(expectedMessage)) .when() .put(SINGLE_JOB_SUSPENDED_URL); }
@Test public void testActivateJob() { JobSuspensionStateDto dto = new JobSuspensionStateDto(); dto.setSuspended(false); given() .pathParam("id", MockProvider.EXAMPLE_JOB_ID) .contentType(ContentType.JSON) .body(dto) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(SINGLE_JOB_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byJobId(MockProvider.EXAMPLE_JOB_ID); verify(mockSuspensionStateBuilder).activate(); }
@Test public void suspendAndActivateJobsForAllTenants() { // given activated jobs JobQuery query = engineRule.getManagementService().createJobQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); // first suspend engineRule.getManagementService() .updateJobSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); assertThat(query.active().count(), is(0L)); assertThat(query.suspended().count(), is(3L)); // then activate engineRule.getManagementService() .updateJobSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .activate(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/SuspensionTest.testBase.bpmn"}) public void testActivationByProcessDefinitionKeyUsingBuilder() { // given // a running process instance with a failed job runtimeService.startProcessInstanceByKey("suspensionProcess", Variables.createVariables().putValue("fail", true)); // suspended job definitions and corresponding jobs managementService.suspendJobDefinitionByProcessDefinitionKey("suspensionProcess", true); // the failed job JobQuery jobQuery = managementService.createJobQuery(); assertEquals(1, jobQuery.suspended().count()); // when // the job will be activated managementService .updateJobSuspensionState() .byProcessDefinitionKey("suspensionProcess") .activate(); // then // the job should be active assertEquals(1, jobQuery.active().count()); assertEquals(0, jobQuery.suspended().count()); }