Example #1
0
 public function act()
 {
     // 添加配置
     if (!$this->check_param('packageid, configtype, configkeyword')) {
         V('Json.Base')->init(Const_Code::CONFIG_PARAM_ERROR, '配置传递参数错误');
         return;
     }
     $package_id = (int) Util_Server_Request::get_param('packageid', 'post');
     $config_type = trim(Util_Server_Request::get_param('configtype', 'post'));
     $config_keyword = trim(Util_Server_Request::get_param('configkeyword', 'post'));
     if (!preg_match('/^\\w+$/', $config_keyword)) {
         V('Json.Base')->init(Const_Code::CONFIG_FORMAT_ERROR, '配置关键字格式错误');
         return;
     }
     if (M('Conf')->check_keyword_exists($package_id, $config_type, $config_keyword)) {
         V('Json.Base')->init(Const_Code::ADD_CONFIG_EXISTS, '配置关键字重复');
         return;
     }
     M('Conf')->insert();
     $config = M('Conf')->get_by_keyword($package_id, $config_type, $config_keyword);
     $config_id = (int) $config['id'];
     if (!$config_id) {
         V('Json.Base')->init(Const_Code::ADD_CONFIG_FAIL, '配置添加失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, $config_id);
 }
Example #2
0
 public function act()
 {
     // 更新用户
     if (!$this->check_param('userid, username, userrole')) {
         V('Json.Base')->init(Const_Code::USER_PARAM_ERROR, '用户传递参数错误');
         return;
     }
     $user_id = (int) Util_Server_Request::get_param('userid', 'post');
     $user_name = trim(Util_Server_Request::get_param('username', 'post'));
     $user_password = trim(Util_Server_Request::get_param('userpassword', 'post'));
     if (!preg_match('/^\\w+$/', $user_name)) {
         V('Json.Base')->init(Const_Code::USER_FORMAT_ERROR, '用户名称格式错误');
         return;
     }
     if (M('User')->check_name_update($user_id, $user_name)) {
         V('Json.Base')->init(Const_Code::UPDATE_USER_EXISTS, '用户名称重复');
         return;
     }
     if ($user_password) {
         $_POST['userpassword'] = md5($user_name . $user_password);
     } else {
         unset($_POST['userpassword']);
     }
     unset($_POST['username']);
     $result = M('User')->where('id=' . $user_id)->update();
     if (is_null($result)) {
         V('Json.Base')->init(Const_Code::UPDATE_USER_FAIL, '用户更新失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, '用户更新成功');
 }
Example #3
0
 public function act()
 {
     // 添加用例
     if (!$this->check_param('itemid, moduleid, casename, sendtype')) {
         V('Json.Base')->init(Const_Code::CASE_PARAM_ERROR, '用例传递参数错误');
         return;
     }
     $item_id = (int) Util_Server_Request::get_param('itemid', 'post');
     $case_name = trim(Util_Server_Request::get_param('casename', 'post'));
     if (M('Case')->check_name_exists($item_id, $case_name)) {
         V('Json.Base')->init(Const_Code::ADD_CASE_EXISTS, '用例名称重复');
         return;
     }
     M('Case')->insert();
     $case = M('Case')->get_by_name($item_id, $case_name);
     $case_id = (int) $case['id'];
     if (!$case_id) {
         V('Json.Base')->init(Const_Code::ADD_CASE_FAIL, '用例添加失败');
         return;
     }
     $item = M('Item')->get_by_id($item_id);
     $_POST['caseid'] = $case_id;
     $_POST['stepname'] = '调用: ' . $item['name'] . '->' . $case_name;
     $_POST['steptype'] = '接口调用';
     $_POST['stepcommand'] = 'self';
     $_POST['stepvalue'] = $case_id;
     $_POST['stepsequence'] = 1;
     M('Step')->insert();
     V('Json.Base')->init(Const_Code::SUCCESS, $case_id);
 }
Example #4
0
 public function act()
 {
     // 更新用户密码
     if (!$this->check_param('oldpassword, newpassword')) {
         V('Json.Base')->init(Const_Code::USER_PARAM_ERROR, '用户传递参数错误');
         return;
     }
     $old_password = trim(Util_Server_Request::get_param('oldpassword', 'post'));
     $new_password = trim(Util_Server_Request::get_param('newpassword', 'post'));
     $user_id = (int) $_COOKIE['userid'];
     $user_name = $_COOKIE['username'];
     $old_password = md5($user_name . $old_password);
     $new_password = md5($user_name . $new_password);
     $user = M('User')->get_by_id($user_id);
     if ($old_password !== $user['passwd']) {
         V('Json.Base')->init(Const_Code::USER_CHECK_ERROR, '用户密码校验失败');
         return;
     }
     $_POST['userpassword'] = $new_password;
     $result = M('User')->where('id=' . $user_id)->update();
     if (is_null($result)) {
         V('Json.Base')->init(Const_Code::UPDATE_USER_FAIL, '用户密码更新失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, '用户密码更新成功');
 }
Example #5
0
 public function act()
 {
     // 获取任务列表
     $page = (int) Util_Server_Request::get_param('page', 'post');
     $size = (int) Util_Server_Request::get_param('size', 'post');
     $history_size = (int) Util_Server_Request::get_param('historysize', 'post');
     if ($page < 1) {
         $page = 1;
     }
     if ($size < 1) {
         $size = 20;
     }
     if ($history_size) {
         $history_size = 3;
     }
     $task_list = M('Task')->get_all($page, $size, $history_size);
     foreach ($task_list as &$task) {
         $package = M('Package')->get_by_id((int) $task['package_id']);
         $task['packagename'] = $package['name'];
         $module = M('Module')->get_by_id((int) $task['module_id']);
         $task['modulename'] = $module['name'];
         $job = M('Job')->get_by_task((int) $task['id']);
         $task['running'] = $job ? 1 : 0;
         $task['total'] = $job ? (int) $job['total'] : 0;
         $task['current'] = $job ? (int) $job['current'] : 0;
         $task['history'] = M('History')->get_by_task((int) $task['id'], 1, $history_size);
     }
     echo json_encode($task_list);
 }
Example #6
0
 public function act()
 {
     // 移除作业
     $id = (int) Util_Server_Request::get_param('id', 'post');
     M('Job')->remove_by_task($id);
     echo "done";
 }
Example #7
0
 public function act()
 {
     // 更新配置
     if (!$this->check_param('configid, packageid, configtype, configkeyword')) {
         V('Json.Base')->init(Const_Code::CONFIG_PARAM_ERROR, '配置传递参数错误');
         return;
     }
     $config_id = (int) Util_Server_Request::get_param('configid', 'post');
     $package_id = (int) Util_Server_Request::get_param('packageid', 'post');
     $config_type = trim(Util_Server_Request::get_param('configtype', 'post'));
     $config_keyword = trim(Util_Server_Request::get_param('configkeyword', 'post'));
     if (!preg_match('/^\\w+$/', $config_keyword)) {
         V('Json.Base')->init(Const_Code::CONFIG_FORMAT_ERROR, '配置关键字格式错误');
         return;
     }
     if (M('Conf')->check_keyword_update($config_id, $package_id, $config_type, $config_keyword)) {
         V('Json.Base')->init(Const_Code::UPDATE_CONFIG_EXISTS, '配置关键字重复');
         return;
     }
     $result = M('Conf')->where('id=' . $config_id)->update();
     if (is_null($result)) {
         V('Json.Base')->init(Const_Code::UPDATE_CONFIG_FAIL, '配置更新失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, '配置更新成功');
 }
Example #8
0
 public function act()
 {
     // 添加作业
     if (!$this->check_param('taskid')) {
         V('Json.Base')->init(Const_Code::JOB_PARAM_ERROR, '作业传递参数错误');
         return;
     }
     $task_id = (int) Util_Server_Request::get_param('taskid', 'post');
     if (M('Job')->check_task_exists($task_id)) {
         V('Json.Base')->init(Const_Code::ADD_JOB_EXISTS, '作业已在队列');
         return;
     }
     $task = M('Task')->get_by_id($task_id);
     if (!$task) {
         V('Json.Base')->init(Const_Code::ADD_JOB_FAIL, '作业添加失败');
         return;
     }
     M('Job')->insert();
     $job = M('Job')->get_by_task($task_id);
     $job_id = (int) $job['task_id'];
     if (!$job_id) {
         V('Json.Base')->init(Const_Code::ADD_JOB_FAIL, '作业添加失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, $job_id);
 }
Example #9
0
 public function act()
 {
     // 获取测试详情
     $result_id = (int) Util_Server_Request::get_param('resultid', 'post');
     $result = M('Result')->get_by_id($result_id);
     echo $result['content'];
 }
Example #10
0
 public function act()
 {
     // 添加用户
     if (!$this->check_param('username, userrole')) {
         V('Json.Base')->init(Const_Code::USER_PARAM_ERROR, '用户传递参数错误');
         return;
     }
     $user_name = trim(Util_Server_Request::get_param('username', 'post'));
     $user_password = trim(Util_Server_Request::get_param('userpassword', 'post'));
     if (!preg_match('/^\\w+$/', $user_name)) {
         V('Json.Base')->init(Const_Code::USER_FORMAT_ERROR, '用户名称格式错误');
         return;
     }
     if (M('User')->check_name_exists($user_name)) {
         V('Json.Base')->init(Const_Code::ADD_USER_EXISTS, '用户名称重复');
         return;
     }
     $_POST['userpassword'] = $user_password ? md5($user_name . $user_password) : md5($user_name . '888888');
     M('User')->insert();
     $user = M('User')->get_by_name($user_name);
     $user_id = (int) $user['id'];
     if (!$user_id) {
         V('Json.Base')->init(Const_Code::ADD_USER_FAIL, '用户添加失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, $user_id);
 }
Example #11
0
 public function act()
 {
     // 登录流程
     if (!$this->check_param('username, password, issave')) {
         V('Json.Base')->init(Const_Code::LOGIN_PARAM_ERROR, '登录传递参数错误');
         return;
     }
     $username = trim(Util_Server_Request::get_param('username', 'post'));
     $password = trim(Util_Server_Request::get_param('password', 'post'));
     $is_save = (int) Util_Server_Request::get_param('issave', 'post');
     $time = time();
     $seckey = lb_read_system('seckey');
     $user_id = (int) M('User')->check_password($username, md5($username . $password));
     if (!$user_id) {
         V('Json.Base')->init(Const_Code::LOGIN_FAIL, '帐号验证失败');
         return;
     }
     $user = M('User')->get_by_id($user_id);
     $expire_time = $is_save ? 86400 * 30 : 0;
     Util_Client_Cookie::set_cookie('userid', $user_id, $expire_time);
     Util_Client_Cookie::set_cookie('username', $user['name'], $expire_time);
     Util_Client_Cookie::set_cookie('userrole', $user['role'], $expire_time);
     Util_Client_Cookie::set_cookie('time', $time, $expire_time);
     Util_Client_Cookie::set_cookie('secstr', md5($user_id . '$' . $user['name'] . '$' . $user['role'] . '$' . $time . '$' . $seckey), $expire_time);
     V('Json.Base')->init(Const_Code::SUCCESS, '帐号验证通过');
 }
Example #12
0
 public function act()
 {
     // 获取测试步骤
     $history_id = (int) Util_Server_Request::get_param('historyid', 'post');
     $item_id = (int) Util_Server_Request::get_param('itemid', 'post');
     $case_id = (int) Util_Server_Request::get_param('caseid', 'post');
     echo json_encode(M('Result')->get_by_case($history_id, $item_id, $case_id));
 }
Example #13
0
 public function act()
 {
     // 开始首页
     $id = (int) Util_Server_Request::get_param('reload', 'get');
     $view = V('Html.Start.Index');
     $view->add_data('reload_id', $id);
     $view->init('Start.Index');
 }
Example #14
0
 public function act()
 {
     // 计算模块接口用例数
     $module_id = (int) Util_Server_Request::get_param('moduleid', 'post');
     $item_num = M('Item')->get_count_by_module($module_id);
     $case_num = M('Case')->get_count_by_module($module_id);
     echo json_encode(array('item_num' => $item_num, 'case_num' => $case_num));
 }
Example #15
0
 protected function check_cookie()
 {
     $user_id = Util_Server_Request::get_cookie('userid');
     $user_name = Util_Server_Request::get_cookie('username');
     $user_role = Util_Server_Request::get_cookie('userrole');
     $time = Util_Server_Request::get_cookie('time');
     $secstr = Util_Server_Request::get_cookie('secstr');
     $seckey = lb_read_system('seckey');
     return $secstr === md5($user_id . '$' . $user_name . '$' . $user_role . '$' . $time . '$' . $seckey);
 }
Example #16
0
 public function get_cookie($file = '')
 {
     $saved_file = Util_Server_Request::get_cookie('cookiefile');
     if ($saved_file) {
         $file = $saved_file;
     } else {
         $file = $file ? $file : 'local-' . microtime();
         Util_Client_Cookie::set_cookie('cookiefile', $file, time() + 90 * 24 * 3600);
     }
     return APP_PATH . '/tmp/cookie/' . $file;
 }
Example #17
0
 private function add_result($content)
 {
     // 创建测试结果
     $temp = (int) Util_Server_Request::get_param('temp', 'post');
     if ($temp) {
         return;
     }
     $_POST['stepid'] = 1;
     $_POST['steptype'] = '接口调用';
     $_POST['resultcontent'] = $content;
     M('Result')->insert();
 }
Example #18
0
 public function act()
 {
     // 获取任务接口
     $task_id = (int) Util_Server_Request::get_param('taskid', 'post');
     $module_id = (int) Util_Server_Request::get_param('moduleid', 'post');
     if ($module_id) {
         $item_list = M('Item')->get_by_module($module_id, 0, 0);
     } else {
         $item_list = M('Item')->get_all(0, 0);
     }
     M('Job')->set_total($task_id, count($item_list));
     V('Xml.Base')->init('item', $item_list);
 }
Example #19
0
 public function act()
 {
     // 获取任务步骤
     $case_id = (int) Util_Server_Request::get_param('caseid', 'post');
     $case = M('Case')->get_by_id($case_id);
     if (!$case) {
         V('Xml.Base')->init('step', array());
         return;
     }
     $_POST['resultname'] = $case['name'];
     M('Result')->insert();
     V('Xml.Base')->init('step', M('Step')->get_by_case($case_id));
 }
Example #20
0
 public function act()
 {
     // 获取用户列表
     $page = (int) Util_Server_Request::get_param('page', 'post');
     $size = (int) Util_Server_Request::get_param('size', 'post');
     if ($page < 1) {
         $page = 1;
     }
     if ($size < 1) {
         $size = 20;
     }
     echo json_encode(M('User')->get_all($page, $size));
 }
Example #21
0
 public function act()
 {
     // 请求用例执行
     $send_type = trim(Util_Server_Request::get_param('sendtype', 'post'));
     $item_url = trim(Util_Server_Request::get_param('itemurl', 'post'));
     $request_param = trim(Util_Server_Request::get_param('requestparam', 'post'));
     $request_header = trim(Util_Server_Request::get_param('requestheader', 'post'));
     $request_cookie = trim(Util_Server_Request::get_param('requestcookie', 'post'));
     $request_header = json_decode($request_header, true);
     if (is_null($request_header) || !is_array($request_header)) {
         $request_header = array();
     }
     echo $this->set_curl($send_type, $item_url, $request_param, $request_header, $request_cookie, 1);
 }
Example #22
0
 public function act()
 {
     // 添加步骤
     if (!$this->check_param('caseid, stepname, steptype, stepvalue, stepsequence')) {
         V('Json.Base')->init(Const_Code::STEP_PARAM_ERROR, '步骤传递参数错误');
         return;
     }
     $case_id = (int) Util_Server_Request::get_param('caseid', 'post');
     $result = M('Step')->insert();
     if (is_null($result)) {
         V('Json.Base')->init(Const_Code::ADD_STEP_FAIL, '步骤添加失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, '步骤添加成功');
 }
Example #23
0
 public function act()
 {
     // 获取配置列表
     $package_id = (int) Util_Server_Request::get_param('packageid', 'post');
     $type = trim(Util_Server_Request::get_param('type', 'post'));
     $page = (int) Util_Server_Request::get_param('page', 'post');
     $size = (int) Util_Server_Request::get_param('size', 'post');
     if ($page < 1) {
         $page = 1;
     }
     if ($size < 1) {
         $size = 10;
     }
     echo json_encode(M('Conf')->get_by_package($package_id, $type, $page, $size));
 }
Example #24
0
 public function act()
 {
     // 删除用例
     if (!$this->check_param('caseid')) {
         V('Json.Base')->init(Const_Code::CASE_PARAM_ERROR, '用例传递参数错误');
         return;
     }
     $case_id = (int) Util_Server_Request::get_param('caseid', 'post');
     M('Case')->remove($case_id);
     $case = M('Case')->get_by_id($case_id);
     if ($case) {
         V('Json.Base')->init(Const_Code::DELETE_CASE_FAIL, '用例删除失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, '用例删除成功');
 }
Example #25
0
 public function act()
 {
     // 删除作业
     if (!$this->check_param('taskid')) {
         V('Json.Base')->init(Const_Code::JOB_PARAM_ERROR, '作业传递参数错误');
         return;
     }
     $task_id = (int) Util_Server_Request::get_param('taskid', 'post');
     M('Job')->remove_by_task($task_id);
     $job = M('Job')->get_by_task($task_id);
     if ($job) {
         V('Json.Base')->init(Const_Code::DELETE_JOB_FAIL, '作业删除失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, '作业删除成功');
 }
Example #26
0
 public function act()
 {
     // 删除任务
     if (!$this->check_param('taskid')) {
         V('Json.Base')->init(Const_Code::TASK_PARAM_ERROR, '任务传递参数错误');
         return;
     }
     $task_id = (int) Util_Server_Request::get_param('taskid', 'post');
     M('Task')->remove($task_id);
     $task = M('Task')->get_by_id($task_id);
     if ($task) {
         V('Json.Base')->init(Const_Code::DELETE_TASK_FAIL, '任务删除失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, '任务删除成功');
 }
Example #27
0
 public function act()
 {
     // 保存用例
     if (!$this->check_param('itemname, casename, itemurl, sendtype')) {
         V('Json.Base')->init(Const_Code::CASE_PARAM_ERROR, '用例传递参数错误');
         return;
     }
     $item_name = trim(Util_Server_Request::get_param('itemname', 'post'));
     $case_name = trim(Util_Server_Request::get_param('casename', 'post'));
     $item_id = (int) M('Item')->check_name_exists($item_name);
     if ($item_id) {
         $this->update_item($item_id, $item_name, $case_name);
     } else {
         $this->new_item($item_name, $case_name);
     }
 }
Example #28
0
 public function act()
 {
     // 获取任务用例
     $item_id = (int) Util_Server_Request::get_param('itemid', 'post');
     $task_id = (int) Util_Server_Request::get_param('taskid', 'post');
     $level = (int) Util_Server_Request::get_param('level', 'post');
     M('Job')->increase_current($task_id);
     $item = M('Item')->get_by_id($item_id);
     if (!$item) {
         V('Xml.Base')->init('case', array());
         return;
     }
     $_POST['resultname'] = $item['name'];
     M('Result')->insert();
     V('Xml.Base')->init('case', M('Case')->get_by_level($item_id, $level));
 }
Example #29
0
 public function act()
 {
     // 删除配置
     if (!$this->check_param('configid')) {
         V('Json.Base')->init(Const_Code::CONFIG_PARAM_ERROR, '配置传递参数错误');
         return;
     }
     $config_id = (int) Util_Server_Request::get_param('configid', 'post');
     M('Conf')->remove($config_id);
     $config = M('Conf')->get_by_id($config_id);
     if ($config) {
         V('Json.Base')->init(Const_Code::DELETE_CONFIG_FAIL, '配置删除失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, '配置删除成功');
 }
Example #30
0
 public function act()
 {
     // 删除用户
     if (!$this->check_param('userid')) {
         V('Json.Base')->init(Const_Code::USER_PARAM_ERROR, '用户传递参数错误');
         return;
     }
     $user_id = (int) Util_Server_Request::get_param('userid', 'post');
     M('User')->remove($user_id);
     $user = M('User')->get_by_id($user_id);
     if (!$user) {
         V('Json.Base')->init(Const_Code::DELETE_USER_FAIL, '用户删除失败');
         return;
     }
     V('Json.Base')->init(Const_Code::SUCCESS, '用户删除成功');
 }