@Override public void propertyChange(PropertyChangeEvent event) { if (event.getSource() instanceof Context && "available".equals(event.getPropertyName()) && Boolean.FALSE.equals(event.getOldValue()) && Boolean.TRUE.equals(event.getNewValue())) { this.eventHandler.start(this.factory.createContext((Context) event.getSource())); } } }
this.eventHandler.start(this.factory.createContext((Context) source)); if (this.start.get()) { this.eventHandler.stop(this.factory.createContext((Context) source));
this.eventHandler.add(this.factory.createContext((Context) child)); this.eventHandler.remove(this.factory.createContext((Context) child));
@Test public void stopWebApp() throws Exception { TomcatEventHandler handler = this.createEventHandler(this.eventHandler, this.provider, this.factory); LifecycleContext context = mock(LifecycleContext.class); LifecycleEvent event = new LifecycleEvent(context, Lifecycle.BEFORE_STOP_EVENT, null); handler.lifecycleEvent(event); LifecycleServer server = mock(LifecycleServer.class); this.initServer(handler, server); handler.lifecycleEvent(event); this.startServer(handler, server); org.apache.catalina.Host host = mock(org.apache.catalina.Host.class); org.apache.catalina.Engine engine = mock(org.apache.catalina.Engine.class); Service service = mock(Service.class); Context catalinaContext = mock(Context.class); when(context.getParent()).thenReturn(host); when(host.getParent()).thenReturn(engine); when(engine.getService()).thenReturn(service); when(service.getServer()).thenReturn(server); when(this.factory.createContext(same(context))).thenReturn(catalinaContext); handler.lifecycleEvent(event); verify(this.eventHandler).stop(same(catalinaContext)); }
@Test public void startWebApp() throws Exception { TomcatEventHandler handler = this.createEventHandler(this.eventHandler, this.provider, this.factory); LifecycleContext context = mock(LifecycleContext.class); LifecycleEvent event = new LifecycleEvent(context, Lifecycle.START_EVENT, null); PropertyChangeEvent prop = new PropertyChangeEvent(context, "available", Boolean.FALSE, Boolean.TRUE); handler.lifecycleEvent(event); LifecycleServer server = mock(LifecycleServer.class); this.initServer(handler, server); handler.lifecycleEvent(event); this.startServer(handler, server); org.apache.catalina.Host host = mock(org.apache.catalina.Host.class); org.apache.catalina.Engine engine = mock(org.apache.catalina.Engine.class); Service service = mock(Service.class); Context catalinaContext = mock(Context.class); when(context.getParent()).thenReturn(host); when(host.getParent()).thenReturn(engine); when(engine.getService()).thenReturn(service); when(service.getServer()).thenReturn(server); when(this.factory.createContext(context)).thenReturn(catalinaContext); // handler.lifecycleEvent(event); handler.propertyChange(prop); verify(this.eventHandler).start(same(catalinaContext)); }
@Test public void deployWebApp() throws Exception { TomcatEventHandler handler = this.createEventHandler(this.eventHandler, this.provider, this.factory); org.apache.catalina.Host host = mock(org.apache.catalina.Host.class); LifecycleContext context = mock(LifecycleContext.class); Context catalinaContext = mock(Context.class); ContainerEvent event = new ContainerEvent(host, Container.ADD_CHILD_EVENT, context); handler.containerEvent(event); verify(context).addLifecycleListener(handler); verify(context).addPropertyChangeListener(handler); reset(context); LifecycleServer server = mock(LifecycleServer.class); this.initServer(handler, server); handler.containerEvent(event); verify(context).addLifecycleListener(handler); verify(context).addPropertyChangeListener(handler); reset(context); this.startServer(handler, server); org.apache.catalina.Engine engine = mock(org.apache.catalina.Engine.class); Service service = mock(Service.class); when(context.getParent()).thenReturn(host); when(host.getParent()).thenReturn(engine); when(engine.getService()).thenReturn(service); when(service.getServer()).thenReturn(server); when(this.factory.createContext(context)).thenReturn(catalinaContext); handler.containerEvent(event); verify(context).addLifecycleListener(handler); verify(context).addPropertyChangeListener(handler); verify(this.eventHandler).add(same(catalinaContext)); }
@Test public void undeployWebApp() throws Exception { TomcatEventHandler handler = this.createEventHandler(this.eventHandler, this.provider, this.factory); org.apache.catalina.Host host = mock(org.apache.catalina.Host.class); LifecycleContext context = mock(LifecycleContext.class); ContainerEvent event = new ContainerEvent(host, Container.REMOVE_CHILD_EVENT, context); handler.containerEvent(event); verify(context).removeLifecycleListener(handler); verify(context).removePropertyChangeListener(handler); reset(context); LifecycleServer server = mock(LifecycleServer.class); this.initServer(handler, server); handler.containerEvent(event); verify(context).removeLifecycleListener(handler); verify(context).removePropertyChangeListener(handler); reset(context); this.startServer(handler, server); org.apache.catalina.Engine engine = mock(org.apache.catalina.Engine.class); Service service = mock(Service.class); Context catalinaContext = mock(Context.class); when(context.getParent()).thenReturn(host); when(host.getParent()).thenReturn(engine); when(engine.getService()).thenReturn(service); when(service.getServer()).thenReturn(server); when(this.factory.createContext(context)).thenReturn(catalinaContext); handler.containerEvent(event); verify(context).removeLifecycleListener(handler); verify(context).removePropertyChangeListener(handler); verify(this.eventHandler).remove(same(catalinaContext)); }