Browse Source
* Refactor BaseDataSource.isConnectable(). * Add BaseDataSource test. * Unified handling of JDBC resource releases. * Fix sonar check error. * Remove useless logger. * Refactor BaseDataSource.getJdbcUrl(). * Modify ConnectionUtils.releaseResource(). * Add javadoc * Remove useless method. * Add BaseDataSourceTest UTpull/2/head
t1mon
5 years ago
committed by
GitHub
18 changed files with 333 additions and 479 deletions
@ -0,0 +1,115 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
package org.apache.dolphinscheduler.dao.datasource; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.common.Constants; |
||||||
|
import org.junit.Assert; |
||||||
|
import org.junit.Test; |
||||||
|
|
||||||
|
public class BaseDataSourceTest { |
||||||
|
|
||||||
|
@Test |
||||||
|
public void testDriverClassSelector() { |
||||||
|
String mysqlDriverClass = new MySQLDataSource().driverClassSelector(); |
||||||
|
Assert.assertEquals(Constants.COM_MYSQL_JDBC_DRIVER, mysqlDriverClass); |
||||||
|
|
||||||
|
String clickHouseDriverClass = new ClickHouseDataSource().driverClassSelector(); |
||||||
|
Assert.assertEquals(Constants.COM_CLICKHOUSE_JDBC_DRIVER, clickHouseDriverClass); |
||||||
|
|
||||||
|
String db2ServerDriverClass = new DB2ServerDataSource().driverClassSelector(); |
||||||
|
Assert.assertEquals(Constants.COM_DB2_JDBC_DRIVER, db2ServerDriverClass); |
||||||
|
|
||||||
|
String oracleDriverClass = new OracleDataSource().driverClassSelector(); |
||||||
|
Assert.assertEquals(Constants.COM_ORACLE_JDBC_DRIVER, oracleDriverClass); |
||||||
|
|
||||||
|
String postgreDriverClass = new PostgreDataSource().driverClassSelector(); |
||||||
|
Assert.assertEquals(Constants.ORG_POSTGRESQL_DRIVER, postgreDriverClass); |
||||||
|
|
||||||
|
String sqlServerDriverClass = new SQLServerDataSource().driverClassSelector(); |
||||||
|
Assert.assertEquals(Constants.COM_SQLSERVER_JDBC_DRIVER, sqlServerDriverClass); |
||||||
|
|
||||||
|
String hiveDriverClass = new HiveDataSource().driverClassSelector(); |
||||||
|
Assert.assertEquals(Constants.ORG_APACHE_HIVE_JDBC_HIVE_DRIVER, hiveDriverClass); |
||||||
|
|
||||||
|
String sparkDriverClass = new SparkDataSource().driverClassSelector(); |
||||||
|
Assert.assertEquals(Constants.ORG_APACHE_HIVE_JDBC_HIVE_DRIVER, sparkDriverClass); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void testGetJdbcUrl() { |
||||||
|
BaseDataSource hiveDataSource = new HiveDataSource(); |
||||||
|
hiveDataSource.setAddress("jdbc:hive2://127.0.0.1:10000"); |
||||||
|
hiveDataSource.setDatabase("test"); |
||||||
|
hiveDataSource.setPassword("123456"); |
||||||
|
hiveDataSource.setUser("test"); |
||||||
|
Assert.assertEquals("jdbc:hive2://127.0.0.1:10000/test", hiveDataSource.getJdbcUrl()); |
||||||
|
//set principal
|
||||||
|
hiveDataSource.setPrincipal("hive/test.com@TEST.COM"); |
||||||
|
Assert.assertEquals("jdbc:hive2://127.0.0.1:10000/test;principal=hive/test.com@TEST.COM", |
||||||
|
hiveDataSource.getJdbcUrl()); |
||||||
|
//set fake other
|
||||||
|
hiveDataSource.setOther("charset=UTF-8"); |
||||||
|
Assert.assertEquals( |
||||||
|
"jdbc:hive2://127.0.0.1:10000/test;principal=hive/test.com@TEST.COM;charset=UTF-8", |
||||||
|
hiveDataSource.getJdbcUrl()); |
||||||
|
|
||||||
|
BaseDataSource clickHouseDataSource = new ClickHouseDataSource(); |
||||||
|
clickHouseDataSource.setAddress("jdbc:clickhouse://127.0.0.1:8123"); |
||||||
|
clickHouseDataSource.setDatabase("test"); |
||||||
|
clickHouseDataSource.setPassword("123456"); |
||||||
|
clickHouseDataSource.setUser("test"); |
||||||
|
Assert.assertEquals("jdbc:clickhouse://127.0.0.1:8123/test", clickHouseDataSource.getJdbcUrl()); |
||||||
|
//set fake principal
|
||||||
|
clickHouseDataSource.setPrincipal("fake principal"); |
||||||
|
Assert.assertEquals("jdbc:clickhouse://127.0.0.1:8123/test", clickHouseDataSource.getJdbcUrl()); |
||||||
|
//set fake other
|
||||||
|
clickHouseDataSource.setOther("charset=UTF-8"); |
||||||
|
Assert.assertEquals("jdbc:clickhouse://127.0.0.1:8123/test?charset=UTF-8", |
||||||
|
clickHouseDataSource.getJdbcUrl()); |
||||||
|
|
||||||
|
BaseDataSource sqlServerDataSource = new SQLServerDataSource(); |
||||||
|
sqlServerDataSource.setAddress("jdbc:sqlserver://127.0.0.1:1433"); |
||||||
|
sqlServerDataSource.setDatabase("test"); |
||||||
|
sqlServerDataSource.setPassword("123456"); |
||||||
|
sqlServerDataSource.setUser("test"); |
||||||
|
Assert.assertEquals("jdbc:sqlserver://127.0.0.1:1433;databaseName=test", |
||||||
|
sqlServerDataSource.getJdbcUrl()); |
||||||
|
//set fake principal
|
||||||
|
sqlServerDataSource.setPrincipal("fake principal"); |
||||||
|
Assert.assertEquals("jdbc:sqlserver://127.0.0.1:1433;databaseName=test", |
||||||
|
sqlServerDataSource.getJdbcUrl()); |
||||||
|
//set fake other
|
||||||
|
sqlServerDataSource.setOther("charset=UTF-8"); |
||||||
|
Assert.assertEquals("jdbc:sqlserver://127.0.0.1:1433;databaseName=test;charset=UTF-8", |
||||||
|
sqlServerDataSource.getJdbcUrl()); |
||||||
|
|
||||||
|
BaseDataSource db2DataSource = new DB2ServerDataSource(); |
||||||
|
db2DataSource.setAddress("jdbc:db2://127.0.0.1:50000"); |
||||||
|
db2DataSource.setDatabase("test"); |
||||||
|
db2DataSource.setPassword("123456"); |
||||||
|
db2DataSource.setUser("test"); |
||||||
|
Assert.assertEquals("jdbc:db2://127.0.0.1:50000/test", db2DataSource.getJdbcUrl()); |
||||||
|
//set fake principal
|
||||||
|
db2DataSource.setPrincipal("fake principal"); |
||||||
|
Assert.assertEquals("jdbc:db2://127.0.0.1:50000/test", db2DataSource.getJdbcUrl()); |
||||||
|
//set fake other
|
||||||
|
db2DataSource.setOther("charset=UTF-8"); |
||||||
|
Assert.assertEquals("jdbc:db2://127.0.0.1:50000/test:charset=UTF-8", db2DataSource.getJdbcUrl()); |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue