package your.package.name.here

import com.deugo.jersey.LoggerManager;
import com.deugo.jersey.models.Counter;
import com.deugo.jersey.persistence.HibernateDatabaseCounterManager;
import com.deugo.jersey.persistence.HibernateUtil;

import static org.junit.Assert.assertTrue;

import java.io.File;

import org.junit.Test;

public class HibernateCounterManagerTestCase {

	private static final String DROP_COUNTER_TABLE_SQL = "drop table counter;";
	private static String CREATE_COUNTER_TABLE_SQL = "create table COUNTER(COUNTER_PRIMARY_KEY char(36) primary key not null, "
			+ "NAME varchar(16), COUNTER integer, RESET_TIME timestamp);";
	@Test
	public void testCreatDropTable() {
		LoggerManager.current().info(new Counter(), "test1", "test2", null);
		
		assertTrue(new File("/Users/dwight/desktop/jerseylogin.log").isFile());
		
		HibernateUtil.getCurrentSession();
		
		assertTrue(HibernateUtil.executeSQLQuery(DROP_COUNTER_TABLE_SQL));
		assertTrue(HibernateUtil.executeSQLQuery(CREATE_COUNTER_TABLE_SQL));
		
		assertTrue(HibernateDatabaseCounterManager.getDefault().setupTable());
		
		assertTrue(HibernateDatabaseCounterManager.getDefault().getAllCounters().isEmpty());
	}
}
