1 package compbio.stat.collector;
\r
3 import static org.testng.Assert.assertEquals;
\r
4 import static org.testng.Assert.assertNotNull;
\r
6 import java.sql.SQLException;
\r
7 import java.sql.Timestamp;
\r
8 import java.util.Calendar;
\r
9 import java.util.Date;
\r
10 import java.util.List;
\r
12 import org.testng.Assert;
\r
13 import org.testng.annotations.BeforeClass;
\r
14 import org.testng.annotations.Test;
\r
16 import compbio.stat.servlet.util.StatCollection;
\r
17 import compbio.stat.servlet.util.Totals;
\r
18 import compbio.ws.client.Services;
\r
20 public class StatDBTester {
\r
24 public void init() {
\r
26 statdb = new StatDB(true);
\r
27 } catch (SQLException e) {
\r
28 e.printStackTrace();
\r
29 Assert.fail(e.getLocalizedMessage());
\r
34 public void testReadYearDataAndShutdown() {
\r
35 Calendar cal = Calendar.getInstance();
\r
36 cal.roll(Calendar.YEAR, false);
\r
38 List<JobStat> jobs = statdb.readData(
\r
39 new Timestamp(cal.getTimeInMillis()), new Timestamp(
\r
40 new Date().getTime()), Services.MuscleWS, false);
\r
41 assertNotNull(jobs);
\r
42 assertEquals(jobs.size(), 1294);
\r
43 statdb.shutdownDBServer();
\r
44 } catch (SQLException e) {
\r
45 e.printStackTrace();
\r
46 Assert.fail(e.getMessage());
\r
50 statdb.readData(new Timestamp(cal.getTimeInMillis()),
\r
51 new Timestamp(new Date().getTime()), Services.MuscleWS,
\r
53 Assert.fail("Should not reach this point");
\r
54 } catch (SQLException e) {
\r
55 assertEquals(e.getMessage(), "No current connection.");
\r
60 public void testReadOneMonthData() {
\r
61 Calendar cal = Calendar.getInstance();
\r
62 cal.roll(Calendar.MONTH, false);
\r
64 List<JobStat> jobs = statdb.readData(
\r
65 new Timestamp(cal.getTimeInMillis()), new Timestamp(
\r
66 new Date().getTime()), Services.TcoffeeWS, false);
\r
67 assertNotNull(jobs);
\r
68 assertEquals(jobs.size(), 47);
\r
70 jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),
\r
71 new Timestamp(new Date().getTime()), Services.ClustalWS,
\r
74 assertNotNull(jobs);
\r
75 assertEquals(jobs.size(), 144);
\r
77 jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),
\r
78 new Timestamp(new Date().getTime()), Services.MafftWS,
\r
80 assertNotNull(jobs);
\r
81 assertEquals(jobs.size(), 149);
\r
83 jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),
\r
84 new Timestamp(new Date().getTime()), Services.ProbconsWS,
\r
86 assertNotNull(jobs);
\r
87 assertEquals(jobs.size(), 12);
\r
89 jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),
\r
90 new Timestamp(new Date().getTime()), Services.MuscleWS,
\r
92 assertNotNull(jobs);
\r
93 assertEquals(jobs.size(), 76);
\r
95 } catch (SQLException e) {
\r
96 e.printStackTrace();
\r
97 Assert.fail(e.getMessage());
\r
102 public void testGetEarliestRecord() {
\r
105 StatDB db = new StatDB();
\r
106 Date earliestRec = db.getEarliestRecord();
\r
107 // System.out.println(earliestRec);
\r
108 } catch (SQLException e) {
\r
109 e.printStackTrace();
\r
110 Assert.fail(e.getLocalizedMessage());
\r
116 public void testVerifyJobsCount() {
\r
119 Calendar cal = Calendar.getInstance();
\r
120 cal.add(Calendar.MONTH, -5);
\r
121 Timestamp from = new Timestamp(cal.getTimeInMillis());
\r
122 cal.add(Calendar.MONTH, 1);
\r
123 Timestamp to = new Timestamp(cal.getTimeInMillis());
\r
124 StatCollection sc = StatCollection.newStatCollecton(from, to);
\r
125 Totals t = Totals.sumStats(sc.getAllStat());
\r
127 System.out.println(sc.getAllStat());
\r
128 StatDB db = new StatDB();
\r
129 assertEquals(t.getTotal(), db.getTotalJobsCount(from, to));
\r
130 assertEquals(t.getAbandoned(), db.getAbandonedCount(from, to));
\r
131 assertEquals(t.getCancelled(), db.getCancelledCount(from, to));
\r
132 assertEquals(t.getIncomplete(), db.getIncompleteCount(from, to));
\r
134 } catch (SQLException e) {
\r
135 e.printStackTrace();
\r
136 Assert.fail(e.getLocalizedMessage());
\r