@Test public void testNoBeansOfType() { StaticListableBeanFactory lbf = new StaticListableBeanFactory(); lbf.addBean("foo", new Object()); Map<String, ?> beans = BeanFactoryUtils.beansOfTypeIncludingAncestors(lbf, ITestBean.class, true, false); assertTrue(beans.isEmpty()); }
@Test public void testFindsBeansOfTypeWithStaticFactory() { StaticListableBeanFactory lbf = new StaticListableBeanFactory(); TestBean t1 = new TestBean(); TestBean t2 = new TestBean(); DummyFactory t3 = new DummyFactory(); DummyFactory t4 = new DummyFactory(); t4.setSingleton(false); lbf.addBean("t1", t1); lbf.addBean("t2", t2); lbf.addBean("t3", t3); lbf.addBean("t4", t4); Map<String, ?> beans = BeanFactoryUtils.beansOfTypeIncludingAncestors(lbf, ITestBean.class, true, true); assertEquals(4, beans.size()); assertEquals(t1, beans.get("t1")); assertEquals(t2, beans.get("t2")); assertEquals(t3.getObject(), beans.get("t3")); assertTrue(beans.get("t4") instanceof TestBean); beans = BeanFactoryUtils.beansOfTypeIncludingAncestors(lbf, DummyFactory.class, true, true); assertEquals(2, beans.size()); assertEquals(t3, beans.get("&t3")); assertEquals(t4, beans.get("&t4")); beans = BeanFactoryUtils.beansOfTypeIncludingAncestors(lbf, FactoryBean.class, true, true); assertEquals(2, beans.size()); assertEquals(t3, beans.get("&t3")); assertEquals(t4, beans.get("&t4")); }
@Test public void handleNavigationWithoutDecoration() { TestNavigationHandler targetHandler = new TestNavigationHandler(); beanFactory.addBean("jsfNavigationHandler", targetHandler); delNavHandler.handleNavigation(facesContext, "fromAction", "myViewId"); assertEquals("fromAction", targetHandler.lastFromAction); assertEquals("myViewId", targetHandler.lastOutcome); }
@Test public void handleNavigationWithDecoration() { TestDecoratingNavigationHandler targetHandler = new TestDecoratingNavigationHandler(); beanFactory.addBean("jsfNavigationHandler", targetHandler); delNavHandler.handleNavigation(facesContext, "fromAction", "myViewId"); assertEquals("fromAction", targetHandler.lastFromAction); assertEquals("myViewId", targetHandler.lastOutcome); // Original handler must have been invoked as well... assertEquals("fromAction", origNavHandler.lastFromAction); assertEquals("myViewId", origNavHandler.lastOutcome); }
@Test public void beforeAndAfterPhaseWithMultipleTargets() { TestListener target1 = new TestListener(); TestListener target2 = new TestListener(); beanFactory.addBean("testListener1", target1); beanFactory.addBean("testListener2", target2); assertEquals(PhaseId.ANY_PHASE, delPhaseListener.getPhaseId()); PhaseEvent event = new PhaseEvent(facesContext, PhaseId.INVOKE_APPLICATION, new MockLifecycle()); delPhaseListener.beforePhase(event); assertTrue(target1.beforeCalled); assertTrue(target2.beforeCalled); delPhaseListener.afterPhase(event); assertTrue(target1.afterCalled); assertTrue(target2.afterCalled); }
@Test public void beforeAndAfterPhaseWithSingleTarget() { TestListener target = new TestListener(); beanFactory.addBean("testListener", target); assertEquals(PhaseId.ANY_PHASE, delPhaseListener.getPhaseId()); PhaseEvent event = new PhaseEvent(facesContext, PhaseId.INVOKE_APPLICATION, new MockLifecycle()); delPhaseListener.beforePhase(event); assertTrue(target.beforeCalled); delPhaseListener.afterPhase(event); assertTrue(target.afterCalled); }
/** * Register a bean in the backing bean factory, typically to support a flow execution test. For test scenarios, if * the bean is a service invoked by a bean invoking action it is often a stub or dynamic mock implementation of the * service's business interface. * @param beanName the bean name * @param bean the singleton instance */ public void registerBean(String beanName, Object bean) { ((StaticListableBeanFactory) getBeanFactory()).addBean(beanName, bean); } }
protected void setUp() { StaticListableBeanFactory beanFactory = new StaticListableBeanFactory(); beanFactory.addBean("bean", new Object()); model = new FlowModel(); }
protected void setUp() { StaticListableBeanFactory beanFactory = new StaticListableBeanFactory(); beanFactory.addBean("bean", new Object()); registry = new FlowModelRegistryImpl(); }