refactor ConfigFilter

This commit is contained in:
wenshao
2012-09-01 09:02:10 +08:00
parent eaf0ccb80b
commit 6a99fe1c6e
4 changed files with 130 additions and 0 deletions
@@ -0,0 +1,38 @@
package com.alibaba.druid.bvt.filter.config;
import junit.framework.Assert;
import junit.framework.TestCase;
import com.alibaba.druid.filter.config.ConfigFilter;
import com.alibaba.druid.filter.config.ConfigTools;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.util.JdbcUtils;
public class ConfigFilterTest1 extends TestCase {
private DruidDataSource dataSource;
protected void setUp() throws Exception {
dataSource = new DruidDataSource();
dataSource.setUrl("jdbc:mock:xxx");
dataSource.setFilters("config");
}
protected void tearDown() throws Exception {
JdbcUtils.close(dataSource);
}
public void test_decrypt() throws Exception {
String plainPassword = "abcdefg1234567890";
dataSource.setPassword(ConfigTools.encrypt(plainPassword));
Assert.assertFalse(plainPassword.equals(dataSource.getPassword()));
dataSource.addConnectionProperty(ConfigFilter.CONFIG_DECRYPT, "true");
dataSource.init();
Assert.assertEquals(plainPassword, dataSource.getPassword());
}
}
@@ -0,0 +1,70 @@
package com.alibaba.druid.bvt.filter.config;
import junit.framework.Assert;
import junit.framework.TestCase;
import com.alibaba.druid.filter.config.ConfigFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.util.JdbcUtils;
public class ConfigFilterTest2 extends TestCase {
private DruidDataSource dataSource;
protected void setUp() throws Exception {
dataSource = new DruidDataSource();
dataSource.setFilters("config");
}
protected void tearDown() throws Exception {
JdbcUtils.close(dataSource);
}
public void test_decrypt() throws Exception {
dataSource.addConnectionProperty(ConfigFilter.CONFIG_FILE, "bvt/config/config-0.properties");
Assert.assertEquals(1, dataSource.getProxyFilters().size());
dataSource.init();
Assert.assertEquals("jdbc:mock:config-0", dataSource.getUrl());
Assert.assertEquals(false, dataSource.isTestOnBorrow());
Assert.assertEquals(10, dataSource.getMaxActive());
}
public void test_decrypt1() throws Exception {
dataSource.addConnectionProperty(ConfigFilter.CONFIG_FILE, "bvt/config/config-1.properties");
Assert.assertEquals(1, dataSource.getProxyFilters().size());
dataSource.init();
Assert.assertEquals("jdbc:mock:config-1", dataSource.getUrl());
Assert.assertEquals(false, dataSource.isTestOnBorrow());
Assert.assertEquals(11, dataSource.getMaxActive());
Assert.assertEquals(3, dataSource.getProxyFilters().size());
}
public void test_decrypt2() throws Exception {
dataSource.addConnectionProperty(ConfigFilter.CONFIG_FILE, "bvt/config/config-2.properties");
dataSource.addConnectionProperty(ConfigFilter.CONFIG_DECRYPT, "true");
Assert.assertEquals(1, dataSource.getProxyFilters().size());
dataSource.init();
Assert.assertEquals("jdbc:mock:config-2", dataSource.getUrl());
Assert.assertEquals(false, dataSource.isTestOnBorrow());
Assert.assertEquals(12, dataSource.getMaxActive());
Assert.assertEquals("abcdefg1234567890", dataSource.getPassword());
}
public void test_decrypt3() throws Exception {
dataSource.addConnectionProperty(ConfigFilter.CONFIG_FILE, "bvt/config/config-3.properties");
Assert.assertEquals(1, dataSource.getProxyFilters().size());
dataSource.init();
Assert.assertEquals("jdbc:mock:config-3", dataSource.getUrl());
Assert.assertEquals(false, dataSource.isTestOnBorrow());
Assert.assertEquals(13, dataSource.getMaxActive());
Assert.assertEquals("abcdefg1234567890", dataSource.getPassword());
}
}
@@ -0,0 +1,17 @@
package com.alibaba.druid.bvt.filter.config;
import junit.framework.Assert;
import junit.framework.TestCase;
import com.alibaba.druid.filter.config.ConfigTools;
public class ConfigToolsTest extends TestCase {
public void test_0() throws Exception {
String plainText = "abcdef";
String cipherText = ConfigTools.encrypt(plainText);
String decipherText = ConfigTools.decrypt(cipherText);
Assert.assertEquals(plainText, decipherText);
}
}
@@ -0,0 +1,5 @@
config.decrypt=true
url=jdbc:mock:config-3
testOnBorrow=false
maxActive=13
password=ns2B+nJLNaoXgGakWqqsP6tWu8ZN25D1FncyKCTB/hNup8LW0g/66iGyrkDBHf9tgPJ8QtLz+upQSyin2g4flg==