509910c7ad4f1978b328b53700a73938073ba333
[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         Timestamp from;\r
23         Timestamp to;\r
24         \r
25         @BeforeClass(alwaysRun=true )\r
26         public void init() {\r
27                 try {\r
28                         statdb = new StatDB(true);\r
29                         Calendar fromCal = Calendar.getInstance();\r
30                         fromCal.set(2011, 4, 1);\r
31                                                 \r
32                         Calendar toCal = Calendar.getInstance();\r
33                         toCal.set(2011, 5, 1);\r
34                         from = new Timestamp(fromCal.getTimeInMillis());\r
35                         to = new Timestamp(toCal.getTimeInMillis());\r
36                         \r
37                 } catch (SQLException e) {\r
38                         e.printStackTrace();\r
39                         Assert.fail(e.getLocalizedMessage());\r
40                 }\r
41         }\r
42 \r
43         @Test(sequential=true)\r
44         public void testReadYearData() {\r
45                 Calendar cal = Calendar.getInstance();\r
46                 cal.set(2010, 4, 1);\r
47                 try {\r
48                         List<JobStat> jobs = statdb.readData(\r
49                                         new Timestamp(cal.getTimeInMillis()), to, Services.MuscleWS, false);\r
50                         assertNotNull(jobs);\r
51                         assertEquals(jobs.size(), 1294);\r
52                         // statdb.shutdownDBServer();\r
53                 } catch (SQLException e) {\r
54                         e.printStackTrace();\r
55                         Assert.fail(e.getMessage());\r
56                 }\r
57 \r
58         }\r
59 \r
60         @Test(sequential=true)\r
61         public void testReadOneMonthData() {\r
62                 try {\r
63                         List<JobStat> jobs = statdb.readData(from, to, Services.TcoffeeWS, false);\r
64                         assertNotNull(jobs);\r
65                         assertEquals(jobs.size(), 36);\r
66 \r
67                         jobs = statdb.readData(from,to, Services.ClustalWS,false);\r
68 \r
69                         assertNotNull(jobs);\r
70                         assertEquals(jobs.size(), 137);\r
71 \r
72                         jobs = statdb.readData(from, to, Services.MafftWS,false);\r
73                         assertNotNull(jobs);\r
74                         assertEquals(jobs.size(), 136);\r
75 \r
76                         jobs = statdb.readData(from,to, Services.ProbconsWS,false);\r
77                         assertNotNull(jobs);\r
78                         assertEquals(jobs.size(), 9);\r
79 \r
80                         jobs = statdb.readData(from,to, Services.MuscleWS,false);\r
81                         assertNotNull(jobs);\r
82                         assertEquals(jobs.size(), 63);\r
83 \r
84                 } catch (SQLException e) {\r
85                         e.printStackTrace();\r
86                         Assert.fail(e.getMessage());\r
87                 }\r
88         }\r
89 \r
90         @Test(sequential=true)\r
91         public void testGetEarliestRecord() {\r
92                 try {\r
93                         Date earliestRec = statdb.getEarliestRecord();\r
94                         \r
95                         assertEquals(1278543600000L, earliestRec.getTime());\r
96                 } catch (SQLException e) {\r
97                         e.printStackTrace();\r
98                         Assert.fail(e.getLocalizedMessage());\r
99                 }\r
100 \r
101         }\r
102 \r
103         @Test(sequential=true)\r
104         public void testVerifyJobsCount() {\r
105 \r
106                 try {\r
107                         Calendar cal = Calendar.getInstance();\r
108                         cal.add(Calendar.MONTH, -5);\r
109                         Timestamp from = new Timestamp(cal.getTimeInMillis());\r
110                         cal.add(Calendar.MONTH, 1);\r
111                         Timestamp to = new Timestamp(cal.getTimeInMillis());\r
112                         StatCollection sc = StatCollection.newStatCollecton(from, to);\r
113                         Totals t = Totals.sumStats(sc.getAllStat());\r
114 \r
115                         //System.out.println(sc.getAllStat());\r
116                         \r
117                         assertEquals(t.getTotal(), statdb.getTotalJobsCount(from, to));\r
118                         assertEquals(t.getAbandoned(), statdb.getAbandonedCount(from, to));\r
119                         assertEquals(t.getCancelled(), statdb.getCancelledCount(from, to));\r
120                         assertEquals(t.getIncomplete(), statdb.getIncompleteCount(from, to));\r
121 \r
122                 } catch (SQLException e) {\r
123                         e.printStackTrace();\r
124                         Assert.fail(e.getLocalizedMessage());\r
125                 }\r
126 \r
127         }\r
128 }\r