checkTestCasePermission($case_id, $_SESSION['userID']))) { return -1; } $auth_dao = new AuthorizationDao(); $result = $auth_dao->getProjectUserType($_SESSION['userID'], $project_id); if ($result === FALSE) { return -1; } return $result; } /** * 新增测试用例 * @param $user_id * @param $case_name * @param $case_desc * @param $case_type * @param $group_id * @return bool */ public function addTestCase(&$user_id, &$case_name, &$case_desc, &$case_type, &$group_id) { $group_dao = new AutomatedTestCaseGroupDao(); if (!($project_id = $group_dao->checkAutomatedTestCaseGroupPermission($group_id, $user_id))) { return FALSE; } $dao = new AutomatedTestCaseDao(); $result = $dao->addTestCase($project_id, $user_id, $case_name, $case_desc, $case_type, $group_id); if ($result) { // 刷新项目更新时间 $project_dao = new ProjectDao(); $project_dao->updateProjectUpdateTime($project_id); // 将操作写入日志 $log_dao = new ProjectLogDao(); $log_dao->addOperationLog($project_id, $user_id, ProjectLogDao::$OP_TARGET_AUTOMATED_TEST_CASE, $result, ProjectLogDao::$OP_TYPE_ADD, "新增自动化测试用例:'{$case_name}'", date("Y-m-d H:i:s", time())); return $result; } else return FALSE; } /** * 修改测试用例 * @param $user_id * @param $case_id * @param $case_name * @param $case_desc * @param $case_type * @param $group_id * @return bool */ public function editTestCase(&$user_id, &$case_id, &$case_name, &$case_desc, &$case_type, &$group_id) { $group_dao = new AutomatedTestCaseGroupDao(); if (!($project_id = $group_dao->checkAutomatedTestCaseGroupPermission($group_id, $user_id))) { return FALSE; } $dao = new AutomatedTestCaseDao(); if (!$dao->checkTestCasePermission($case_id, $user_id)) { return FALSE; } $result = $dao->editTestCase($project_id, $user_id, $case_id, $case_name, $case_desc, $case_type, $group_id); if ($result) { // 刷新项目更新时间 $project_dao = new ProjectDao(); $project_dao->updateProjectUpdateTime($project_id); // 将操作写入日志 $log_dao = new ProjectLogDao(); $log_dao->addOperationLog($project_id, $user_id, ProjectLogDao::$OP_TARGET_AUTOMATED_TEST_CASE, $case_id, ProjectLogDao::$OP_TYPE_UPDATE, "修改自动化测试用例:'{$case_name}'", date("Y-m-d H:i:s", time())); return $result; } else return FALSE; } /** * 获取测试用例列表 * @param $project_id * @param $group_id * @param $user_id * @return mixed */ public function getTestCaseList(&$project_id, &$group_id, &$user_id) { $dao = new AutomatedTestCaseDao(); if ($group_id) { $group_dao = new AutomatedTestCaseGroupDao(); if (!$group_dao->checkAutomatedTestCaseGroupPermission($group_id, $user_id)) { return FALSE; } return $dao->getTestCaseList($group_id); } else { $project_dao = new ProjectDao(); if (!$project_dao->checkProjectPermission($project_id, $user_id)) { return FALSE; } return $dao->getAllTestCaseList($project_id); } } /** * 获取测试用例详情 * @param $case_id * @param $user_id * @return mixed */ public function getTestCaseInfo(&$case_id, &$user_id) { $dao = new AutomatedTestCaseDao(); if ($dao->checkTestCasePermission($case_id, $user_id)) { return $dao->getTestCaseInfo($case_id); } else { return FALSE; } } /** * 删除测试用例 * @param $project_id * @param $user_id * @param $case_ids * @return bool */ public function deleteTestCase(&$project_id, &$user_id, &$case_ids) { $project_dao = new ProjectDao(); if (!$project_dao->checkProjectPermission($project_id, $user_id)) { return FALSE; } $dao = new AutomatedTestCaseDao(); // 获取接口名称 $test_case_name = $dao->getTestCaseName($case_ids); $result = $dao->deleteTestCases($project_id, $case_ids); if ($result) { // 刷新项目更新时间 $project_dao->updateProjectUpdateTime($project_id); // 将操作写入日志 $log_dao = new ProjectLogDao(); $log_dao->addOperationLog($project_id, $user_id, ProjectLogDao::$OP_TARGET_AUTOMATED_TEST_CASE, $case_ids, ProjectLogDao::$OP_TYPE_DELETE, "删除自动化测试用例:'{$test_case_name}'", date("Y-m-d H:i:s", time())); return $result; } else return FALSE; } /** * 搜索用例 * @param $project_id * @param $tips * @param $user_id * @return mixed */ public function searchTestCase(&$project_id, &$tips, &$user_id) { $project_dao = new ProjectDao(); if (!$project_dao->checkProjectPermission($project_id, $user_id)) { return FALSE; } $api_dao = new AutomatedTestCaseDao(); return $api_dao->searchTestCase($project_id, $tips); } /** * 获取用例数据列表 * @param $project_id * @param $group_id * @param $user_id * @return bool */ public function getTestCaseDataList(&$project_id, &$group_id, &$user_id) { $dao = new AutomatedTestCaseDao(); if ($group_id) { $group_dao = new AutomatedTestCaseGroupDao(); if (!$group_dao->checkAutomatedTestCaseGroupPermission($group_id, $user_id)) { return FALSE; } return $dao->getTestCaseDataList($project_id, $group_id); } else { $project_dao = new ProjectDao(); if (!$project_dao->checkProjectPermission($project_id, $user_id)) { return FALSE; } return $dao->getAllTestCaseDataList($project_id); } } }