/** Test of correct use of startProcess */ @Test(expected = UnsatisfiedContextParameterException.class) public void testStartProcessValidationException() { expect(processFactory.createProcessModel(processName, processDefinitionName, contextParameters)) .andReturn(mockProcessModel); expect(processDefinitionFactory.getProcessDefinition(processDefinitionName)) .andReturn(mockProcessDefinition); replay(processFactory, processDefinitionFactory); final DefaultBusinessProcessService defaultService = new DefaultBusinessProcessService() { @Override protected void validateContext( final BusinessProcessModel processModel, final ProcessDefinition processDefinition) { assertEquals( "mockProcessModel not equals to processModel", mockProcessModel, processModel); assertEquals( "mockProcessDefinition not equals to processDefinition", mockProcessDefinition, processDefinition); throw new UnsatisfiedContextParameterException(); } }; defaultService.setProcessFactory(processFactory); defaultService.setProcessDefinitionFactory(processDefinitionFactory); defaultService.setModelService(modelService); defaultService.setTransactionTemplate(transactionTemplate); defaultService.startProcess(processName, processDefinitionName, contextParameters); verify(processFactory, processDefinitionFactory); }
@BeforeClass public static void prepare() throws Exception // NOPMD { Registry.activateStandaloneMode(); Utilities.setJUnitTenant(); LOG.debug("Preparing..."); final ApplicationContext appCtx = Registry.getGlobalApplicationContext(); assertTrue( "Application context of type " + appCtx.getClass() + " is not a subclass of " + ConfigurableApplicationContext.class, appCtx instanceof ConfigurableApplicationContext); final ConfigurableApplicationContext applicationContext = (ConfigurableApplicationContext) appCtx; final ConfigurableListableBeanFactory beanFactory = applicationContext.getBeanFactory(); assertTrue( "Bean Factory of type " + beanFactory.getClass() + " is not of type " + BeanDefinitionRegistry.class, beanFactory instanceof BeanDefinitionRegistry); final XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader((BeanDefinitionRegistry) beanFactory); xmlReader.setDocumentReaderClass(ScopeTenantIgnoreDocReader.class); xmlReader.loadBeanDefinitions( new ClassPathResource( "/merchandisefulfilmentprocess/test/merchandisefulfilmentprocess-spring-test.xml")); xmlReader.loadBeanDefinitions( new ClassPathResource( "/merchandisefulfilmentprocess/test/merchandisefulfilmentprocess-spring-test-fraudcheck.xml")); xmlReader.loadBeanDefinitions( new ClassPathResource( "/merchandisefulfilmentprocess/test/process/order-process-spring.xml")); modelService = (ModelService) getBean("modelService"); processService = (DefaultBusinessProcessService) getBean("businessProcessService"); definitonFactory = processService.getProcessDefinitionFactory(); LOG.warn("Prepare Process Definition factory..."); definitonFactory.add( "classpath:/merchandisefulfilmentprocess/test/process/payment-process.xml"); // setup command factory to mock final DefaultCommandFactoryRegistryImpl commandFactoryReg = appCtx.getBean(DefaultCommandFactoryRegistryImpl.class); commandFactoryReg.setCommandFactoryList( Arrays.asList((CommandFactory) appCtx.getBean("mockupCommandFactory"))); taskServiceStub = appCtx.getBean(TaskServiceStub.class); productService = appCtx.getBean("defaultProductService", DefaultProductService.class); cartService = appCtx.getBean("defaultCartService", DefaultCartService.class); userService = appCtx.getBean("defaultUserService", DefaultUserService.class); }
@Test public void testValidateContext() { processDefinitionName = "process1"; expect(processFactory.createProcessModel(processName, processDefinitionName, contextParameters)) .andReturn(mockProcessModel); expect(processDefinitionFactory.getProcessDefinition(processDefinitionName)) .andReturn(mockProcessDefinition); final Map params = new HashMap<String, ContextParameterDeclaration>(); final Map nodes = new HashMap<String, Node>(); final Node node = new Node() { @Override public void trigger(final BusinessProcessModel process) { // null } @Override public String execute(final BusinessProcessModel process) throws RetryLaterException, NodeExecutionException { return "OK"; } @Override public String getId() { return "NodeId"; } }; nodes.put("NodeId", node); mockProcessDefinition = new ProcessDefinition( processDefinitionName, node, null, nodes, params, "de.hybris.processengine.model.BusinessProcessModel") { // null }; final DefaultBusinessProcessService defaultService = new DefaultBusinessProcessService(); try { defaultService.validateContext(mockProcessModel, mockProcessDefinition); } catch (final UnsatisfiedContextParameterException exception) { fail("validateContext throws " + exception.toString()); } }
/** Test of correct use of startProcess */ @Test public void testStartProcess() { expect(processFactory.createProcessModel(processName, processDefinitionName, contextParameters)) .andReturn(mockProcessModel); expect(processDefinitionFactory.getProcessDefinition(processDefinitionName)) .andReturn(mockProcessDefinition); modelService.save(mockProcessModel); mockProcessDefinition.start(mockProcessModel); replay(processFactory, processDefinitionFactory, modelService); final DefaultBusinessProcessService defaultService = new DefaultBusinessProcessService() { @Override protected void validateContext( final BusinessProcessModel processModel, final ProcessDefinition processDefinition) { assertEquals( "mockProcessModel not equals to processModel", mockProcessModel, processModel); assertEquals( "mockProcessDefinition not equals to processDefinition", mockProcessDefinition, processDefinition); } }; defaultService.setProcessFactory(processFactory); defaultService.setProcessDefinitionFactory(processDefinitionFactory); defaultService.setModelService(modelService); defaultService.setTransactionTemplate(transactionTemplate); defaultService.startProcess(processName, processDefinitionName, contextParameters); verify(processFactory, processDefinitionFactory, modelService); assertEquals( "mockProcessModel.getState() not in RUNNING state", ProcessState.RUNNING, mockProcessModel.getState()); }
@BeforeClass public static void prepare() throws Exception // NOPMD { Registry.activateStandaloneMode(); Utilities.setJUnitTenant(); LOG.debug("Preparing..."); final ApplicationContext appCtx = Registry.getApplicationContext(); // final ConfigurationService configurationService = (ConfigurationService) // appCtx.getBean("configurationService"); // configurationService.getConfiguration().setProperty("processengine.event.lockProcess", // "true"); assertTrue( "Application context of type " + appCtx.getClass() + " is not a subclass of " + ConfigurableApplicationContext.class, appCtx instanceof ConfigurableApplicationContext); final ConfigurableApplicationContext applicationContext = (ConfigurableApplicationContext) appCtx; final ConfigurableListableBeanFactory beanFactory = applicationContext.getBeanFactory(); assertTrue( "Bean Factory of type " + beanFactory.getClass() + " is not of type " + BeanDefinitionRegistry.class, beanFactory instanceof BeanDefinitionRegistry); final XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader((BeanDefinitionRegistry) beanFactory); xmlReader.setDocumentReaderClass(ScopeTenantIgnoreDocReader.class); xmlReader.loadBeanDefinitions( new ClassPathResource( "/octannerfulfilmentprocess/test/octannerfulfilmentprocess-spring-test.xml")); xmlReader.loadBeanDefinitions( new ClassPathResource("/octannerfulfilmentprocess/test/process/order-process-spring.xml")); xmlReader.loadBeanDefinitions( new ClassPathResource( "/octannerfulfilmentprocess/test/process/consignment-process-spring.xml")); modelService = (ModelService) getBean("modelService"); processService = (DefaultBusinessProcessService) getBean("businessProcessService"); definitonFactory = processService.getProcessDefinitionFactory(); LOG.warn("Prepare Process Definition factory..."); definitonFactory.add("classpath:/octannerfulfilmentprocess/test/process/order-process.xml"); definitonFactory.add( "classpath:/octannerfulfilmentprocess/test/process/consignment-process.xml"); LOG.warn( "loaded 'order-process-test':" + definitonFactory.getProcessDefinition("order-process-test") + " in factory " + definitonFactory); // setup command factory to mock taskServiceStub = appCtx.getBean(TaskServiceStub.class); processService.setTaskService(taskServiceStub); final DefaultCommandFactoryRegistryImpl commandFactoryReg = appCtx.getBean(DefaultCommandFactoryRegistryImpl.class); commandFactoryReg.setCommandFactoryList( Arrays.asList((CommandFactory) appCtx.getBean("mockupCommandFactory"))); }