diff --git a/module/common/test/lib/common.unittest.class.php b/module/common/test/lib/common.unittest.class.php index cbf7ef85c7..673f50c36e 100644 --- a/module/common/test/lib/common.unittest.class.php +++ b/module/common/test/lib/common.unittest.class.php @@ -2714,4 +2714,20 @@ class commonTest return $result; } + + /** + * Test isOpenMethod method. + * + * @param string $module + * @param string $method + * @access public + * @return bool + */ + public function isOpenMethodTest($module, $method) + { + $result = $this->objectModel->isOpenMethod($module, $method); + if(dao::isError()) return dao::getError(); + + return $result; + } } diff --git a/module/common/test/model/isopenmethod.php b/module/common/test/model/isopenmethod.php index 78fc3f6e53..641f0e7fc4 100755 --- a/module/common/test/model/isopenmethod.php +++ b/module/common/test/model/isopenmethod.php @@ -1,30 +1,37 @@ #!/usr/bin/env php isOpenMethod(); +title=测试 commonModel::isOpenMethod(); timeout=0 -cid=1 +cid=0 -- 执行$priv1 @1 -- 执行$priv2 @1 -- 执行$priv3 @0 -- 执行$priv4 @1 +- 步骤1:公开方法权限验证 @1 +- 步骤2:登录后方法权限验证 @1 +- 步骤3:非公开方法权限验证 @0 +- 步骤4:特殊模块方法权限验证 @1 +- 步骤5:Ajax方法权限验证 @1 +- 步骤6:block模块特殊方法权限验证 @1 +- 步骤7:不存在方法权限验证 @0 */ -global $tester; -$tester->loadModel('common'); +// 1. 导入依赖(路径固定,不可修改) +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/lib/common.unittest.class.php'; -$priv1 = $tester->common->isOpenMethod('misc', 'changelog'); -$priv2 = $tester->common->isOpenMethod('tutorial', 'quit'); -$priv3 = $tester->common->isOpenMethod('my', 'task'); -$priv4 = $tester->common->isOpenMethod('product', 'showerrornone'); +// 2. 用户登录(已登录状态进行测试) +su('admin'); -r($priv1) && p() && e('1'); -r($priv2) && p() && e('1'); -r($priv3) && p() && e('0'); -r($priv4) && p() && e('1'); \ No newline at end of file +// 3. 创建测试实例 +$commonTest = new commonTest(); + +// 4. 测试步骤:必须包含至少5个测试步骤 +r($commonTest->isOpenMethodTest('misc', 'changelog')) && p() && e('1'); // 步骤1:公开方法权限验证 +r($commonTest->isOpenMethodTest('tutorial', 'quit')) && p() && e('1'); // 步骤2:登录后方法权限验证 +r($commonTest->isOpenMethodTest('my', 'task')) && p() && e('0'); // 步骤3:非公开方法权限验证 +r($commonTest->isOpenMethodTest('product', 'showerrornone')) && p() && e('1'); // 步骤4:特殊模块方法权限验证 +r($commonTest->isOpenMethodTest('user', 'ajaxGetList')) && p() && e('1'); // 步骤5:Ajax方法权限验证 +r($commonTest->isOpenMethodTest('block', 'dashboard')) && p() && e('1'); // 步骤6:block模块特殊方法权限验证 +r($commonTest->isOpenMethodTest('unknown', 'invalidmethod')) && p() && e('0'); // 步骤7:不存在方法权限验证 \ No newline at end of file