feat(系统设置): 添加@Validated注解和系统参数设置用例
This commit is contained in:
parent
bc2989bce0
commit
585701c174
|
@ -12,6 +12,7 @@ import io.metersphere.system.domain.AuthSource;
|
||||||
import io.metersphere.system.service.AuthSourceService;
|
import io.metersphere.system.service.AuthSourceService;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -33,15 +34,15 @@ public class AuthSourceController {
|
||||||
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_CREAT)
|
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_CREAT)
|
||||||
@RequestLog(type = OperationLogType.ADD, module = OperationLogModule.SYSTEM_PARAMETER_SETTING,
|
@RequestLog(type = OperationLogType.ADD, module = OperationLogModule.SYSTEM_PARAMETER_SETTING,
|
||||||
details = "认证设置")
|
details = "认证设置")
|
||||||
public void add(@RequestBody AuthSource authSource) {
|
public void add(@Validated @RequestBody AuthSource authSource) {
|
||||||
authSourceService.addAuthSource(authSource);
|
authSourceService.addAuthSource(authSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/update")
|
@PostMapping("/update")
|
||||||
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_UPDATE)
|
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_UPDATE)
|
||||||
@RequestLog(type = OperationLogType.UPDATE, module = OperationLogModule.SYSTEM_PARAMETER_SETTING,
|
@RequestLog(type = OperationLogType.UPDATE, module = OperationLogModule.SYSTEM_PARAMETER_SETTING,
|
||||||
details = "认证设置")
|
details = "认证设置", sourceId = "#authSource.id")
|
||||||
public void update(@RequestBody AuthSource authSource) {
|
public void update(@Validated @RequestBody AuthSource authSource) {
|
||||||
authSourceService.updateAuthSource(authSource);
|
authSourceService.updateAuthSource(authSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +55,7 @@ public class AuthSourceController {
|
||||||
@GetMapping("/delete/{id}")
|
@GetMapping("/delete/{id}")
|
||||||
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_DELETE)
|
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_DELETE)
|
||||||
@RequestLog(type = OperationLogType.DELETE, module = OperationLogModule.SYSTEM_PARAMETER_SETTING,
|
@RequestLog(type = OperationLogType.DELETE, module = OperationLogModule.SYSTEM_PARAMETER_SETTING,
|
||||||
details = "认证设置")
|
details = "认证设置", sourceId = "#id")
|
||||||
public void delete(@PathVariable(value = "id") String id) {
|
public void delete(@PathVariable(value = "id") String id) {
|
||||||
authSourceService.deleteAuthSource(id);
|
authSourceService.deleteAuthSource(id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import io.metersphere.sdk.service.SystemParameterService;
|
||||||
import io.metersphere.system.domain.SystemParameter;
|
import io.metersphere.system.domain.SystemParameter;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -29,14 +30,14 @@ public class SystemParameterController {
|
||||||
*
|
*
|
||||||
* @param systemParameter
|
* @param systemParameter
|
||||||
*/
|
*/
|
||||||
@PostMapping("/save/baseInfo")
|
@PostMapping("/save/base-info")
|
||||||
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_UPDATE)
|
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_UPDATE)
|
||||||
@RequestLog(type = OperationLogType.ADD, module = OperationLogModule.SYSTEM_PARAMETER_SETTING, details = "基本配置")
|
@RequestLog(type = OperationLogType.ADD, module = OperationLogModule.SYSTEM_PARAMETER_SETTING, details = "基本配置", sourceId = "#systemParameter.get(0).paramKey")
|
||||||
public void saveBaseParameter(@RequestBody List<SystemParameter> systemParameter) {
|
public void saveBaseParameter(@Validated @RequestBody List<SystemParameter> systemParameter) {
|
||||||
systemParameterService.saveBaseInfo(systemParameter);
|
systemParameterService.saveBaseInfo(systemParameter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/get/baseInfo")
|
@GetMapping("/get/base-info")
|
||||||
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ)
|
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ)
|
||||||
public BaseSystemConfigDTO getBaseInfo() {
|
public BaseSystemConfigDTO getBaseInfo() {
|
||||||
return systemParameterService.getBaseInfo();
|
return systemParameterService.getBaseInfo();
|
||||||
|
@ -48,17 +49,17 @@ public class SystemParameterController {
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/get/emailInfo")
|
@GetMapping("/get/email-info")
|
||||||
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ)
|
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ)
|
||||||
public EMailInfoDto getEmailInfo() {
|
public EMailInfoDto getEmailInfo() {
|
||||||
return systemParameterService.getEmailInfo();
|
return systemParameterService.getEmailInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/edit/emailInfo")
|
@PostMapping("/edit/email-info")
|
||||||
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_UPDATE)
|
@RequiresPermissions(PermissionConstants.SYSTEM_SETTING_READ_UPDATE)
|
||||||
@RequestLog(type = OperationLogType.UPDATE, module = OperationLogModule.SYSTEM_PARAMETER_SETTING, details = "邮件配置")
|
@RequestLog(type = OperationLogType.UPDATE, module = OperationLogModule.SYSTEM_PARAMETER_SETTING, details = "邮件配置", sourceId = "#systemParameter.get(0).paramKey")
|
||||||
public void editEMailInfo(@RequestBody List<SystemParameter> systemParameter) {
|
public void editEMailInfo(@Validated @RequestBody List<SystemParameter> systemParameter) {
|
||||||
systemParameterService.editEMailInfo(systemParameter);
|
systemParameterService.editEMailInfo(systemParameter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -111,4 +111,22 @@ public class AuthSourceControllerTest {
|
||||||
.andExpect(status().isOk())
|
.andExpect(status().isOk())
|
||||||
.andDo(print());
|
.andDo(print());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Order(6)
|
||||||
|
public void testAddSourceByNullName() throws Exception {
|
||||||
|
AuthSource authSource = new AuthSource();
|
||||||
|
authSource.setId("2b6a83d0-7c66-43ed-a1d9-5132d3167aaf");
|
||||||
|
authSource.setConfiguration("123".getBytes());
|
||||||
|
authSource.setCreateTime(System.currentTimeMillis());
|
||||||
|
authSource.setUpdateTime(System.currentTimeMillis());
|
||||||
|
mockMvc.perform(MockMvcRequestBuilders.post("/system/authsource/add")
|
||||||
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
|
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||||
|
.content(JSON.toJSONString(authSource))
|
||||||
|
.contentType(MediaType.APPLICATION_JSON))
|
||||||
|
.andExpect(status().is5xxServerError())
|
||||||
|
.andDo(print());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ public class SystemParameterControllerTest {
|
||||||
systemParameters.add(systemParameter);
|
systemParameters.add(systemParameter);
|
||||||
systemParameters.add(parameter);
|
systemParameters.add(parameter);
|
||||||
|
|
||||||
mockMvc.perform(MockMvcRequestBuilders.post("/system/parameter/save/baseInfo")
|
mockMvc.perform(MockMvcRequestBuilders.post("/system/parameter/save/base-info")
|
||||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||||
.content(JSON.toJSONString(systemParameters))
|
.content(JSON.toJSONString(systemParameters))
|
||||||
|
@ -75,7 +75,7 @@ public class SystemParameterControllerTest {
|
||||||
@Test
|
@Test
|
||||||
@Order(2)
|
@Order(2)
|
||||||
public void testGetBaseInfo() throws Exception {
|
public void testGetBaseInfo() throws Exception {
|
||||||
mockMvc.perform(MockMvcRequestBuilders.get("/system/parameter/get/baseInfo")
|
mockMvc.perform(MockMvcRequestBuilders.get("/system/parameter/get/base-info")
|
||||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||||
.andExpect(status().isOk())
|
.andExpect(status().isOk())
|
||||||
|
@ -86,7 +86,7 @@ public class SystemParameterControllerTest {
|
||||||
@Test
|
@Test
|
||||||
@Order(3)
|
@Order(3)
|
||||||
public void testGetEmailInfo() throws Exception {
|
public void testGetEmailInfo() throws Exception {
|
||||||
mockMvc.perform(MockMvcRequestBuilders.get("/system/parameter/get/emailInfo")
|
mockMvc.perform(MockMvcRequestBuilders.get("/system/parameter/get/email-info")
|
||||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||||
.andExpect(status().isOk());
|
.andExpect(status().isOk());
|
||||||
|
@ -118,7 +118,7 @@ public class SystemParameterControllerTest {
|
||||||
systemParameters.add(systemParameter2);
|
systemParameters.add(systemParameter2);
|
||||||
systemParameters.add(systemParameter3);
|
systemParameters.add(systemParameter3);
|
||||||
|
|
||||||
mockMvc.perform(MockMvcRequestBuilders.post("/system/parameter/edit/emailInfo")
|
mockMvc.perform(MockMvcRequestBuilders.post("/system/parameter/edit/email-info")
|
||||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||||
.content(JSON.toJSONString(systemParameters))
|
.content(JSON.toJSONString(systemParameters))
|
||||||
|
@ -147,4 +147,26 @@ public class SystemParameterControllerTest {
|
||||||
.contentType(MediaType.APPLICATION_JSON))
|
.contentType(MediaType.APPLICATION_JSON))
|
||||||
.andExpect(status().is5xxServerError());
|
.andExpect(status().is5xxServerError());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Order(5)
|
||||||
|
public void testSaveBaseInfoNullUrl() throws Exception {
|
||||||
|
List<SystemParameter> systemParameters = new ArrayList<>();
|
||||||
|
SystemParameter parameter = new SystemParameter();
|
||||||
|
parameter.setParamKey("base.prometheus.host");
|
||||||
|
parameter.setParamValue("http://127.0.0.1:1111");
|
||||||
|
parameter.setType("text");
|
||||||
|
systemParameters.add(parameter);
|
||||||
|
|
||||||
|
mockMvc.perform(MockMvcRequestBuilders.post("/system/parameter/save/base-info")
|
||||||
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
|
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||||
|
.content(JSON.toJSONString(systemParameters))
|
||||||
|
.contentType(MediaType.APPLICATION_JSON))
|
||||||
|
.andExpect(status().isOk())
|
||||||
|
.andExpect(content().contentType(MediaType.APPLICATION_JSON))
|
||||||
|
.andDo(print());
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue