Fix for testcases
[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\r
44         public void testReadYearDataAndShutdown() {\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\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(), 126);\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\r
91         public void testGetEarliestRecord() {\r
92 \r
93                 try {\r
94                         StatDB db = new StatDB();\r
95                         Date earliestRec = db.getEarliestRecord();\r
96                         // System.out.println(earliestRec);\r
97                 } catch (SQLException e) {\r
98                         e.printStackTrace();\r
99                         Assert.fail(e.getLocalizedMessage());\r
100                 }\r
101 \r
102         }\r
103 \r
104         @Test\r
105         public void testVerifyJobsCount() {\r
106 \r
107                 try {\r
108                         Calendar cal = Calendar.getInstance();\r
109                         cal.add(Calendar.MONTH, -5);\r
110                         Timestamp from = new Timestamp(cal.getTimeInMillis());\r
111                         cal.add(Calendar.MONTH, 1);\r
112                         Timestamp to = new Timestamp(cal.getTimeInMillis());\r
113                         StatCollection sc = StatCollection.newStatCollecton(from, to);\r
114                         Totals t = Totals.sumStats(sc.getAllStat());\r
115 \r
116                         System.out.println(sc.getAllStat());\r
117                         StatDB db = new StatDB();\r
118                         assertEquals(t.getTotal(), db.getTotalJobsCount(from, to));\r
119                         assertEquals(t.getAbandoned(), db.getAbandonedCount(from, to));\r
120                         assertEquals(t.getCancelled(), db.getCancelledCount(from, to));\r
121                         assertEquals(t.getIncomplete(), db.getIncompleteCount(from, to));\r
122 \r
123                 } catch (SQLException e) {\r
124                         e.printStackTrace();\r
125                         Assert.fail(e.getLocalizedMessage());\r
126                 }\r
127 \r
128         }\r
129 }\r