Adding JABA web services usage statistics web application. Stat database is to follow
[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.ws.client.Services;\r
17 \r
18 public class StatDBTester {\r
19         StatDB statdb;\r
20 \r
21         @BeforeClass\r
22         public void init() {\r
23                 try {\r
24                         statdb = new StatDB(true);\r
25                 } catch (SQLException e) {\r
26                         e.printStackTrace();\r
27                         Assert.fail(e.getLocalizedMessage());\r
28                 }\r
29         }\r
30 \r
31         @Test\r
32         public void testReadYearDataAndShutdown() {\r
33                 Calendar cal = Calendar.getInstance();\r
34                 cal.roll(Calendar.YEAR, false);\r
35                 try {\r
36                         List<JobStat> jobs = statdb.readData(\r
37                                         new Timestamp(cal.getTimeInMillis()), new Timestamp(\r
38                                                         new Date().getTime()), Services.MuscleWS, false);\r
39                         assertNotNull(jobs);\r
40                         assertEquals(jobs.size(), 1294);\r
41                         statdb.shutdownDBServer();\r
42                 } catch (SQLException e) {\r
43                         e.printStackTrace();\r
44                         Assert.fail(e.getMessage());\r
45                 }\r
46                 // Test shutdown\r
47                 try {\r
48                         statdb.readData(new Timestamp(cal.getTimeInMillis()),\r
49                                         new Timestamp(new Date().getTime()), Services.MuscleWS,\r
50                                         false);\r
51                         Assert.fail("Should not reach this point");\r
52                 } catch (SQLException e) {\r
53                         assertEquals(e.getMessage(), "No current connection.");\r
54                 }\r
55 \r
56         }\r
57         @Test\r
58         public void testReadOneMonthData() {\r
59                 Calendar cal = Calendar.getInstance();\r
60                 cal.roll(Calendar.MONTH, false);\r
61                 try {\r
62                         List<JobStat> jobs = statdb.readData(\r
63                                         new Timestamp(cal.getTimeInMillis()), new Timestamp(\r
64                                                         new Date().getTime()), Services.TcoffeeWS, false);\r
65                         assertNotNull(jobs);\r
66                         assertEquals(jobs.size(), 67);\r
67 \r
68                         jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),\r
69                                         new Timestamp(new Date().getTime()), Services.ClustalWS,\r
70                                         false);\r
71 \r
72                         assertNotNull(jobs);\r
73                         assertEquals(jobs.size(), 159);\r
74 \r
75                         jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),\r
76                                         new Timestamp(new Date().getTime()), Services.MafftWS,\r
77                                         false);\r
78                         assertNotNull(jobs);\r
79                         assertEquals(jobs.size(), 163);\r
80 \r
81                         jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),\r
82                                         new Timestamp(new Date().getTime()), Services.ProbconsWS,\r
83                                         false);\r
84                         assertNotNull(jobs);\r
85                         assertEquals(jobs.size(), 13);\r
86 \r
87                         jobs = statdb.readData(new Timestamp(cal.getTimeInMillis()),\r
88                                         new Timestamp(new Date().getTime()), Services.MuscleWS,\r
89                                         false);\r
90                         assertNotNull(jobs);\r
91                         assertEquals(jobs.size(), 84);\r
92 \r
93                 } catch (SQLException e) {\r
94                         e.printStackTrace();\r
95                         Assert.fail(e.getMessage());\r
96                 }\r
97         }\r
98 }\r