package com.alibaba.druid.bvt.utils;
import java.sql.Driver;
import org.junit.Assert;
import com.alibaba.druid.util.JdbcConstants;
import com.alibaba.druid.util.JdbcUtils;
import junit.framework.TestCase;
public class JdbcUtils_driver extends TestCase {
public void test_null() throws Exception {
Assert.assertNull(JdbcUtils.getDriverClassName(null));
}
public void test_driver() throws Exception {
String url = "jdbc:odps:xxx";
String className = JdbcUtils.getDriverClassName(url);
Class<?> clazz = Class.forName(className);
Assert.assertNotNull(clazz);
Driver driver = (Driver) clazz.newInstance();
Assert.assertNotNull(driver);
Assert.assertEquals(0, driver.getMajorVersion());
Assert.assertEquals(1, driver.getMinorVersion());
Assert.assertEquals(JdbcConstants.ODPS, JdbcUtils.getDbType(url, className));
}
public void test_log4jdbc_mysql() {
String jdbcUrl = "jdbc:log4jdbc:mysql://localhost:8066/test";
String dbType = JdbcUtils.getDbType(jdbcUrl, null);
assertEquals("not support log4jdbc mysql, url like jdbc:log4jdbc:mysql:...", JdbcConstants.MYSQL, dbType);
}
public void test_log4jdbc_mysql2() throws Exception {
String jdbcUrl = "jdbc:log4jdbc:mysql://localhost:8066/test";
String dbType = JdbcUtils.getDbType(jdbcUrl, "net.sf.log4jdbc.DriverSpy");
assertEquals("not support log4jdbc mysql, url like jdbc:log4jdbc:mysql:...", JdbcConstants.MYSQL, dbType);
}
public void test_log4jdbc_derby() throws Exception {
String jdbcUrl = "jdbc:log4jdbc:derby://localhost:1527//db-derby-10.2.2.0-bin/databases/MyDatabase";
String dbType = JdbcUtils.getDbType(jdbcUrl, "net.sf.log4jdbc.sql.jdbcapi.DriverSpy");
assertEquals("not support log4jdbc mysql, url like jdbc:log4jdbc:derby:...", JdbcConstants.DERBY, dbType);
}
}