package com.test.test.service;

import com.test.test.domain.TestTask;
import com.test.test.domain.qo.GroupIdQO;
import com.test.test.domain.vo.TestTaskDetailVO;

import java.util.List;

/**
 * 自动化测试Service接口
 */
public interface ITestTaskService {
    /**
     * 查询自动化测试
     */
    TestTaskDetailVO selectTestTaskById(Long id);

    /**
     * 查询自动化测试列表
     */
    List<TestTask> selectTestTaskList(GroupIdQO testTask);

    /**
     * 新增自动化测试
     */
    int insertTestTask(TestTask testTask);

    /**
     * 修改自动化测试
     */
    int updateTestTask(TestTask testTask);

    /**
     * 批量删除自动化测试
     */
    int deleteTestTaskByIds(Long[] ids);

    /**
     * 删除自动化测试信息
     */
    int deleteTestTaskById(Long id);

    /**
     * 根据测试任务id执行测试定时任务
     * @param id 测试定时任务id
     * @param triggerType 触发方式：1-定时任务；2-手动
     * @param environment 环境
     * @param jmeterHomePath jmeter安装路径
     * @param operUser 操作人
     * @return 是否成功
     */
    boolean executeTestTaskById(Long id, Integer triggerType, String environment, String jmeterHomePath, String operUser);
}
