From 84b96663a54dac2839223abc799b1a8bdddb5a4e Mon Sep 17 00:00:00 2001 From: xiusiyan Date: Sun, 18 Mar 2012 20:18:19 +0800 Subject: [PATCH] split sqlserver test case --- .../alibaba/druid/bvt/AlipayUseCaseTest.java | 2 +- .../wall/SQLServerWallPermitFunctionTest.java | 51 +++++++++++++++++++ .../wall/SQLServerWallPermitTableTest.java | 6 ++- .../bvt/filter/wall/SQLServerWallTest.java | 14 +---- 4 files changed, 58 insertions(+), 15 deletions(-) create mode 100644 src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitFunctionTest.java diff --git a/src/test/java/com/alibaba/druid/bvt/AlipayUseCaseTest.java b/src/test/java/com/alibaba/druid/bvt/AlipayUseCaseTest.java index f3bbefc17e..f0f51a79dc 100644 --- a/src/test/java/com/alibaba/druid/bvt/AlipayUseCaseTest.java +++ b/src/test/java/com/alibaba/druid/bvt/AlipayUseCaseTest.java @@ -31,7 +31,7 @@ public class AlipayUseCaseTest { @Test public void test() { - fail("Not yet implemented"); // TODO + // TODO } } diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitFunctionTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitFunctionTest.java new file mode 100644 index 0000000000..9029af4166 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitFunctionTest.java @@ -0,0 +1,51 @@ +package com.alibaba.druid.bvt.filter.wall; + +import org.junit.Assert; + +import com.alibaba.druid.wall.WallUtils; + +import junit.framework.TestCase; + +/** + * SQLServerWallPermitFunctionTest + * + * @author RaymondXiu + * @version 1.0, 2012-3-18 + * @see + */ +public class SQLServerWallPermitFunctionTest extends TestCase { + + /** + * @param name + */ + public SQLServerWallPermitFunctionTest(String name) { + super(name); + } + + /* (non-Javadoc) + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception { + super.setUp(); + } + + /* (non-Javadoc) + * @see junit.framework.TestCase#tearDown() + */ + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test_permitFunction01() throws Exception { + Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT user_name();")); + Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT DB_NAME()")); + Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT DB_NAME(0); ")); + Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT HOST_NAME()")); + Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC sp_addlogin ‘user’, ‘pass’; ")); + Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC sp_droplogin ‘user’;")); + Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC master.dbo.sp_addsrvrolemember ‘user’, ‘sysadmin")); + Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC sp_helpdb master")); + Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC sp_helpdb pubs")); + } + +} diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitTableTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitTableTest.java index b02f2ffb52..49014cf506 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitTableTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitTableTest.java @@ -14,8 +14,12 @@ import com.alibaba.druid.wall.WallUtils; * @see */ public class SQLServerWallPermitTableTest extends TestCase { - public void test_permitTable() throws Exception { + public void test_permitTable01() throws Exception { Assert.assertFalse(WallUtils.isValidateSqlServer("select * from sysObjects")); Assert.assertFalse(WallUtils.isValidateSqlServer("select * from sysdatabases")); } + + public void test_permitTable02() throws Exception { + Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT system_user;")); + } } diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallTest.java index 2ee00a3997..8693a97192 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallTest.java @@ -40,8 +40,6 @@ public class SQLServerWallTest extends TestCase { Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT @@version")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT 1 — comment")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT /*comment*/1")); - Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT user_name();")); - Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT system_user;")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT user;")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT loginame FROM master..sysprocesses WHERE spid = @@SPID")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT name FROM master..syslogins")); @@ -76,23 +74,13 @@ public class SQLServerWallTest extends TestCase { Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT is_srvrolemember(‘sysadmin’); ")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT is_srvrolemember(‘sysadmin’, ‘sa’); ")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT name FROM master..syslogins WHERE sysadmin = ’1′ ")); - Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT DB_NAME()")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT name FROM master..sysdatabases;")); - Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT DB_NAME(0); ")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT name FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = ‘mytable’);")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT master..syscolumns.name, TYPE_NAME(master..syscolumns.xtype) FROM master..syscolumns, master..sysobjects WHERE master..syscolumns.id=master..sysobjects.id AND master..sysobjects.name=’sometable’; ")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT name FROM master..sysobjects WHERE xtype = ‘U’; — use xtype = ‘V’ for views SELECT name FROM someotherdb..sysobjects WHERE xtype = ‘U’; ")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT sysobjects.name as tablename, syscolumns.name as columnname FROM sysobjects JOIN syscolumns ON sysobjects.id = syscolumns.id WHERE sysobjects.xtype = ‘U’ AND syscolumns.name LIKE ‘%PASSWORD%’ ")); Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT TOP 1 name FROM (SELECT TOP 9 name FROM master..syslogins ORDER BY name ASC) sq ORDER BY name DESC ")); Assert.assertFalse(WallUtils.isValidateSqlServer("WAITFOR DELAY ’0:0:5′ ")); - Assert.assertFalse(WallUtils.isValidateSqlServer("SELECT HOST_NAME()")); - Assert.assertFalse(WallUtils.isValidateSqlServer("BULK INSERT mydata FROM ‘c:boot.ini’;")); - Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC sp_addlogin ‘user’, ‘pass’; ")); - Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC sp_droplogin ‘user’;")); - Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC master.dbo.sp_addsrvrolemember ‘user’, ‘sysadmin")); - Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC sp_helpdb master")); - Assert.assertFalse(WallUtils.isValidateSqlServer("EXEC sp_helpdb pubs")); - - + Assert.assertFalse(WallUtils.isValidateSqlServer("BULK INSERT mydata FROM ‘c:boot.ini’;")); } } \ No newline at end of file