package org.appfuse.service.impl; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.appfuse.util.ConvertUtil; import org.junit.runner.RunWith; import org.mockito.runners.MockitoJUnitRunner; import java.util.Map; import java.util.MissingResourceException; import java.util.ResourceBundle; /** * A mock class for testing using Mockito. * * @author mraible */ @RunWith(MockitoJUnitRunner.class) public abstract class BaseManagerMockTestCase { /** * A logger */ protected final Log log = LogFactory.getLog(getClass()); /** * The resourceBundle */ protected ResourceBundle rb; /** * Default constructor will set the ResourceBundle if needed. */ public BaseManagerMockTestCase() { // Since a ResourceBundle is not required for each class, just // do a simple check to see if one exists String className = this.getClass().getName(); try { rb = ResourceBundle.getBundle(className); } catch (MissingResourceException mre) { //log.debug("No resource bundle found for: " + className); } } /** * Utility method to populate a javabean-style object with values * from a Properties file * * @param obj the model object to populate * @return Object populated object * @throws Exception if BeanUtils fails to copy properly */ protected Object populate(Object obj) throws Exception { // loop through all the beans methods and set its properties from // its .properties file Map map = ConvertUtil.convertBundleToMap(rb); BeanUtils.copyProperties(obj, map); return obj; } }