提交 24c50546 authored 作者: mry's avatar mry

fix(base): 调用http与用例的方式变为注入方式

上级 76b60095
...@@ -3,8 +3,6 @@ package org.matrix.database.service; ...@@ -3,8 +3,6 @@ package org.matrix.database.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.matrix.database.entity.Project; import org.matrix.database.entity.Project;
import java.util.List;
/** /**
* <p> * <p>
* 服务类 * 服务类
...@@ -15,35 +13,4 @@ import java.util.List; ...@@ -15,35 +13,4 @@ import java.util.List;
*/ */
public interface IProjectService extends IService<Project> { public interface IProjectService extends IService<Project> {
/**
* 查询所有项目
*
* @return 查询到的所有项目
*/
List<Project> findAllProject();
/**
* 添加项目
*
* @param project 项目
* @return 影响行数
*/
int insertProject(Project project);
/**
* 修改项目
*
* @param project 项目
* @return 影响行数
*/
int updateProject(Project project);
/**
* 删除项目
*
* @param id 项目id
* @return 影响行数
*/
int deleteProject(Integer id);
} }
...@@ -6,8 +6,6 @@ import org.matrix.database.mapper.ProjectMapper; ...@@ -6,8 +6,6 @@ import org.matrix.database.mapper.ProjectMapper;
import org.matrix.database.service.IProjectService; import org.matrix.database.service.IProjectService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
...@@ -19,30 +17,4 @@ import java.util.List; ...@@ -19,30 +17,4 @@ import java.util.List;
@Service @Service
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements IProjectService { public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements IProjectService {
private final ProjectMapper projectMapper;
public ProjectServiceImpl(ProjectMapper projectMapper) {
this.projectMapper = projectMapper;
}
@Override
public List<Project> findAllProject() {
return projectMapper.selectList(null);
}
@Override
public int insertProject(Project project) {
return projectMapper.insert(project);
}
@Override
public int updateProject(Project project) {
return projectMapper.updateById(project);
}
@Override
public int deleteProject(Integer id) {
return projectMapper.deleteById(id);
}
} }
...@@ -4,6 +4,9 @@ import org.springframework.http.HttpHeaders; ...@@ -4,6 +4,9 @@ import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import java.util.Optional;
import java.util.function.Predicate;
/** /**
* @author mry * @author mry
*/ */
...@@ -19,6 +22,23 @@ public class CommonResult { ...@@ -19,6 +22,23 @@ public class CommonResult {
return new ResponseEntity(new CommonResultObj(data), headers, HttpStatus.OK); return new ResponseEntity(new CommonResultObj(data), headers, HttpStatus.OK);
} }
/**
* 运行predicate这段函数,如果返回值为true,返回值Response.ok(data),successMsg,否则返回failedMsg
*
* @param predicate 接受一段参数为T类型,返回值为boolean类型的函数
* @param data predicate的参数
* @param failedMsg 失败信息
* @param <T> data类型
* @return 如果成功,返回data自己,如果失败返回failedMsg给的错误信息
*/
public static <T> ResponseEntity<CommonResultObj<T>> pred(Predicate<T> predicate, T data, String successMsg, String failedMsg) {
if (predicate.test(data)){
return success(data, successMsg);
}else {
return failed(data, failedMsg);
}
}
/** /**
* 成功返回结果 * 成功返回结果
* *
......
package org.matrix.testNg; package org.matrix.testNg;
import org.matrix.actuators.checkpoint.CheckPointActuator;
import org.matrix.actuators.checkpoint.CheckPointResult; import org.matrix.actuators.checkpoint.CheckPointResult;
import org.matrix.actuators.httpclient.HttpClientActuator;
import org.matrix.actuators.usecase.CaseActuator; import org.matrix.actuators.usecase.CaseActuator;
import org.matrix.actuators.usecase.TestCaseExecuteResult; import org.matrix.actuators.usecase.TestCaseExecuteResult;
import org.matrix.database.entity.TestCase; import org.matrix.database.entity.TestCase;
...@@ -29,6 +31,12 @@ public class TestPigeon extends AbstractTestNGSpringContextTests { ...@@ -29,6 +31,12 @@ public class TestPigeon extends AbstractTestNGSpringContextTests {
@Autowired @Autowired
private ITestCaseService caseService; private ITestCaseService caseService;
@Autowired
private CheckPointActuator checkPointActuator;
@Autowired
private HttpClientActuator httpClientActuator;
@Parameters({"sql", "envId", "projectId"}) @Parameters({"sql", "envId", "projectId"})
@BeforeClass @BeforeClass
public void beforeClass(String sql, Long envId, Long projectId) { public void beforeClass(String sql, Long envId, Long projectId) {
...@@ -50,10 +58,10 @@ public class TestPigeon extends AbstractTestNGSpringContextTests { ...@@ -50,10 +58,10 @@ public class TestPigeon extends AbstractTestNGSpringContextTests {
@Test(dataProvider = "testData") @Test(dataProvider = "testData")
public void test(Map<String, String> data) { public void test(Map<String, String> data) {
long caseId = Long.parseLong(data.get("id")); long caseId = Long.parseLong(data.get("id"));
CaseActuator caseActuator = new CaseActuator(envId, projectId); CaseActuator caseActuator = new CaseActuator(checkPointActuator, httpClientActuator);
TestCase testCase = java.util.Optional.of(caseService.getById(caseId)) TestCase testCase = java.util.Optional.of(caseService.getById(caseId))
.orElseThrow(() -> new GlobalException(String.format("没有找到id = %d 的TestCase", caseId))); .orElseThrow(() -> new GlobalException(String.format("没有找到id = %d 的TestCase", caseId)));
TestCaseExecuteResult testCaseExecuteResult = caseActuator.executeTestCase(testCase); TestCaseExecuteResult testCaseExecuteResult = caseActuator.executeTestCase(testCase,envId,projectId);
CheckPointResult checkPointResult = testCaseExecuteResult.getCheckPointResult(); CheckPointResult checkPointResult = testCaseExecuteResult.getCheckPointResult();
Reporter.log(checkPointResult.toString()); Reporter.log(checkPointResult.toString());
} }
......
...@@ -6,11 +6,10 @@ import org.matrix.database.entity.Connect; ...@@ -6,11 +6,10 @@ import org.matrix.database.entity.Connect;
import org.matrix.database.service.IConnectService; import org.matrix.database.service.IConnectService;
import org.matrix.database.vo.CommonResult; import org.matrix.database.vo.CommonResult;
import org.matrix.database.vo.CommonResultObj; import org.matrix.database.vo.CommonResultObj;
import org.matrix.database.vo.PageResult;
import org.matrix.exception.GlobalException;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
...@@ -25,7 +24,7 @@ import java.util.Optional; ...@@ -25,7 +24,7 @@ import java.util.Optional;
@CrossOrigin @CrossOrigin
@RestController @RestController
@RequestMapping("/connects") @RequestMapping("/connects")
@Api(tags = "对连接池connect的基本操作") @Api(tags = "对于数据库connect的基本操作")
public class ConnectController { public class ConnectController {
private final IConnectService connectService; private final IConnectService connectService;
...@@ -34,40 +33,29 @@ public class ConnectController { ...@@ -34,40 +33,29 @@ public class ConnectController {
this.connectService = connectService; this.connectService = connectService;
} }
// @GetMapping("") // @ApiOperation(value = "分页查询")
// public ResponseEntity findAllPages(@RequestParam int page ,int size , String query){ // @PostMapping("/page")
// //query -> wrappers string -> 类型 字段名a , 字段值b // public ResponseEntity<CommonResultObj<PageResult>> findAllPage(@RequestBody PageResult pageResult) {
// // if else // pageResult = connectService.pageAll(pageResult);
// // for each // if (pageResult.getRows() != null) {
// // if eq then .eq(a,b) // return CommonResult.success(pageResult, "查询成功");
// // if gt then .ge // } else {
// Wrappers.query(Connect.class) // return CommonResult.failed("查询失败或无数据");
// .eq(query) // }
// return Optional.of(ResponseEntity.ok(connectService.page(Page.of(++page, size), Wrappers.query())))
// .orElse(ResponseEntity.status(400).body())
//
// } // }
@ApiOperation(value = "分页查询") /**
@PostMapping("/page") * 查询所有数据库
public ResponseEntity<CommonResultObj<PageResult>> findAllPage(@RequestBody PageResult pageResult) { *
pageResult = connectService.pageAll(pageResult); * @return 查询到的所有数据库
if (pageResult.getRows() != null) { */
return CommonResult.success(pageResult, "查询成功");
} else {
return CommonResult.failed("查询失败或无数据");
}
}
@ApiOperation(value = "查询所有") @ApiOperation(value = "查询所有")
@GetMapping @GetMapping
public ResponseEntity<CommonResultObj<List<Connect>>> findAll() { public ResponseEntity<CommonResultObj<List<Connect>>> findAllConnects() {
List<Connect> list = connectService.list(); List<Connect> results = Optional.ofNullable(connectService.list()).orElse(new ArrayList<>());
if (list != null && list.size() != 0) { return results.size() != 0
return CommonResult.success(list, "查询成功"); ? CommonResult.success(results, "查询成功")
} else { : CommonResult.failed(results, "查询失败或无数据");
return CommonResult.failed("查询失败或无数据");
}
} }
/** /**
...@@ -79,12 +67,8 @@ public class ConnectController { ...@@ -79,12 +67,8 @@ public class ConnectController {
@ApiOperation(value = "添加连接池") @ApiOperation(value = "添加连接池")
@PostMapping @PostMapping
public ResponseEntity<CommonResultObj<Connect>> insertConnect(@RequestBody Connect connect) { public ResponseEntity<CommonResultObj<Connect>> insertConnect(@RequestBody Connect connect) {
int i = connectService.insertConnect(connect); return CommonResult.pred(connectService::save, connect
if (i != 0) { , "添加成功", "添加失败");
return CommonResult.success(connect, "添加成功");
} else {
return CommonResult.failed("添加失败");
}
} }
/** /**
...@@ -96,12 +80,8 @@ public class ConnectController { ...@@ -96,12 +80,8 @@ public class ConnectController {
@ApiOperation(value = "修改连接池") @ApiOperation(value = "修改连接池")
@PutMapping @PutMapping
public ResponseEntity<CommonResultObj<Connect>> updateConnect(@RequestBody Connect connect) { public ResponseEntity<CommonResultObj<Connect>> updateConnect(@RequestBody Connect connect) {
int i = connectService.updateConnect(connect); return CommonResult.pred(connectService::updateById, connect
if (i != 0) { , "修改成功", "修改失败");
return CommonResult.success(connect, "修改成功");
} else {
return CommonResult.failed("修改失败");
}
} }
/** /**
...@@ -112,13 +92,9 @@ public class ConnectController { ...@@ -112,13 +92,9 @@ public class ConnectController {
*/ */
@ApiOperation(value = "根据id删除连接池") @ApiOperation(value = "根据id删除连接池")
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
public ResponseEntity<CommonResultObj<String>> deleteConnect(@PathVariable Integer id) { public ResponseEntity<CommonResultObj<Integer>> deleteConnect(@PathVariable Integer id) {
int i = connectService.deleteConnect(id); return CommonResult.pred(connectService::removeById, id
if (i != 0) { , "删除成功", "删除失败");
return CommonResult.success("id: " + id + "已删除", "删除成功");
} else {
return CommonResult.failed("删除失败,或不存在需要删除的数据");
}
} }
} }
......
...@@ -66,6 +66,12 @@ public class MoveController { ...@@ -66,6 +66,12 @@ public class MoveController {
@GetMapping("/{moveId}") @GetMapping("/{moveId}")
public ResponseEntity<CommonResultObj<MoveAction>> findById(@PathVariable Long moveId) { public ResponseEntity<CommonResultObj<MoveAction>> findById(@PathVariable Long moveId) {
// todo 关于空判断的后面可以再处理 // todo 关于空判断的后面可以再处理
Move byId = moveService.getById(moveId);
if (byId==null){
throw new GlobalException("");
}
Move move = ofNullable(moveService.getById(moveId)) Move move = ofNullable(moveService.getById(moveId))
.orElseThrow(() -> new GlobalException(String.format("没有查到指定的行为,你提供的行为id是%d", moveId))); .orElseThrow(() -> new GlobalException(String.format("没有查到指定的行为,你提供的行为id是%d", moveId)));
List<Action> actionList = ofNullable(actionService.list(Wrappers.lambdaQuery(Action.class) List<Action> actionList = ofNullable(actionService.list(Wrappers.lambdaQuery(Action.class)
...@@ -97,11 +103,9 @@ public class MoveController { ...@@ -97,11 +103,9 @@ public class MoveController {
action.setMoveId(id); action.setMoveId(id);
} }
boolean saveBatch = actionService.saveBatch(moveAction.getAction()); boolean saveBatch = actionService.saveBatch(moveAction.getAction());
if (save && saveBatch) { return save && saveBatch
return CommonResult.success(moveAction, "添加成功"); ? CommonResult.success(moveAction, "添加成功")
} else { : CommonResult.failed("添加失败");
return CommonResult.failed("添加失败");
}
} }
/** /**
......
...@@ -9,7 +9,9 @@ import org.matrix.database.vo.CommonResultObj; ...@@ -9,7 +9,9 @@ import org.matrix.database.vo.CommonResultObj;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional;
/** /**
* <p> * <p>
...@@ -38,13 +40,11 @@ public class ProjectController { ...@@ -38,13 +40,11 @@ public class ProjectController {
*/ */
@ApiOperation(value = "查询所有项目") @ApiOperation(value = "查询所有项目")
@GetMapping @GetMapping
public ResponseEntity<CommonResultObj<List<Project>>> findAllProject() { public ResponseEntity<CommonResultObj<List<Project>>> findAllProjects() {
List<Project> results = projectService.findAllProject(); List<Project> results = Optional.ofNullable(projectService.list()).orElse(new ArrayList<>());
if (results != null && results.size() != 0) { return results.size() != 0
return CommonResult.success(results, "查询成功"); ? CommonResult.success(results, "查询成功")
} else { : CommonResult.failed(results, "查询失败或无数据");
return CommonResult.failed("查询失败或无数据");
}
} }
/** /**
...@@ -56,12 +56,8 @@ public class ProjectController { ...@@ -56,12 +56,8 @@ public class ProjectController {
@ApiOperation(value = "添加项目") @ApiOperation(value = "添加项目")
@PostMapping @PostMapping
public ResponseEntity<CommonResultObj<Project>> insertProject(@RequestBody Project project) { public ResponseEntity<CommonResultObj<Project>> insertProject(@RequestBody Project project) {
int i = projectService.insertProject(project); return CommonResult.pred(projectService::save, project
if (i != 0) { , "添加成功", "添加失败或已存在同名项目");
return CommonResult.success(project, "添加成功");
} else {
return CommonResult.failed("添加失败或已存在同名项目");
}
} }
/** /**
...@@ -73,30 +69,21 @@ public class ProjectController { ...@@ -73,30 +69,21 @@ public class ProjectController {
@ApiOperation(value = "修改项目") @ApiOperation(value = "修改项目")
@PutMapping @PutMapping
public ResponseEntity<CommonResultObj<Project>> updateProject(@RequestBody Project project) { public ResponseEntity<CommonResultObj<Project>> updateProject(@RequestBody Project project) {
int i = projectService.updateProject(project); return CommonResult.pred(projectService::updateById, project
if (i != 0) { , "修改成功", "修改失败");
return CommonResult.success(project, "修改成功");
} else {
return CommonResult.failed("修改失败");
}
} }
/** /**
* 删除项目 * 删除项目
* *
* @param id 项目id * @param id 项目id
* @return 是否删除成功 * @return 删除的项目id, 以及是否删除成功的提示信息
*/ */
@ApiOperation(value = "根据id删除项目") @ApiOperation(value = "删除项目")
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
public ResponseEntity<CommonResultObj<String>> deleteProject(@PathVariable Integer id) { public ResponseEntity<CommonResultObj<Integer>> deleteProject(@PathVariable Integer id) {
int i = projectService.deleteProject(id); return CommonResult.pred(projectService::removeById, id
if (i != 0) { , "删除成功", "删除失败");
return CommonResult.success("id: " + id + "已删除", "删除成功");
} else {
return CommonResult.failed("删除失败,或不存在需要删除的数据");
}
} }
} }
...@@ -10,7 +10,7 @@ spring: ...@@ -10,7 +10,7 @@ spring:
datasource: datasource:
master: #增加默认数据源 master: #增加默认数据源
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.100.248:3306/key_stone?useUnicode=true&characterEncoding=utf-8&useSSL=false url: jdbc:mysql://192.168.100.248:3306/key_stone?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
username: root username: root
password: root password: root
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论