public void suspendJobDefinitionByProcessDefinitionKey(String processDefinitionKey) { updateJobDefinitionSuspensionState() .byProcessDefinitionKey(processDefinitionKey) .suspend(); }
public void suspendJobDefinitionByProcessDefinitionKey(String processDefinitionKey) { updateJobDefinitionSuspensionState() .byProcessDefinitionKey(processDefinitionKey) .suspend(); }
@Test public void testSuspendJobDefinitionByProcessDefinitionKey() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void testSuspendJobDefinitionByProcessDefinitionId() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("processDefinitionId", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionId(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void testSuspendJobDefinitionByProcessDefinitionIdIncludingInstaces() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("includeJobs", true); params.put("processDefinitionId", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionId(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); verify(mockSuspensionStateBuilder).includeJobs(true); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void testSuspendJobDefinitionByProcessDefinitionKeyIncludingInstaces() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("includeJobs", true); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); verify(mockSuspensionStateBuilder).includeJobs(true); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void testSuspendJobDefinitionByProcessDefinitionKeyAndTenantId() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); 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_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); verify(mockSuspensionStateBuilder).processDefinitionTenantId(MockProvider.EXAMPLE_TENANT_ID); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void testSuspendJobDefinitionByProcessDefinitionKeyWithoutTenantId() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); 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_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); verify(mockSuspensionStateBuilder).processDefinitionWithoutTenantId(); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void testSuspendJobDefinitionByProcessDefinitionKeyWithAuthorizationException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); String expectedException = "expectedException"; doThrow(new AuthorizationException(expectedException)) .when(mockSuspensionStateBuilder) .suspend(); 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_DEFINITION_SUSPENDED_URL); }
@Test public void testSuspendJobDefinitionByProcessDefinitionIdWithException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("processDefinitionId", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); String expectedException = "expectedException"; doThrow(new ProcessEngineException(expectedException)) .when(mockSuspensionStateBuilder) .suspend(); 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_DEFINITION_SUSPENDED_URL); }
@Test public void testSuspendJobDefinitionByProcessDefinitionKeyWithException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); String expectedException = "expectedException"; doThrow(new ProcessEngineException(expectedException)) .when(mockSuspensionStateBuilder) .suspend(); 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_DEFINITION_SUSPENDED_URL); }
@Test public void testSuspendJobDefinitionByProcessDefinitionIdWithAuthorizationException() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("processDefinitionId", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); String expectedException = "expectedException"; doThrow(new AuthorizationException(expectedException)) .when(mockSuspensionStateBuilder) .suspend(); 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_DEFINITION_SUSPENDED_URL); }
@Test public void testDelayedSuspendJobDefinitionByProcessDefinitionId() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("processDefinitionId", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); params.put("executionDate", MockProvider.EXAMPLE_PROCESS_DEFINITION_DELAYED_EXECUTION); Date executionDate = DateTimeUtil.parseDate(MockProvider.EXAMPLE_PROCESS_DEFINITION_DELAYED_EXECUTION); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionId(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID); verify(mockSuspensionStateBuilder).executionDate(executionDate); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void testDelayedSuspendJobDefinitionByProcessDefinitionKey() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("processDefinitionKey", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); params.put("executionDate", MockProvider.EXAMPLE_PROCESS_DEFINITION_DELAYED_EXECUTION); Date executionDate = DateTimeUtil.parseDate(MockProvider.EXAMPLE_PROCESS_DEFINITION_DELAYED_EXECUTION); given() .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(JOB_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byProcessDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY); verify(mockSuspensionStateBuilder).executionDate(executionDate); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void testSuspendJobDefinitionExcludingInstances() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("includeJobs", false); given() .pathParam("id", MockProvider.EXAMPLE_JOB_DEFINITION_ID) .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(SINGLE_JOB_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byJobDefinitionId(MockProvider.EXAMPLE_JOB_DEFINITION_ID); verify(mockSuspensionStateBuilder).includeJobs(false); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void testSuspendJobDefinitionIncludingInstances() { Map<String, Object> params = new HashMap<String, Object>(); params.put("suspended", true); params.put("includeJobs", true); given() .pathParam("id", MockProvider.EXAMPLE_JOB_DEFINITION_ID) .contentType(ContentType.JSON) .body(params) .then() .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .put(SINGLE_JOB_DEFINITION_SUSPENDED_URL); verify(mockSuspensionStateSelectBuilder).byJobDefinitionId(MockProvider.EXAMPLE_JOB_DEFINITION_ID); verify(mockSuspensionStateBuilder).includeJobs(true); verify(mockSuspensionStateBuilder).suspend(); }
@Test public void suspendJobDefinitionWithAuthenticatedTenant() { // given activated job definitions JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getIdentityService().setAuthentication("user", null, Arrays.asList(TENANT_ONE)); engineRule.getManagementService() .updateJobDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); engineRule.getIdentityService().clearAuthentication(); assertThat(query.active().count(), is(1L)); assertThat(query.suspended().count(), is(2L)); assertThat(query.active().tenantIdIn(TENANT_TWO).count(), is(1L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); assertThat(query.suspended().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void suspendJobDefinitionNoAuthenticatedTenants() { // given activated job definitions JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getIdentityService().setAuthentication("user", null, null); engineRule.getManagementService() .updateJobDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); engineRule.getIdentityService().clearAuthentication(); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().withoutTenantId().count(), is(1L)); }
@Test public void suspendJobDefinitionDisabledTenantCheck() { // given activated job definitions JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); engineRule.getIdentityService().setAuthentication("user", null, null); engineRule.getManagementService() .updateJobDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); assertThat(query.active().count(), is(0L)); assertThat(query.suspended().count(), is(3L)); assertThat(query.suspended().tenantIdIn(TENANT_ONE, TENANT_TWO).includeJobDefinitionsWithoutTenantId().count(), is(3L)); }
@Test public void jobProcessDefinitionForNonTenant() { // given suspend job definitions engineRule.getManagementService() .updateJobDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); assertThat(query.suspended().count(), is(3L)); assertThat(query.active().count(), is(0L)); engineRule.getManagementService() .updateJobDefinitionSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .activate(); assertThat(query.suspended().count(), is(2L)); assertThat(query.active().count(), is(1L)); assertThat(query.active().withoutTenantId().count(), is(1L)); }