1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.chukwa.util;
19
20 import java.sql.Connection;
21 import java.sql.SQLException;
22
23 import org.apache.hadoop.chukwa.util.DriverManagerUtil.ConnectionInfo;
24
25 import junit.framework.TestCase;
26
27 public class DriverManagerUtilTest extends TestCase {
28
29 public void testLoadDriver() throws ClassNotFoundException {
30 Class<?> clazz = DriverManagerUtil.loadDriver();
31 System.out.println(clazz);
32 }
33
34 public void testGetConnectionInfo() {
35 {
36 String url = "jdbc:mysql://localhost:3306/demo";
37 ConnectionInfo ci = new ConnectionInfo(url);
38 assertEquals("jdbc:mysql://localhost:3306/demo", ci.getUri());
39 assertEquals(0, ci.getProperties().size());
40 }
41
42 {
43 String url = "jdbc:mysql://localhost:3306/demo?user=example";
44 ConnectionInfo ci = new ConnectionInfo(url);
45 assertEquals("jdbc:mysql://localhost:3306/demo", ci.getUri());
46 assertEquals(1, ci.getProperties().size());
47 assertEquals("example", ci.getProperties().get("user"));
48 }
49
50 {
51 String url = "jdbc:mysql://localhost:3306/demo?user=example&";
52 ConnectionInfo ci = new ConnectionInfo(url);
53 assertEquals("jdbc:mysql://localhost:3306/demo", ci.getUri());
54 assertEquals(1, ci.getProperties().size());
55 assertEquals("example", ci.getProperties().get("user"));
56 }
57
58 {
59 String url = "jdbc:mysql://localhost:3306/demo?user=example&pwd";
60 ConnectionInfo ci = new ConnectionInfo(url);
61 assertEquals("jdbc:mysql://localhost:3306/demo", ci.getUri());
62 assertEquals(2, ci.getProperties().size());
63 assertEquals("example", ci.getProperties().get("user"));
64 assertEquals("", ci.getProperties().get("pwd"));
65 }
66
67 {
68 String url = "jdbc:mysql://localhost:3306/demo?user=example&pwd=";
69 ConnectionInfo ci = new ConnectionInfo(url);
70 assertEquals("jdbc:mysql://localhost:3306/demo", ci.getUri());
71 assertEquals(2, ci.getProperties().size());
72 assertEquals("example", ci.getProperties().get("user"));
73 assertEquals("", ci.getProperties().get("pwd"));
74 }
75
76 {
77 String url = "jdbc:mysql://localhost:3306/demo?user=example&pwd=ppppp";
78 ConnectionInfo ci = new ConnectionInfo(url);
79 assertEquals("jdbc:mysql://localhost:3306/demo", ci.getUri());
80 assertEquals(2, ci.getProperties().size());
81 assertEquals("example", ci.getProperties().get("user"));
82 assertEquals("ppppp", ci.getProperties().get("pwd"));
83 }
84 }
85
86 public void testGetConnection() throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException {
87 if(false) {
88 DriverManagerUtil.loadDriver().newInstance();
89 String url = "jdbc:mysql://localhost:3306/test?user=root&pwd=";
90 Connection conn = DriverManagerUtil.getConnection(url);
91 }
92 }
93 }