fix: default register client id
This commit is contained in:
@@ -201,7 +201,11 @@ public class AuthController {
|
||||
*/
|
||||
@ApiEncrypt
|
||||
@PostMapping("/register")
|
||||
public R<Void> register(@Validated @RequestBody RegisterBody user) {
|
||||
public R<Void> register(@RequestBody RegisterBody user) {
|
||||
if (StringUtils.isBlank(user.getClientId())) {
|
||||
user.setClientId("32324a04c0175c8d61ac8a282553aea1");
|
||||
}
|
||||
ValidatorUtils.validate(user);
|
||||
if (!configService.selectRegisterEnabled(user.getTenantId())) {
|
||||
return R.fail("当前系统没有开启注册功能!");
|
||||
}
|
||||
|
||||
@@ -1,20 +1,28 @@
|
||||
package org.dromara.web.controller;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import jakarta.validation.Validation;
|
||||
import jakarta.validation.ValidatorFactory;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.domain.model.AccountCancelBody;
|
||||
import org.dromara.common.core.domain.model.RegisterBody;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.system.service.ISysConfigService;
|
||||
import org.dromara.web.service.AccountCancellationService;
|
||||
import org.dromara.web.service.SysRegisterService;
|
||||
import org.junit.jupiter.api.Tag;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockedStatic;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.springframework.context.support.GenericApplicationContext;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.mockStatic;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
@Tag("dev")
|
||||
@@ -23,6 +31,12 @@ class AuthControllerUnitTest {
|
||||
@Mock
|
||||
private AccountCancellationService accountCancellationService;
|
||||
|
||||
@Mock
|
||||
private SysRegisterService registerService;
|
||||
|
||||
@Mock
|
||||
private ISysConfigService configService;
|
||||
|
||||
@Test
|
||||
void cancelAccount_checksLoginCancelsAccountAndLogsOut() {
|
||||
AuthController controller = new AuthController(
|
||||
@@ -52,4 +66,38 @@ class AuthControllerUnitTest {
|
||||
stpUtil.verify(() -> StpUtil.logout(100L));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void register_defaultsClientIdWhenMissing() {
|
||||
AuthController controller = new AuthController(
|
||||
null,
|
||||
null,
|
||||
registerService,
|
||||
configService,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
accountCancellationService
|
||||
);
|
||||
RegisterBody user = new RegisterBody();
|
||||
user.setUsername("register-user");
|
||||
user.setPassword("12345");
|
||||
user.setGrantType("password");
|
||||
when(configService.selectRegisterEnabled(user.getTenantId())).thenReturn(true);
|
||||
|
||||
try (ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
|
||||
GenericApplicationContext context = new GenericApplicationContext()) {
|
||||
context.getBeanFactory().registerSingleton("validator", validatorFactory.getValidator());
|
||||
context.refresh();
|
||||
new SpringUtil().setApplicationContext(context);
|
||||
|
||||
R<Void> result = controller.register(user);
|
||||
|
||||
assertThat(result.getCode()).isEqualTo(200);
|
||||
assertThat(user.getClientId()).isEqualTo("32324a04c0175c8d61ac8a282553aea1");
|
||||
verify(registerService).register(user);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user