Fixes for failed test cases (most was due to the data being used or problems with...
[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 fromCal = Calendar.getInstance();\r
53                 fromCal.set(2011, 4, 1);\r
54                 \r
55                 Calendar toCal = Calendar.getInstance();\r
56                 toCal.set(2011, 5, 1);\r
57                 \r
58                 try {\r
59                         List<JobStat> jobs = statdb.readData(\r
60                                         new Timestamp(fromCal.getTimeInMillis()), \r
61                                         new Timestamp(toCal.getTimeInMillis()), Services.TcoffeeWS, false);\r
62                         assertNotNull(jobs);\r
63                         assertEquals(jobs.size(), 36);\r
64 \r
65                         jobs = statdb.readData(new Timestamp(fromCal.getTimeInMillis()),\r
66                                         new Timestamp(toCal.getTimeInMillis()), Services.ClustalWS,\r
67                                         false);\r
68 \r
69                         assertNotNull(jobs);\r
70                         assertEquals(jobs.size(), 137);\r
71 \r
72                         jobs = statdb.readData(new Timestamp(fromCal.getTimeInMillis()),\r
73                                         new Timestamp(toCal.getTimeInMillis()), Services.MafftWS,\r
74                                         false);\r
75                         assertNotNull(jobs);\r
76                         assertEquals(jobs.size(), 126);\r
77 \r
78                         jobs = statdb.readData(new Timestamp(fromCal.getTimeInMillis()),\r
79                                         new Timestamp(toCal.getTimeInMillis()), Services.ProbconsWS,\r
80                                         false);\r
81                         assertNotNull(jobs);\r
82                         assertEquals(jobs.size(), 9);\r
83 \r
84                         jobs = statdb.readData(new Timestamp(fromCal.getTimeInMillis()),\r
85                                         new Timestamp(toCal.getTimeInMillis()), Services.MuscleWS,\r
86                                         false);\r
87                         assertNotNull(jobs);\r
88                         assertEquals(jobs.size(), 63);\r
89 \r
90                 } catch (SQLException e) {\r
91                         e.printStackTrace();\r
92                         Assert.fail(e.getMessage());\r
93                 }\r
94         }\r
95 \r
96         @Test\r
97         public void testGetEarliestRecord() {\r
98 \r
99                 try {\r
100                         StatDB db = new StatDB();\r
101                         Date earliestRec = db.getEarliestRecord();\r
102                         // System.out.println(earliestRec);\r
103                 } catch (SQLException e) {\r
104                         e.printStackTrace();\r
105                         Assert.fail(e.getLocalizedMessage());\r
106                 }\r
107 \r
108         }\r
109 \r
110         @Test\r
111         public void testVerifyJobsCount() {\r
112 \r
113                 try {\r
114                         Calendar cal = Calendar.getInstance();\r
115                         cal.add(Calendar.MONTH, -5);\r
116                         Timestamp from = new Timestamp(cal.getTimeInMillis());\r
117                         cal.add(Calendar.MONTH, 1);\r
118                         Timestamp to = new Timestamp(cal.getTimeInMillis());\r
119                         StatCollection sc = StatCollection.newStatCollecton(from, to);\r
120                         Totals t = Totals.sumStats(sc.getAllStat());\r
121 \r
122                         System.out.println(sc.getAllStat());\r
123                         StatDB db = new StatDB();\r
124                         assertEquals(t.getTotal(), db.getTotalJobsCount(from, to));\r
125                         assertEquals(t.getAbandoned(), db.getAbandonedCount(from, to));\r
126                         assertEquals(t.getCancelled(), db.getCancelledCount(from, to));\r
127                         assertEquals(t.getIncomplete(), db.getIncompleteCount(from, to));\r
128 \r
129                 } catch (SQLException e) {\r
130                         e.printStackTrace();\r
131                         Assert.fail(e.getLocalizedMessage());\r
132                 }\r
133 \r
134         }\r
135 }\r