mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve sql parser & wall filter
This commit is contained in:
@@ -38,7 +38,7 @@ public class MySqlWallDescribteTest extends TestCase {
|
||||
|
||||
public void test_not_allow() throws Exception {
|
||||
WallConfig config = new WallConfig();
|
||||
config.setVariantCheck(true);
|
||||
config.setDescribeAllow(false);
|
||||
|
||||
Assert.assertFalse(WallUtils.isValidateMySql("describe t", config));
|
||||
}
|
||||
|
||||
@@ -22,17 +22,17 @@ public class WallStatTest_WhiteList extends TestCase {
|
||||
public void testMySql() throws Exception {
|
||||
WallProvider provider = new MySqlWallProvider();
|
||||
|
||||
for (int i = 0; i < 1001; ++i) {
|
||||
for (int i = 0; i < 3001; ++i) {
|
||||
String sql = "select * from t where id = " + i;
|
||||
Assert.assertTrue(provider.checkValid(sql));
|
||||
}
|
||||
|
||||
WallTableStat tableStat = provider.getTableStat("t");
|
||||
Assert.assertEquals(1001, tableStat.getSelectCount());
|
||||
Assert.assertEquals(3001, tableStat.getSelectCount());
|
||||
Assert.assertEquals(0, provider.getBlackListHitCount());
|
||||
Assert.assertEquals(0, provider.getWhiteListHitCount());
|
||||
Assert.assertEquals(1000, provider.getWhiteList().size());
|
||||
Assert.assertEquals(1001, provider.getCheckCount());
|
||||
Assert.assertEquals(2000, provider.getWhiteList().size());
|
||||
Assert.assertEquals(3001, provider.getCheckCount());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -64,6 +64,6 @@ public class ConfigErrorTestMysql extends TestCase {
|
||||
|
||||
Assert.assertEquals(0, LOG.getWarnCount());
|
||||
dataSource.init();
|
||||
Assert.assertEquals(1, LOG.getWarnCount());
|
||||
Assert.assertEquals(0, LOG.getWarnCount());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,9 +18,10 @@
|
||||
*/
|
||||
package com.alibaba.druid.bvt.sql.cobar;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.junit.Assert;
|
||||
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLSetStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlDescribeStatement;
|
||||
|
||||
Reference in New Issue
Block a user