Browse Source

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

* LDAP user create with status enable

* currect unit test

(cherry picked from commit 50846760e5)
3.0.0/version-upgrade
旺阳 2 years ago committed by devosend
parent
commit
ba2f2ba64d
  1. 1
      dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
  2. 14
      dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapAuthenticatorTest.java

1
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java

@ -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);

14
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapAuthenticatorTest.java

@ -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());
}

Loading…
Cancel
Save