package com.muleinaction.lifecycle;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.mule.api.MuleContext;
import org.mule.api.registry.MuleRegistry;
import org.mule.module.client.MuleClient;
public class LifecycleTrackerSpringBeanTestCase
{
@Test
public void trackSpringBeanLifecycle() throws Exception
{
final MuleClient muleClient = new MuleClient("lifecycle-config.xml");
final MuleContext muleContext = muleClient.getMuleContext();
muleContext.start();
final MuleRegistry registry = muleContext.getRegistry();
final AbstractLifecycleTracker springLT = (AbstractLifecycleTracker) registry.lookupObject("SpringBeanLifecycleTracker");
muleContext.dispose();
muleClient.dispose();
assertEquals("SpringBeanLifecycleTracker",
"[setProperty, setMuleContext, springInitialize, start, stop, springDestroy]",
springLT.getTracker().toString());
}
}