[ Server ] [ Project ] - 完成project-Server的代码及测试部分
This commit is contained in:
@@ -3,7 +3,7 @@ package io.wdd.func.xray.persisit;
|
|||||||
import io.wdd.func.xray.beans.node.ProxyNode;
|
import io.wdd.func.xray.beans.node.ProxyNode;
|
||||||
import io.wdd.func.xray.beans.node.ProxyNodeType;
|
import io.wdd.func.xray.beans.node.ProxyNodeType;
|
||||||
import io.wdd.func.xray.beans.node.XrayConfigInfo;
|
import io.wdd.func.xray.beans.node.XrayConfigInfo;
|
||||||
import io.wdd.server.beans.vo.ServerInfoVO;
|
import io.wdd.server.beans.po.ServerInfoPO;
|
||||||
import io.wdd.server.coreService.CoreServerService;
|
import io.wdd.server.coreService.CoreServerService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -43,13 +43,13 @@ public class XrayDBOperator {
|
|||||||
*/
|
*/
|
||||||
public void CacheAllProxyNodeInfo() {
|
public void CacheAllProxyNodeInfo() {
|
||||||
|
|
||||||
List<ServerInfoVO> serverInfoVOList = coreServerService.serverGetAll();
|
List<ServerInfoPO> serverInfoPOList = coreServerService.serverGetAll();
|
||||||
|
|
||||||
transferServerInfoToProxyNode(serverInfoVOList);
|
transferServerInfoToProxyNode(serverInfoPOList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void transferServerInfoToProxyNode(List<ServerInfoVO> serverInfoVOList) {
|
private void transferServerInfoToProxyNode(List<ServerInfoPO> serverInfoVOList) {
|
||||||
|
|
||||||
// 临时内容
|
// 临时内容
|
||||||
int[] bitmap = new int[ALL_SERVER_CITY_INDEX.size() * 10 + 10];
|
int[] bitmap = new int[ALL_SERVER_CITY_INDEX.size() * 10 + 10];
|
||||||
@@ -90,9 +90,6 @@ public class XrayDBOperator {
|
|||||||
.publicIPv6(serverInfoVO.getServerIpPbV6())
|
.publicIPv6(serverInfoVO.getServerIpPbV6())
|
||||||
.name(serverCity + serverGraphNum)
|
.name(serverCity + serverGraphNum)
|
||||||
.agentName(serverInfoVO.getServerName())
|
.agentName(serverInfoVO.getServerName())
|
||||||
.proxyNodeType(
|
|
||||||
convertNodeType(serverInfoVO.getProxyType())
|
|
||||||
)
|
|
||||||
.location(serverCity)
|
.location(serverCity)
|
||||||
.xrayConfigInfo(new XrayConfigInfo())
|
.xrayConfigInfo(new XrayConfigInfo())
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package io.wdd.rpc.status;
|
|||||||
|
|
||||||
|
|
||||||
import io.wdd.common.utils.TimeUtils;
|
import io.wdd.common.utils.TimeUtils;
|
||||||
import io.wdd.server.beans.vo.ServerInfoVO;
|
import io.wdd.server.beans.po.ServerInfoPO;
|
||||||
import io.wdd.server.coreService.CoreServerService;
|
import io.wdd.server.coreService.CoreServerService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
@@ -101,7 +101,7 @@ public class CommonAndStatusCache {
|
|||||||
public void updateAllAgentTopicNameCache() {
|
public void updateAllAgentTopicNameCache() {
|
||||||
|
|
||||||
//查询DB
|
//查询DB
|
||||||
List<ServerInfoVO> allAgentInfo = coreServerService.serverGetAll();
|
List<ServerInfoPO> allAgentInfo = coreServerService.serverGetAll();
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(allAgentInfo)) {
|
if (CollectionUtils.isEmpty(allAgentInfo)) {
|
||||||
log.warn("[Serer Boot Up] Octopus Serer First Boot Up ! No Agent Registered Ever!");
|
log.warn("[Serer Boot Up] Octopus Serer First Boot Up ! No Agent Registered Ever!");
|
||||||
@@ -113,7 +113,7 @@ public class CommonAndStatusCache {
|
|||||||
|
|
||||||
List<String> collect = allAgentInfo
|
List<String> collect = allAgentInfo
|
||||||
.stream()
|
.stream()
|
||||||
.map(ServerInfoVO::getTopicName)
|
.map(ServerInfoPO::getTopicName)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
ALL_AGENT_TOPIC_NAME_LIST.addAll(collect);
|
ALL_AGENT_TOPIC_NAME_LIST.addAll(collect);
|
||||||
|
|||||||
@@ -3,7 +3,10 @@ package io.wdd.server.beans.po;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -13,7 +16,11 @@ import java.time.LocalDateTime;
|
|||||||
*/
|
*/
|
||||||
@TableName(value = "project_info")
|
@TableName(value = "project_info")
|
||||||
@Data
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@SuperBuilder(toBuilder = true)
|
||||||
public class ProjectInfoPO implements Serializable {
|
public class ProjectInfoPO implements Serializable {
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import lombok.Data;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
* @TableName project_server_relation
|
* @TableName project_server_relation
|
||||||
*/
|
*/
|
||||||
@TableName(value = "project_server_relation")
|
@TableName(value = "project_server_relation")
|
||||||
|
|||||||
@@ -2,20 +2,112 @@ package io.wdd.server.controller;
|
|||||||
|
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
import io.wdd.common.response.R;
|
import io.wdd.common.response.R;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import io.wdd.server.beans.request.ProjectQueryEntity;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import io.wdd.server.beans.vo.ProjectServerVO;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import io.wdd.server.coreService.CoreProjectServerService;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/project-server")
|
@RequestMapping("/project-server")
|
||||||
@Api("Project-Server绑定")
|
@Api("Project-Server绑定")
|
||||||
public class ProjectServerController {
|
public class ProjectServerController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
CoreProjectServerService coreProjectServerService;
|
||||||
|
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
@ApiOperation("Project-Server查询所有项目的服务器信息")
|
@ApiOperation("Project-Server查询所有项目的服务器信息")
|
||||||
public R<String> projectServerAll() {
|
public R<List<ProjectServerVO>> projectServerAll() {
|
||||||
return null;
|
|
||||||
|
List<ProjectServerVO> projectServerVOS = coreProjectServerService.projectServerAll();
|
||||||
|
return R.ok(projectServerVOS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/one")
|
||||||
|
@ApiOperation("Project-Server查询单个项目的服务器信息")
|
||||||
|
public R<ProjectServerVO> projectServerOne(
|
||||||
|
@RequestParam(value = "projectId", name = "projectId")
|
||||||
|
@ApiParam(value = "projectId") Long projectId
|
||||||
|
) {
|
||||||
|
|
||||||
|
ProjectServerVO projectServerVO = coreProjectServerService.projectServerOne(projectId);
|
||||||
|
return R.ok(projectServerVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/query/one")
|
||||||
|
@ApiOperation("Project-Server查询特定项目的服务器信息")
|
||||||
|
public R<ProjectServerVO> projectServerOne(
|
||||||
|
@RequestBody @Validated ProjectQueryEntity projectQueryEntity
|
||||||
|
) {
|
||||||
|
|
||||||
|
ProjectServerVO projectServerVO = coreProjectServerService.projectServerQuery(projectQueryEntity);
|
||||||
|
return R.ok(projectServerVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/create")
|
||||||
|
@ApiOperation("Project-Server-创建一个Project-Server半丁关系")
|
||||||
|
public R<String> projectServerCreate(
|
||||||
|
@RequestParam(value = "projectId", name = "projectId")
|
||||||
|
@ApiParam(value = "projectId") Long projectId,
|
||||||
|
@RequestParam(value = "serverId", name = "serverId")
|
||||||
|
@ApiParam(value = "serverId") Long serverId
|
||||||
|
) {
|
||||||
|
|
||||||
|
String result = "创建Project-Server成功!";
|
||||||
|
|
||||||
|
|
||||||
|
if (!coreProjectServerService.projectServerCreate(
|
||||||
|
projectId,
|
||||||
|
serverId
|
||||||
|
)) {
|
||||||
|
result = "创建Project-Server失败!";
|
||||||
|
}
|
||||||
|
return R.ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/update")
|
||||||
|
@ApiOperation("Project-Server-更新一个Project-Server")
|
||||||
|
public R<String> projectServerUpdate(
|
||||||
|
@RequestParam(value = "projectId", name = "projectId")
|
||||||
|
@ApiParam(value = "projectId") Long projectId,
|
||||||
|
@RequestParam(value = "serverId", name = "serverId")
|
||||||
|
@ApiParam(value = "serverId") Long serverId
|
||||||
|
) {
|
||||||
|
|
||||||
|
String result = "更新Project-Server成功!";
|
||||||
|
if (!coreProjectServerService.projectServerUpdate(
|
||||||
|
projectId,
|
||||||
|
serverId
|
||||||
|
)) {
|
||||||
|
result = "更新Project-Server失败!";
|
||||||
|
}
|
||||||
|
return R.ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/delete")
|
||||||
|
@ApiOperation("Project-Server-删除一个Project-Server")
|
||||||
|
public R<String> projectServerDelete(
|
||||||
|
@RequestParam(value = "projectId", name = "projectId")
|
||||||
|
@ApiParam(value = "projectId") Long projectId,
|
||||||
|
@RequestParam(value = "serverId", name = "serverId")
|
||||||
|
@ApiParam(value = "serverId") Long serverId
|
||||||
|
) {
|
||||||
|
|
||||||
|
String result = "删除Project-Server成功!";
|
||||||
|
if (!coreProjectServerService.projectServerDelete(
|
||||||
|
projectId,
|
||||||
|
serverId
|
||||||
|
)) {
|
||||||
|
result = "删除Project-Server失败!";
|
||||||
|
}
|
||||||
|
return R.ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ public interface CoreServerService {
|
|||||||
|
|
||||||
List<ServerInfoVO> serverGetSingle(String serverName, String ipv4, String serverLocation);
|
List<ServerInfoVO> serverGetSingle(String serverName, String ipv4, String serverLocation);
|
||||||
|
|
||||||
List<ServerInfoVO> serverGetAll();
|
List<ServerInfoPO> serverGetAll();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询主机信息,但是是条件查询
|
* 查询主机信息,但是是条件查询
|
||||||
|
|||||||
@@ -33,9 +33,18 @@ public class CoreProjectServerServiceImpl implements CoreProjectServerService {
|
|||||||
@Resource
|
@Resource
|
||||||
ServerInfoService serverInfoService;
|
ServerInfoService serverInfoService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ProjectServerVO> projectServerAll() {
|
public List<ProjectServerVO> projectServerAll() {
|
||||||
return null;
|
|
||||||
|
return coreProjectService
|
||||||
|
.projectGetAll()
|
||||||
|
.stream()
|
||||||
|
.map(
|
||||||
|
projectInfoPO -> this.projectServerOne(projectInfoPO.getProjectId())
|
||||||
|
)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -54,12 +63,16 @@ public class CoreProjectServerServiceImpl implements CoreProjectServerService {
|
|||||||
.get(0);
|
.get(0);
|
||||||
|
|
||||||
// 为了统一 再查一次
|
// 为了统一 再查一次
|
||||||
|
|
||||||
return this.projectServerOne(projectInfoPO.getProjectId());
|
return this.projectServerOne(projectInfoPO.getProjectId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ProjectServerVO projectServerOne(Long projectId) {
|
public ProjectServerVO projectServerOne(Long projectId) {
|
||||||
|
|
||||||
|
// 首先查询projectId是否存在 pass
|
||||||
|
|
||||||
|
|
||||||
// 查询与之绑定的所有server
|
// 查询与之绑定的所有server
|
||||||
// serverId projectId
|
// serverId projectId
|
||||||
List<ProjectServerRelationPO> projectServerRelationPOList = new LambdaQueryChainWrapper<ProjectServerRelationPO>(projectServerRelationService.getBaseMapper())
|
List<ProjectServerRelationPO> projectServerRelationPOList = new LambdaQueryChainWrapper<ProjectServerRelationPO>(projectServerRelationService.getBaseMapper())
|
||||||
@@ -94,7 +107,6 @@ public class CoreProjectServerServiceImpl implements CoreProjectServerService {
|
|||||||
projectInfoPO,
|
projectInfoPO,
|
||||||
projectServerVO
|
projectServerVO
|
||||||
);
|
);
|
||||||
|
|
||||||
projectServerVO.setBindingServerList(serverInfoPOS);
|
projectServerVO.setBindingServerList(serverInfoPOS);
|
||||||
|
|
||||||
return projectServerVO;
|
return projectServerVO;
|
||||||
@@ -102,16 +114,48 @@ public class CoreProjectServerServiceImpl implements CoreProjectServerService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean projectServerCreate(Long projectId, Long serverId) {
|
public boolean projectServerCreate(Long projectId, Long serverId) {
|
||||||
return false;
|
|
||||||
|
ProjectServerRelationPO byId = projectServerRelationService.getById(serverId);
|
||||||
|
|
||||||
|
if (byId != null && byId
|
||||||
|
.getProjectId()
|
||||||
|
.equals(projectId)) {
|
||||||
|
log.debug("ProjectServer绑定关系已经存在!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// no exist then create
|
||||||
|
// 判定 serverId 和 projectId是否合规
|
||||||
|
if (coreProjectService.projectGetOne(projectId) == null || serverInfoService.getById(serverId) == null) {
|
||||||
|
log.warn("传入的 projectId 或者 serverId 有误!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
ProjectServerRelationPO projectServerRelationPO = new ProjectServerRelationPO();
|
||||||
|
projectServerRelationPO.setProjectId(projectId);
|
||||||
|
projectServerRelationPO.setServerId(serverId);
|
||||||
|
|
||||||
|
return projectServerRelationService.save(projectServerRelationPO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean projectServerUpdate(Long projectId, Long serverId) {
|
public boolean projectServerUpdate(Long projectId, Long serverId) {
|
||||||
return false;
|
return this.projectServerCreate(projectId,
|
||||||
|
serverId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean projectServerDelete(Long projectId, Long serverId) {
|
public boolean projectServerDelete(Long projectId, Long serverId) {
|
||||||
return false;
|
|
||||||
|
ProjectServerRelationPO byId = projectServerRelationService.getById(serverId);
|
||||||
|
|
||||||
|
if (byId != null && byId
|
||||||
|
.getProjectId()
|
||||||
|
.equals(projectId)) {
|
||||||
|
|
||||||
|
return projectServerRelationService.removeById(serverId);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,15 +76,12 @@ public class CoreServerServiceImpl implements CoreServerService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ServerInfoVO> serverGetAll() {
|
public List<ServerInfoPO> serverGetAll() {
|
||||||
|
|
||||||
List<ServerInfoPO> serverInfoPOWithOutDelete = serverInfoService.list();
|
List<ServerInfoPO> serverInfoPOWithOutDelete = serverInfoService.list();
|
||||||
|
|
||||||
|
|
||||||
return covertServerPOtoVO(
|
return serverInfoPOWithOutDelete;
|
||||||
serverInfoPOWithOutDelete,
|
|
||||||
0
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import io.wdd.server.beans.po.ProjectServerRelationPO;
|
|||||||
/**
|
/**
|
||||||
* @author wdd
|
* @author wdd
|
||||||
* @description 针对表【project_server_relation】的数据库操作Mapper
|
* @description 针对表【project_server_relation】的数据库操作Mapper
|
||||||
* @createDate 2023-10-09 16:11:10
|
* @createDate 2023-10-09 17:36:26
|
||||||
* @Entity io.wdd.server.beans.po.ProjectServerRelationPO
|
* @Entity io.wdd.server.beans.po.ProjectServerRelationPO
|
||||||
*/
|
*/
|
||||||
public interface ProjectServerRelationMapper extends BaseMapper<ProjectServerRelationPO> {
|
public interface ProjectServerRelationMapper extends BaseMapper<ProjectServerRelationPO> {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import io.wdd.server.beans.po.ProjectServerRelationPO;
|
|||||||
/**
|
/**
|
||||||
* @author wdd
|
* @author wdd
|
||||||
* @description 针对表【project_server_relation】的数据库操作Service
|
* @description 针对表【project_server_relation】的数据库操作Service
|
||||||
* @createDate 2023-10-09 16:11:10
|
* @createDate 2023-10-09 17:36:26
|
||||||
*/
|
*/
|
||||||
public interface ProjectServerRelationService extends IService<ProjectServerRelationPO> {
|
public interface ProjectServerRelationService extends IService<ProjectServerRelationPO> {
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package io.wdd.server.service;
|
package io.wdd.server.service;
|
||||||
|
|
||||||
import io.wdd.server.beans.po.ServerAppRelationPO;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import io.wdd.server.beans.po.ServerAppRelationPO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author wdd
|
* @author wdd
|
||||||
@@ -9,5 +9,4 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
* @createDate 2022-11-27 13:53:22
|
* @createDate 2022-11-27 13:53:22
|
||||||
*/
|
*/
|
||||||
public interface ServerAppRelationService extends IService<ServerAppRelationPO> {
|
public interface ServerAppRelationService extends IService<ServerAppRelationPO> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import org.springframework.stereotype.Service;
|
|||||||
/**
|
/**
|
||||||
* @author wdd
|
* @author wdd
|
||||||
* @description 针对表【project_server_relation】的数据库操作Service实现
|
* @description 针对表【project_server_relation】的数据库操作Service实现
|
||||||
* @createDate 2023-10-09 16:11:10
|
* @createDate 2023-10-09 17:36:26
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class ProjectServerRelationServiceImpl extends ServiceImpl<ProjectServerRelationMapper, ProjectServerRelationPO>
|
public class ProjectServerRelationServiceImpl extends ServiceImpl<ProjectServerRelationMapper, ProjectServerRelationPO>
|
||||||
|
|||||||
@@ -0,0 +1,127 @@
|
|||||||
|
package io.wdd.server.controller;
|
||||||
|
|
||||||
|
import io.wdd.common.response.R;
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
import io.wdd.server.beans.po.ServerInfoPO;
|
||||||
|
import io.wdd.server.beans.vo.ProjectServerVO;
|
||||||
|
import io.wdd.server.coreService.CoreProjectService;
|
||||||
|
import io.wdd.server.coreService.CoreServerService;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
|
@SpringBootTest
|
||||||
|
public class ProjectServerTest {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
ProjectServerController projectServerController;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
CoreProjectService coreProjectService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
CoreServerService coreServerService;
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_create_valid_input_success() {
|
||||||
|
|
||||||
|
List<ProjectInfoPO> projectInfoPOS = coreProjectService.projectGetAll();
|
||||||
|
ProjectInfoPO projectInfoPO = projectInfoPOS
|
||||||
|
.stream()
|
||||||
|
.skip(new Random().nextInt(projectInfoPOS.size()))
|
||||||
|
.findFirst()
|
||||||
|
.get();
|
||||||
|
|
||||||
|
List<ServerInfoPO> serverInfoVOList = coreServerService.serverGetAll();
|
||||||
|
List<Long> serverIdList = serverInfoVOList
|
||||||
|
.stream()
|
||||||
|
.skip(new Random().nextInt(serverInfoVOList.size()))
|
||||||
|
.map(
|
||||||
|
serverInfoPO -> serverInfoPO.getServerId()
|
||||||
|
)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
serverIdList
|
||||||
|
.stream()
|
||||||
|
.forEach(
|
||||||
|
serverId -> {
|
||||||
|
R<String> result = projectServerController.projectServerCreate(
|
||||||
|
projectInfoPO.getProjectId(),
|
||||||
|
serverId
|
||||||
|
);
|
||||||
|
assertEquals(
|
||||||
|
"创建Project-Server成功!",
|
||||||
|
result.getData()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_query_all_project_servers() {
|
||||||
|
R<List<ProjectServerVO>> result = projectServerController.projectServerAll();
|
||||||
|
assertNotNull(result.getData());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_query_nonexistent_project_server_error() {
|
||||||
|
Long nonexistentProjectId = -1L;
|
||||||
|
R<ProjectServerVO> result = projectServerController.projectServerOne(nonexistentProjectId);
|
||||||
|
assertEquals(
|
||||||
|
null,
|
||||||
|
result.getData()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_create_invalid_project_id_error() {
|
||||||
|
Long invalidProjectId = -1L;
|
||||||
|
List<ServerInfoPO> serverInfoVOList = coreServerService.serverGetAll();
|
||||||
|
ServerInfoPO serverInfoPO = serverInfoVOList
|
||||||
|
.stream()
|
||||||
|
.skip(new Random().nextInt(serverInfoVOList.size()))
|
||||||
|
.findFirst()
|
||||||
|
.get();
|
||||||
|
|
||||||
|
R<String> result = projectServerController.projectServerCreate(
|
||||||
|
invalidProjectId,
|
||||||
|
serverInfoPO.getServerId()
|
||||||
|
);
|
||||||
|
assertEquals(
|
||||||
|
"创建Project-Server失败!",
|
||||||
|
result.getData()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_create_invalid_server_id_error() {
|
||||||
|
List<ProjectInfoPO> projectInfoPOS = coreProjectService.projectGetAll();
|
||||||
|
ProjectInfoPO projectInfoPO = projectInfoPOS
|
||||||
|
.stream()
|
||||||
|
.skip(new Random().nextInt(projectInfoPOS.size()))
|
||||||
|
.findFirst()
|
||||||
|
.get();
|
||||||
|
|
||||||
|
Long invalidServerId = -1L;
|
||||||
|
R<String> result = projectServerController.projectServerCreate(
|
||||||
|
projectInfoPO.getProjectId(),
|
||||||
|
invalidServerId
|
||||||
|
);
|
||||||
|
assertEquals(
|
||||||
|
"创建Project-Server失败!",
|
||||||
|
result.getData()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user