diff --git a/test/class/sso.class.php b/test/class/sso.class.php new file mode 100644 index 0000000000..0d3e81a3f1 --- /dev/null +++ b/test/class/sso.class.php @@ -0,0 +1,59 @@ +objectModel = $tester->loadModel('sso'); + } + + /** + * Test create a user. + * + * @param array $param + * @access public + * @return void + */ + public function createTest($param = array()) + { + foreach($param as $key => $value) $_POST[$key] = $value; + + $result = $this->objectModel->createUser(); + + unset($_POST); + if($result['status'] == 'fail') return 'fail'; + + $object = $this->objectModel->getBindUser($param['account']); + return $object; + } + + /** + * Test bind a user. + * + * @param array $param + * @param string $bindUser + * @access public + * @return void + */ + public function bindTest($param = array(), $bindUser = '') + { + global $tester; + if($bindUser) + { + $tester->session->ssoData = new stdClass(); + $tester->session->ssoData->account = $bindUser; + } + + foreach($param as $key => $value) $_POST[$key] = $value; + if(isset($param['password1'])) $_POST['passwordStrength'] = strlen($param['password1']); + + $object = $this->objectModel->bind(); + + unset($_POST); + + if(!$object) return 'fail'; + if(is_int($object)) return 'user get error'; + + return $object; + } +} diff --git a/test/data/user.yaml b/test/data/user.yaml index 670bc1aeff..16e537f0bd 100644 --- a/test/data/user.yaml +++ b/test/data/user.yaml @@ -50,14 +50,14 @@ fields: - field: commiter note: "源代码帐号" fields: - - field: commiter1 + - field: commiter1 range: admin,user{99},test{100},dev{100},pm{100},po{100},td{100},pd{100},qd{100},top{100},outside{100},others{100},a,bb,ccc,qwuiadsd?!2as@#%$aasd~aj1!@#1 - field: commiter2 range: [],1-99,1-100,1-100,1-100,1-100,1-100,1-100,1-100,1-100,1-100,1-100,[]{4} - field: avatar note: "" fields: - - field: avatar1 + - field: avatar1 range: /home/z/tmp/,/home/z/user/ - field: avatar2 range: 1-10,10-20 @@ -167,6 +167,11 @@ fields: range: 1 - field: ranzhi note: "ZDOO账号" + fields: + - field: account1 + range: admin,user{99},test{100},dev{100},pm{100},po{100},td{100},pd{100},qd{100},top{100},outside{100},others{100},a,bb,ccc,qwuiadsd?!2as@#%$aasd~aj1!@#1 + - field: account2 + range: [],1-99,1-100,1-100,1-100,1-100,1-100,1-100,1-100,1-100,1-100,1-100,[]{4} - field: score note: "积分" range: 1-10000:R diff --git a/test/model/sso/createuser.php b/test/model/sso/createuser.php new file mode 100755 index 0000000000..5e181bd87c --- /dev/null +++ b/test/model/sso/createuser.php @@ -0,0 +1,44 @@ +#!/usr/bin/env php +createUser(); +cid=1 +pid=1 + +用户存在的情况 >> fail +用户信息错误的情况 >> fail +用户不存在的情况 >> bindUser1 + +*/ + +$sso = new ssoTest(); + +$existsUser = array( + 'account' => 'admin' +); + +$newUser = array( + 'account' => 'bindUser1', + 'realname' => '绑定用户1', + 'email' => 'user@test.com', + 'gender' => 'm', + 'ranzhi' => 'bindUser1' +); + +$failUser = array( + 'account' => 'bindUser2', + 'realname' => '绑定用户2', + 'email' => 'user@test.com', + 'gender' => '', + 'ranzhi' => 'bindUser2' +); + +r($sso->createTest($existsUser)) && p('status') && e('fail'); // 用户存在的情况 +r($sso->createTest($failUser)) && p('status') && e('fail'); // 用户信息错误的情况 +r($sso->createTest($newUser)) && p('account') && e('bindUser1'); // 用户不存在的情况 +system("./ztest init"); diff --git a/test/model/sso/getbinduser.php b/test/model/sso/getbinduser.php new file mode 100755 index 0000000000..facc679613 --- /dev/null +++ b/test/model/sso/getbinduser.php @@ -0,0 +1,24 @@ +#!/usr/bin/env php +getBindUser(); +cid=1 +pid=1 + +用户不存在绑定的情况 >> not user +用户存在绑定的情况 >> admin + +*/ + +$sso = $tester->loadModel('sso'); + +$emptyUser = ''; +$realUser = 'admin'; + +$res = $sso->getBindUser($emptyUser); +if(!$res) $res = 'not user'; +r($res) && p() && e('not user'); // 用户不存在绑定的情况 +r($sso->getBindUser($realUser)) && p('account') && e('admin'); // 用户存在绑定的情况 diff --git a/test/model/sso/getbindusers.php b/test/model/sso/getbindusers.php new file mode 100755 index 0000000000..65a3d2fb00 --- /dev/null +++ b/test/model/sso/getbindusers.php @@ -0,0 +1,17 @@ +#!/usr/bin/env php +getBindUsers(); +cid=1 +pid=1 + +获取第一条记录账号 >> admin + +*/ + +$sso = $tester->loadModel('sso'); + +r($sso->getBindUsers()) && p('admin') && e('admin'); // 获取第一条记录账号 diff --git a/test/ztest b/test/ztest index cfb9cad01a..e4b227b9a3 100755 --- a/test/ztest +++ b/test/ztest @@ -94,6 +94,9 @@ switch($argv[1]) case 'report': ztfRun('model/report'); break; + case 'sso': + ztfRun('model/sso'); + break; case 'stage': ztfRun('model/stage'); break;