[fix-10386]LDAP user create with status enable (#10426)

* LDAP user create with status enable

* currect unit test

(cherry picked from commit 50846760e5)
This commit is contained in:
旺阳 2022-06-15 10:19:27 +08:00 committed by devosend
parent deb1c594e5
commit ba2f2ba64d
2 changed files with 7 additions and 8 deletions

View File

@ -228,6 +228,7 @@ public class UsersServiceImpl extends BaseServiceImpl implements UsersService {
user.setCreateTime(now);
user.setUpdateTime(now);
user.setQueue("");
user.setState(Flag.YES.getCode());
// save user
userMapper.insert(user);

View File

@ -38,6 +38,7 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import org.mockito.Spy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -64,7 +65,7 @@ public class LdapAuthenticatorTest extends AbstractControllerTest {
private LdapService ldapService;
@MockBean(name = "sessionServiceImpl")
private SessionService sessionService;
@MockBean(name = "usersServiceImpl")
@Spy
private UsersService usersService;
private LdapAuthenticator ldapAuthenticator;
@ -102,22 +103,19 @@ public class LdapAuthenticatorTest extends AbstractControllerTest {
@Test
public void testAuthenticate() {
when(usersService.createUser(userType, ldapUid, ldapEmail)).thenReturn(mockUser);
when(usersService.getUserByUserName(ldapUid)).thenReturn(mockUser);
when(sessionService.createSession(mockUser, ip)).thenReturn(mockSession.getId());
when(sessionService.createSession(Mockito.any(User.class), Mockito.eq(ip))).thenReturn(mockSession.getId());
when(ldapService.ldapLogin(ldapUid, ldapUserPwd)).thenReturn(ldapEmail);
Result result = ldapAuthenticator.authenticate(ldapUid, ldapUserPwd, ip);
Assert.assertEquals(Status.SUCCESS.getCode(), (int) result.getCode());
logger.info(result.toString());
when(sessionService.createSession(mockUser, ip)).thenReturn(null);
when(sessionService.createSession(Mockito.any(User.class), Mockito.eq(ip))).thenReturn(null);
result = ldapAuthenticator.authenticate(ldapUid, ldapUserPwd, ip);
Assert.assertEquals(Status.LOGIN_SESSION_FAILED.getCode(), (int) result.getCode());
when(sessionService.createSession(mockUser, ip)).thenReturn(mockSession.getId());
when(usersService.getUserByUserName(ldapUid)).thenReturn(null);
when(ldapService.ldapLogin(ldapUid, ldapUserPwd)).thenReturn(null);
result = ldapAuthenticator.authenticate(ldapUid, ldapUserPwd, ip);
Assert.assertEquals(Status.USER_NAME_PASSWD_ERROR.getCode(), (int) result.getCode());
}