package cn.org.rapid_framework.generator.util.sqlparse;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class SqlTypeCheckerTest{
protected SqlTypeChecker sqlTypeChecker = new SqlTypeChecker();
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Throwable{
}
@Test
public void test_isSelectSql() throws Throwable{
boolean result = sqlTypeChecker.isSelectSql(" select * from hibernate" );
assertTrue(result);
result = sqlTypeChecker.isSelectSql("a select * from hibernate" );
assertFalse(result);
result = sqlTypeChecker.isSelectSql("/** abc 123 */ select * from hibernate" );
assertTrue(result);
result = sqlTypeChecker.isSelectSql("/** abc 123 */ select * from hibernate /* abc */" );
assertTrue(result);
result = sqlTypeChecker.isSelectSql("select * from hibernate --hibernate" );
assertTrue(result);
result = sqlTypeChecker.isSelectSql("--select * from hibernate --hibernate" );
assertFalse(result);
result = sqlTypeChecker.isSelectSql("/*select * from hibernate */" );
assertFalse(result);
assertTrue(sqlTypeChecker.isSelectSql("<![CDATA[ select * from user ]]>" ));
}
@Test
public void test_isUpdateSql() throws Throwable{
boolean result = sqlTypeChecker.isUpdateSql("update user set username = ? ,abc = ? where id = ?" );
assertTrue(result);
assertTrue(sqlTypeChecker.isUpdateSql("<![CDATA[ update user set username = ? ,abc = ? where id = ? ]]>" ));
assertFalse(sqlTypeChecker.isUpdateSql("select usr_id,usr_name,usr_passwd,usr_type,usr_gmt_create,usr_gmt_update from tse_user_base" ));
}
@Test
public void test_isDeleteSql() throws Throwable{
boolean result = sqlTypeChecker.isDeleteSql("delete from userinfo" );
assertTrue(result);
result = sqlTypeChecker.isDeleteSql("sdelete from userinfo" );
assertFalse(result);
assertTrue(sqlTypeChecker.isDeleteSql("<![CDATA[ delete from userinfo ]]>" ));
assertTrue(sqlTypeChecker.isDeleteSql("<![CDATA[ \ndelete\n from\n userinfo ]]>" ));
assertTrue(sqlTypeChecker.isDeleteSql("<![CDATA[ \ndelete air_ld_config\n where config_name = ?\n \n]]>" ));
}
@Test
public void test_isInsertSql() throws Throwable{
String sourceSql = "insert into userinfo (user) values (?)";
boolean result = sqlTypeChecker.isInsertSql(sourceSql );
assertTrue(result);
assertTrue(sqlTypeChecker.isInsertSql("<![CDATA[ insert into userinfo (user) values (?) ]]>" ));
result = sqlTypeChecker.isInsertSql("sinsert into userinfo (user) values (?)" );
assertFalse(result);
System.out.println(Boolean.class);
}
}