Package com.agiletec.plugins.jpstats.aps.system.services.stats

Source Code of com.agiletec.plugins.jpstats.aps.system.services.stats.TestStatsDao

/*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
* This file is part of Entando software.
* Entando is a free software;
* You can redistribute it and/or modify it
* under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2.
*
* See the file License for the specific language governing permissions  
* and limitations under the License
*
*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
*/
package com.agiletec.plugins.jpstats.aps.system.services.stats;

import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.sql.DataSource;

import org.jfree.data.time.TimeSeries;

import com.agiletec.aps.system.exception.ApsSystemException;
import com.agiletec.aps.util.DateConverter;
import com.agiletec.plugins.jpstats.aps.ApsPluginBaseTestCase;
import com.agiletec.plugins.jpstats.aps.util.CalendarConverter;
import com.agiletec.plugins.jpstats.util.TestStatsUtils;

public class TestStatsDao extends ApsPluginBaseTestCase {
 
  public void testAddStatsRecord() throws Throwable{
    String today = DateConverter.getFormattedDate(new Date(), "dd/MM/yyyy");
    Calendar start = CalendarConverter.getCalendarDay(today, 0, 0, 0, 0);
    Calendar end = CalendarConverter.getCalendarDay(today, 23, 59, 59, 999);
    try {
      this._statsDAO.addStatsRecord(this.createRecordForTest());
      List<StatsRecord> records = _statsDAO.loadStatsRecord(start.getTime(), end.getTime());
      assertEquals(1, records.size());
    } catch (Throwable t) {
      throw t;
    } finally {
      this._statsDAO.deleteStatsRecord(start.getTime(), end.getTime());
      List<StatsRecord> records = _statsDAO.loadStatsRecord(start.getTime(), end.getTime());
      assertEquals(0, records.size());
    }
  }
 
  private StatsRecord createRecordForTest() {
    StatsRecord statsRecord = new StatsRecord(Calendar.getInstance());
    statsRecord.setIp("127.0.0.1");
    statsRecord.setReferer("http://www.japsportal.org/japsportal/it/chi_siamo.wp");
    statsRecord.setSessionId("A3EFA0BC2E5FB24436609B5BE786EDCA");
    statsRecord.setRole("");
    statsRecord.setPageCode("chi_siamo");
    statsRecord.setLangcode("it");
    statsRecord.setUseragent("Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.10 (intrepid) Firefox/3.0.7");
    statsRecord.setBrowserLang("it-it,it;q=0.8,en-us;q=0.5,en;q=0.3");
    statsRecord.setContentId("ART124");
    return statsRecord;
  }
 
  public void testGetHitsByInterval() throws ApsSystemException{
    TimeSeries result = null;
    CalendarConverter converter = new CalendarConverter();
    Calendar initialDate = converter.getCalendarDay("06/03/2007", 0, 0, 0, 0);
    Calendar finalDate = converter.getCalendarDay("10/03/2007", 23, 59, 59, 999);
    try{
      result = _statsDAO.getHitsByInterval(initialDate,finalDate);
    } catch (Throwable t) {
      throw new ApsSystemException("error in get hits by interval", t);
    }
    assertNotNull(result);
  }
 
  public void testGetAverageTimeSite() throws ApsSystemException{
    String result = null;
    CalendarConverter converter = new CalendarConverter();
    Calendar initialDate = converter.getCalendarDay("06/03/2007", 0, 0, 0, 0);
    Calendar finalDate = converter.getCalendarDay("10/03/2007", 23, 59, 59, 999);
    try{
      result = _statsDAO.getAverageTimeSite(initialDate,finalDate);
    } catch (Throwable t) {
      throw new ApsSystemException("error in get average time site", t);
    }
    assertNotNull(result);
  }

  public void testGetAverageTimePage() throws ApsSystemException{
    String result = null;
    CalendarConverter converter = new CalendarConverter();
    Calendar initialDate = converter.getCalendarDay("06/03/2007", 0, 0, 0, 0);
    Calendar finalDate = converter.getCalendarDay("10/03/2007", 23, 59, 59, 999);
    try {
      result = _statsDAO.getAverageTimePage(initialDate,finalDate);
    } catch (Throwable t) {
      throw new ApsSystemException("error in get average time site", t);
    }
    assertNotNull(result);
  }

  public void testGetNumPageSession() throws ApsSystemException{
    int result;
    CalendarConverter converter = new CalendarConverter();
    Calendar initialDate = converter.getCalendarDay("06/03/2007", 0, 0, 0, 0);
    Calendar finalDate = converter.getCalendarDay("10/03/2007", 23, 59, 59, 999);
    try{
      result = _statsDAO.getNumPageSession(initialDate,finalDate);
    } catch (Throwable t) {
      throw new ApsSystemException("error in get average time site", t);
    }
    assertTrue(result >= 0);
  }
 
  public void testGetPageVisitedDesc() throws ApsSystemException{
    Map result = null;
    CalendarConverter converter = new CalendarConverter();
    Calendar initialDate = converter.getCalendarDay("06/03/2007", 0, 0, 0, 0);
    Calendar finalDate = converter.getCalendarDay("10/03/2007", 23, 59, 59, 999);
    try{
      result = _statsDAO.getTopPages(initialDate,finalDate);
    } catch (Throwable t) {
      throw new ApsSystemException("error in get average time site", t);
    }
    assertNotNull(result);
  }

  public void testGetTopContents() throws ApsSystemException{
    Map result = null;
    CalendarConverter converter = new CalendarConverter();
    Calendar initialDate = converter.getCalendarDay("06/03/2007", 0, 0, 0, 0);
    Calendar finalDate = converter.getCalendarDay("10/03/2007", 23, 59, 59, 999);
    try {
      result = _statsDAO.getTopContents(initialDate, finalDate);
    } catch (Throwable t) {
      throw new ApsSystemException("error in get average time site", t);
    }
    assertNotNull(result);
  }

  public void testGetFirstCalendarDay() throws ApsSystemException{
    Calendar firstDay = null;
    try {
      firstDay = _statsDAO.getFirstCalendarDay();
    } catch (Throwable t) {
      throw new ApsSystemException("error in get first day");
    }
    assertNotNull(firstDay);
  }
 
  public void testGetIPByDateInterval() throws ApsSystemException{
    Map result = null;
    CalendarConverter converter = new CalendarConverter();
    Calendar initialDate = converter.getCalendarDay("06/03/2007", 0, 0, 0, 0);
    Calendar finalDate = converter.getCalendarDay("10/03/2007", 23, 59, 59, 999);
    try{
      result = _statsDAO.getIPByDateInterval(initialDate,finalDate);
    }catch (Throwable t) {
      throw new ApsSystemException("error in get average time site", t);
    }
    assertNotNull(result);
  }
 
  protected void tearDown() throws Exception {
    try {
      DataSource dataSource = (DataSource) this.getApplicationContext().getBean("portDataSource");
      TestStatsUtils.cleanDB(ip, dataSource);
    } catch (Throwable e) {
      throw new Exception(e);
    }
    super.tearDown();
  }
 
  @Override
  protected void init() throws Exception {
    super.init();
    _statsDAO = (StatsDAO) this.getApplicationContext().getBean("jpstatsStatsDAO");
  }
 
  private StatsDAO _statsDAO;
  private String ip = "0.0.0.0";

}
TOP

Related Classes of com.agiletec.plugins.jpstats.aps.system.services.stats.TestStatsDao

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.