@Test public void startProcessAndDoStuffSingletonStrategyTest() throws Exception { setupProcessMocks(this, RuntimeStrategy.SINGLETON); doReturn(new String("http://localhost:8080/test/rest/process/" + TEST_PROCESS_DEF_NAME + "/start")).when(httpRequestMock) .getRequestURI(); Response resp = startProcessInstance(TEST_PROCESS_DEF_NAME); // verify non-process contexts are used JaxbProcessInstanceResponse procInstResp = (JaxbProcessInstanceResponse) resp.getEntity(); assertEquals("Invalid process instance id", TEST_PROCESS_INST_ID, procInstResp.getId()); String [] signalParamVal = { "test" }; queryParams.put("signal", signalParamVal); resp = signalProcessInstances(); // verify ksession is called verify(processServiceMock, times(2)).execute(any(String.class), any(Context.class), any(Command.class)); }
@Test public void startProcessAndDoStuffPerRequestStrategyTest() throws Exception { setupProcessMocks(this, RuntimeStrategy.PER_REQUEST); doReturn(new String("http://localhost:8080/test/rest/process/" + TEST_PROCESS_DEF_NAME + "/start")).when(httpRequestMock) .getRequestURI(); Response resp = startProcessInstance(TEST_PROCESS_DEF_NAME); // verify non-process contexts are used JaxbProcessInstanceResponse procInstResp = (JaxbProcessInstanceResponse) resp.getEntity(); assertEquals("Invalid process instance id", TEST_PROCESS_INST_ID, procInstResp.getId()); String [] signalParamVal = {"test"}; queryParams.put("signal", signalParamVal); resp = signalProcessInstances(); // verify ksession is called verify(processServiceMock, times(2)).execute(any(String.class), any(Context.class), any(Command.class)); }
@Test public void startProcessAndDoStuffPerProcessStrategyTest() throws Exception { // This method does some static mock magic to make sure // that EmptyContext.get() throws an exception if it is called here // (since a ProcessInstanceIdContext should be used instead setupProcessMocks(this, RuntimeStrategy.PER_PROCESS_INSTANCE); doReturn(new String("http://localhost:8080/test/rest/process/" + TEST_PROCESS_DEF_NAME + "/start")).when(httpRequestMock) .getRequestURI(); String [] corrProps = { "anton" }; this.queryParams.put("corrProp", corrProps); Response resp = startProcessInstance(TEST_PROCESS_DEF_NAME); // verify ksession is called JaxbProcessInstanceResponse procInstResp = (JaxbProcessInstanceResponse) resp.getEntity(); assertEquals("Invalid process instance id", TEST_PROCESS_INST_ID, procInstResp.getId()); // Do rest call with process instance id this time. This will fail if: // - the ProcessInstanceIdContext is not used (and an EmptyContext is used instead) // - The ProcessInstanceIdContext constructor gets a null value for the process instance id String [] procInstParamVal = {String.valueOf(TEST_PROCESS_INST_ID)}; queryParams.put(PROC_INST_ID_PARAM_NAME, procInstParamVal); String [] signalParamVal = { "test" }; queryParams.put("signal", signalParamVal); resp = signalProcessInstances(); // verify ksession is called verify(processServiceMock, times(2)).execute(any(String.class), any(Context.class), any(Command.class)); PowerMockito.verifyStatic(times(1)); EmptyContext.get(); }
doReturn(procInstMock).when(kieSessionMock).execute(any(StartProcessCommand.class)); doReturn(procInstMock).when(processServiceMock).execute( any(String.class), any(Context.class), any(StartProcessCommand.class)); doReturn(procInstMock).when(processServiceMock).execute( any(String.class), any(Context.class),
verify(processServiceMock, times(2)).execute(any(String.class), any(Context.class), any(Command.class));