/* * */ package br.uff.ic.oceano.ostra.service; import br.uff.ic.oceano.CppProjectsHelper; import br.uff.ic.oceano.core.dao.OceanoUserDao; import br.uff.ic.oceano.core.dao.controle.JPAUtil; import br.uff.ic.oceano.core.dao.impl.OceanoUserDaoImpl; import br.uff.ic.oceano.core.exception.ServiceException; import br.uff.ic.oceano.core.factory.MetricManagerFactory; import br.uff.ic.oceano.core.factory.ObjectFactory; import br.uff.ic.oceano.core.model.Metric; import br.uff.ic.oceano.core.model.OceanoUser; import br.uff.ic.oceano.core.model.SoftwareProject; import br.uff.ic.oceano.core.tools.metrics.MetricEnumeration; import br.uff.ic.oceano.core.tools.metrics.MetricManager; import br.uff.ic.oceano.util.test.AbstractNGTest; import java.util.ArrayList; import java.util.List; import junit.framework.Assert; import static org.testng.Assert.*; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; /** * * @author Daniel Heraclio <dheraclio@gmail.com> */ public class OstraMetricServiceNGTest extends AbstractNGTest{ private static boolean isRunningOnMemoryDb; @BeforeClass public static void setUpClass() throws Exception { isRunningOnMemoryDb = JPAUtil.isRunningOnMemoryDB(); } @Test public void testExtractAndSaveMetricsFromAllFilesInProjectRevisions() throws Exception { println("extractAndSaveMetricsFromAllFilesInProjectRevisions"); if(!isRunningOnMemoryDb){ println("Test ignored. Not running memory database"); return; } SoftwareProject project = CppProjectsHelper.getDBNeoPZProject(); assertNotNull(project); OceanoUserDao oceanoUserDao = ObjectFactory.getObjectWithDataBaseDependencies(OceanoUserDaoImpl.class); OceanoUser oceanoUser = oceanoUserDao.getByLogin("dheraclio"); assertNotNull(oceanoUser); List<MetricManager> metricsToExtract = getMetrics(); OstraMetricService instance = new OstraMetricService(); instance.extractAndSaveMetricsFromAllFilesInProjectRevisions(project, oceanoUser, metricsToExtract); } private List<MetricManager> getMetrics() throws ServiceException { List<MetricManager> metrics = new ArrayList(); MetricManagerFactory fact = MetricManagerFactory.getInstance(); final MetricManager mng = fact.getMetricByName(MetricEnumeration.TLOC.getName()); Assert.assertNotNull(mng); metrics.add(mng); // for (MetricManager mngTemp : fact.getMetricManagers()) { // if (!mngTemp.isLanguageSupported(Language.CPP)) { // continue; // } // metrics.add(mngTemp); // } return metrics; } }