58ec698f01a2d52e777a47b3d9552f6575f6a90d
[jabaws.git] / testsrc / compbio / stat / collector / StatDBTester.java
1 package compbio.stat.collector;\r
2 \r
3 import static org.testng.Assert.assertEquals;\r
4 import static org.testng.Assert.assertNotNull;\r
5 \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
11 \r
12 import org.testng.Assert;\r
13 import org.testng.annotations.BeforeClass;\r
14 import org.testng.annotations.Test;\r
15 \r
16 import compbio.stat.servlet.util.StatCollection;\r
17 import compbio.stat.servlet.util.Totals;\r
18 import compbio.ws.client.Services;\r
19 \r
20 public class StatDBTester {\r
21         StatDB statdb;\r
22 \r
23         @BeforeClass\r
24         public void init() {\r
25                 try {\r
26                         statdb = new StatDB(true);\r
27                 } catch (SQLException e) {\r
28                         e.printStackTrace();\r
29                         Assert.fail(e.getLocalizedMessage());\r
30                 }\r
31         }\r
32 \r
33         @Test\r
34         public void testReadYearDataAndShutdown() {\r
35                 Calendar cal = Calendar.getInstance();\r
36                 cal.roll(Calendar.YEAR, false);\r
37                 try {\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
47                 }\r
48 \r
49         }\r
50         @Test\r
51         public void testReadOneMonthData() {\r
52                 Calendar cal = Calendar.getInstance();\r
53                 cal.roll(Calendar.MONTH, false);\r
54                 try {\r
55                         List<JobStat> jobs = statdb.readData(\r
56                                         new Timestamp(cal.getTimeInMillis()), new Timestamp(\r
57                                                         new Date().getTime()), Services.TcoffeeWS, false);\r
58                         assertNotNull(jobs);\r
59                         assertEquals(jobs.size(), 47);\r
60 \r
61                         jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),\r
62                                         new Timestamp(new Date().getTime()), Services.ClustalWS,\r
63                                         false);\r
64 \r
65                         assertNotNull(jobs);\r
66                         assertEquals(jobs.size(), 144);\r
67 \r
68                         jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),\r
69                                         new Timestamp(new Date().getTime()), Services.MafftWS,\r
70                                         false);\r
71                         assertNotNull(jobs);\r
72                         assertEquals(jobs.size(), 149);\r
73 \r
74                         jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),\r
75                                         new Timestamp(new Date().getTime()), Services.ProbconsWS,\r
76                                         false);\r
77                         assertNotNull(jobs);\r
78                         assertEquals(jobs.size(), 12);\r
79 \r
80                         jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),\r
81                                         new Timestamp(new Date().getTime()), Services.MuscleWS,\r
82                                         false);\r
83                         assertNotNull(jobs);\r
84                         assertEquals(jobs.size(), 76);\r
85 \r
86                 } catch (SQLException e) {\r
87                         e.printStackTrace();\r
88                         Assert.fail(e.getMessage());\r
89                 }\r
90         }\r
91 \r
92         @Test\r
93         public void testGetEarliestRecord() {\r
94 \r
95                 try {\r
96                         StatDB db = new StatDB();\r
97                         Date earliestRec = db.getEarliestRecord();\r
98                         // System.out.println(earliestRec);\r
99                 } catch (SQLException e) {\r
100                         e.printStackTrace();\r
101                         Assert.fail(e.getLocalizedMessage());\r
102                 }\r
103 \r
104         }\r
105 \r
106         @Test\r
107         public void testVerifyJobsCount() {\r
108 \r
109                 try {\r
110                         Calendar cal = Calendar.getInstance();\r
111                         cal.add(Calendar.MONTH, -5);\r
112                         Timestamp from = new Timestamp(cal.getTimeInMillis());\r
113                         cal.add(Calendar.MONTH, 1);\r
114                         Timestamp to = new Timestamp(cal.getTimeInMillis());\r
115                         StatCollection sc = StatCollection.newStatCollecton(from, to);\r
116                         Totals t = Totals.sumStats(sc.getAllStat());\r
117 \r
118                         System.out.println(sc.getAllStat());\r
119                         StatDB db = new StatDB();\r
120                         assertEquals(t.getTotal(), db.getTotalJobsCount(from, to));\r
121                         assertEquals(t.getAbandoned(), db.getAbandonedCount(from, to));\r
122                         assertEquals(t.getCancelled(), db.getCancelledCount(from, to));\r
123                         assertEquals(t.getIncomplete(), db.getIncompleteCount(from, to));\r
124 \r
125                 } catch (SQLException e) {\r
126                         e.printStackTrace();\r
127                         Assert.fail(e.getLocalizedMessage());\r
128                 }\r
129 \r
130         }\r
131 }\r