+ [misc] Add unit tests for biModel::validateSql() method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-15 15:06:10 +08:00
co-authored by Claude
parent 17ae2d638c
commit 2f111de3ad
2 changed files with 42 additions and 0 deletions
+16
View File
@@ -729,4 +729,20 @@ class biTest
return $result;
}
/**
* Test validateSql method.
*
* @param string $sql
* @param string $driver
* @access public
* @return mixed
*/
public function validateSqlTest($sql, $driver = 'mysql')
{
$result = $this->objectModel->validateSql($sql, $driver);
if(dao::isError()) return dao::getError();
return $result;
}
}
+26
View File
@@ -0,0 +1,26 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/bi.unittest.class.php';
/**
title=测试 biModel::validateSql();
timeout=0
cid=0
- 正常简单SELECT语句 @1
- 空SQL语句 @查询为空。
- 语法错误的SQL语句 @~Table.*doesn.*t exist~
- 包含重复字段的SQL语句 @~字段名重复~
- 非SELECT语句 @~You have an error in your SQL syntax~
*/
$biTest = new biTest();
r($biTest->validateSqlTest('SELECT id, account FROM zt_user LIMIT 1')) && p() && e('1'); // 正常简单SELECT语句
r($biTest->validateSqlTest('')) && p() && e('查询为空。'); // 空SQL语句
r($biTest->validateSqlTest('SELECT * FROM nonexistent_table')) && p() && e('~Table.*doesn.*t exist~'); // 语法错误的SQL语句
r($biTest->validateSqlTest('SELECT id as duplicate, account as duplicate FROM zt_user')) && p() && e('~字段名重复~'); // 包含重复字段的SQL语句
r($biTest->validateSqlTest('INSERT INTO zt_user (account) VALUES ("test")')) && p() && e('~You have an error in your SQL syntax~'); // 非SELECT语句