Repository: ambari
Updated Branches:
  refs/heads/branch-feature-AMBARI-20859 d7bc588a1 -> f76c87a69


http://git-wip-us.apache.org/repos/asf/ambari/blob/f76c87a6/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
index e29791f..e049b4e 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import java.sql.SQLException;
+import java.util.Collection;
 import java.util.List;
 
 import org.apache.ambari.server.AmbariException;
@@ -42,6 +43,7 @@ import org.apache.ambari.server.orm.entities.PrincipalEntity;
 import org.apache.ambari.server.orm.entities.PrincipalTypeEntity;
 import org.apache.ambari.server.orm.entities.ResourceEntity;
 import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
+import org.apache.ambari.server.orm.entities.UserAuthenticationEntity;
 import org.apache.ambari.server.orm.entities.UserEntity;
 import org.junit.After;
 import org.junit.Before;
@@ -125,65 +127,94 @@ public class TestUsers {
 
   @Test
   public void testIsUserCanBeRemoved() throws Exception {
-    users.createUser("admin", "admin", UserType.LOCAL, true, true);
-    users.createUser("admin222", "admin222", UserType.LOCAL, true, true);
+    UserEntity userEntity;
+
+    userEntity = users.createUser("admin", "admin", "admin");
+    users.grantAdminPrivilege(userEntity);
+
+    userEntity = users.createUser("admin222", "admin222", "admin22");
+    users.grantAdminPrivilege(userEntity);
 
     
Assert.assertTrue(users.isUserCanBeRemoved(userDAO.findUserByName("admin")));
     
Assert.assertTrue(users.isUserCanBeRemoved(userDAO.findUserByName("admin222")));
 
-    users.removeUser(users.getAnyUser("admin222"));
+    users.removeUser(users.getUser("admin222"));
 
     
Assert.assertFalse(users.isUserCanBeRemoved(userDAO.findUserByName("admin")));
-    users.createUser("user", "user");
+    users.createUser("user", "user", "user");
     
Assert.assertFalse(users.isUserCanBeRemoved(userDAO.findUserByName("admin")));
 
-    users.createUser("admin333", "admin333", UserType.LOCAL, true, true);
+    userEntity = users.createUser("admin333", "admin333", "admin333");
+    users.grantAdminPrivilege(userEntity);
+
     
Assert.assertTrue(users.isUserCanBeRemoved(userDAO.findUserByName("admin")));
     
Assert.assertTrue(users.isUserCanBeRemoved(userDAO.findUserByName("admin333")));
   }
 
   @Test
   public void testModifyPassword_UserByAdmin() throws Exception {
-    users.createUser("admin", "admin", UserType.LOCAL, true, true);
-    users.createUser("user", "user");
+    UserEntity userEntity;
+
+    userEntity = users.createUser("admin", "admin", "admin");
+    users.grantAdminPrivilege(userEntity);
+    users.addLocalAuthentication(userEntity, "admin");
 
-    UserEntity userEntity = userDAO.findUserByName("user");
+    userEntity = users.createUser("user", "user", "user");
+    users.addLocalAuthentication(userEntity, "user");
 
-    assertNotSame("user", userEntity.getUserPassword());
-    assertTrue(passwordEncoder.matches("user", userEntity.getUserPassword()));
+    UserEntity foundUserEntity = userDAO.findUserByName("user");
+    assertNotNull(foundUserEntity);
 
-    users.modifyPassword("user", "admin", "user_new_password");
-    assertTrue(passwordEncoder.matches("user_new_password", 
userDAO.findUserByName("user").getUserPassword()));
+    UserAuthenticationEntity foundLocalAuthenticationEntity;
+    foundLocalAuthenticationEntity = 
getLocalAuthenticationEntity(foundUserEntity);
+    assertNotNull(foundLocalAuthenticationEntity);
+    assertNotSame("user", 
foundLocalAuthenticationEntity.getAuthenticationKey());
+    assertTrue(passwordEncoder.matches("user", 
foundLocalAuthenticationEntity.getAuthenticationKey()));
+
+    foundUserEntity = userDAO.findUserByName("admin");
+    assertNotNull(foundUserEntity);
+    users.modifyPassword(foundUserEntity, "admin", "user_new_password");
+
+    foundUserEntity = userDAO.findUserByName("admin");
+    assertNotNull(foundUserEntity);
+    foundLocalAuthenticationEntity = 
getLocalAuthenticationEntity(foundUserEntity);
+    assertNotNull(foundLocalAuthenticationEntity);
+    assertTrue(passwordEncoder.matches("user_new_password", 
foundLocalAuthenticationEntity.getAuthenticationKey()));
   }
 
   @Test
   public void testRevokeAdminPrivilege() throws Exception {
-    users.createUser("old_admin", "old_admin", UserType.LOCAL, true, true);
+    final UserEntity userEntity = users.createUser("old_admin", "old_admin", 
"old_admin");
+    users.grantAdminPrivilege(userEntity);
 
-    final User admin = users.getAnyUser("old_admin");
+    final User admin = users.getUser("old_admin");
     users.revokeAdminPrivilege(admin.getUserId());
 
-    Assert.assertFalse(users.getAnyUser("old_admin").isAdmin());
+    Assert.assertFalse(users.getUser("old_admin").isAdmin());
   }
 
   @Test
   public void testGrantAdminPrivilege() throws Exception {
-    users.createUser("user", "user");
+    users.createUser("user", "user", "user");
 
-    final User user = users.getAnyUser("user");
+    final User user = users.getUser("user");
     users.grantAdminPrivilege(user.getUserId());
 
-    Assert.assertTrue(users.getAnyUser("user").isAdmin());
+    Assert.assertTrue(users.getUser("user").isAdmin());
   }
 
   @Test
   public void testCreateGetRemoveUser() throws Exception {
-    users.createUser("user1", "user1");
-    users.createUser("user", "user", UserType.LOCAL, false, false);
-    users.createUser("user_ldap", "user_ldap", UserType.LDAP, true, true);
-    User createdUser = users.getUser("user", UserType.LOCAL);
-    User createdUser1 = users.getAnyUser("user1");
-    User createdLdapUser = users.getUser("user_ldap", UserType.LDAP);
+    users.createUser("user1", "user1", null);
+    users.createUser("user", "user", null, false);
+
+    UserEntity userEntity = users.createUser("user_ldap", "user_ldap", null);
+    users.grantAdminPrivilege(userEntity);
+    users.addLdapAuthentication(userEntity, "some dn");
+
+    User createdUser = users.getUser("user");
+    User createdUser1 = users.getUser("user1");
+    User createdLdapUser = users.getUser("user_ldap");
 
     Assert.assertEquals("user1", createdUser1.getUserName());
     Assert.assertEquals(true, createdUser1.isActive());
@@ -200,21 +231,23 @@ public class TestUsers {
     Assert.assertEquals(true, createdLdapUser.isLdapUser());
     Assert.assertEquals(true, createdLdapUser.isAdmin());
 
-    assertEquals("user", users.getAnyUser("user").getUserName());
-    assertEquals("user_ldap", users.getAnyUser("user_ldap").getUserName());
-    Assert.assertNull(users.getAnyUser("non_existing"));
+    assertEquals("user", users.getUser("user").getUserName());
+    assertEquals("user_ldap", users.getUser("user_ldap").getUserName());
+    Assert.assertNull(users.getUser("non_existing"));
 
     // create duplicate user
     try {
-      users.createUser("user1", "user1");
+      users.createUser("user1", "user1", null);
       Assert.fail("It shouldn't be possible to create duplicate user");
     } catch (AmbariException e) {
+      // This is expected
     }
 
     try {
-      users.createUser("USER1", "user1");
+      users.createUser("USER1", "user1", null);
       Assert.fail("It shouldn't be possible to create duplicate user");
     } catch (AmbariException e) {
+      // This is expected
     }
 
     // test get all users
@@ -223,9 +256,9 @@ public class TestUsers {
     Assert.assertEquals(3, userList.size());
 
     // check get any user case insensitive
-    assertEquals("user", users.getAnyUser("USER").getUserName());
-    assertEquals("user_ldap", users.getAnyUser("USER_LDAP").getUserName());
-    Assert.assertNull(users.getAnyUser("non_existing"));
+    assertEquals("user", users.getUser("USER").getUserName());
+    assertEquals("user_ldap", users.getUser("USER_LDAP").getUserName());
+    Assert.assertNull(users.getUser("non_existing"));
 
     // get user by id
     User userById = users.getUser(createdUser.getUserId());
@@ -239,45 +272,52 @@ public class TestUsers {
     assertNull(userByInvalidId);
 
     // get user if unique
-    Assert.assertNotNull(users.getUserIfUnique("user"));
+    Assert.assertNotNull(users.getUser("user"));
 
     //remove user
     Assert.assertEquals(3, users.getAllUsers().size());
 
-    users.removeUser(users.getAnyUser("user1"));
+    users.removeUser(users.getUser("user1"));
 
-    Assert.assertNull(users.getAnyUser("user1"));
+    Assert.assertNull(users.getUser("user1"));
     Assert.assertEquals(2, users.getAllUsers().size());
   }
 
   @Test
   public void testSetUserActive() throws Exception {
-    users.createUser("user", "user");
+    users.createUser("user", "user", null);
 
     users.setUserActive("user", false);
-    Assert.assertEquals(false, users.getAnyUser("user").isActive());
+    Assert.assertEquals(false, users.getUser("user").isActive());
     users.setUserActive("user", true);
-    Assert.assertEquals(true, users.getAnyUser("user").isActive());
+    Assert.assertEquals(true, users.getUser("user").isActive());
 
     try {
       users.setUserActive("fake user", true);
       Assert.fail("It shouldn't be possible to call setUserActive() on 
non-existing user");
     } catch (Exception ex) {
+      // This is expected
     }
   }
 
   @Test
   public void testSetUserLdap() throws Exception {
-    users.createUser("user", "user");
-    users.createUser("user_ldap", "user_ldap", UserType.LDAP, true, false);
+    UserEntity userEntity;
+
+    users.createUser("user", "user", null);
+    users.addLdapAuthentication(users.getUserEntity("user"), "some dn");
 
-    users.setUserLdap("user");
-    Assert.assertEquals(true, users.getAnyUser("user").isLdapUser());
+    userEntity = users.createUser("user_ldap", "user_ldap", null);
+    users.addLdapAuthentication(userEntity, "some dn");
+
+    Assert.assertEquals(true, users.getUser("user").isLdapUser());
+    Assert.assertEquals(true, users.getUser("user_ldap").isLdapUser());
 
     try {
-      users.setUserLdap("fake user");
+      users.addLdapAuthentication(users.getUserEntity("fake user"), "some 
other dn");
       Assert.fail("It shouldn't be possible to call setUserLdap() on 
non-existing user");
     } catch (AmbariException ex) {
+      // This is expected
     }
   }
 
@@ -293,6 +333,7 @@ public class TestUsers {
       users.setGroupLdap("fake group");
       Assert.fail("It shouldn't be possible to call setGroupLdap() on 
non-existing group");
     } catch (AmbariException ex) {
+      // This is expected
     }
   }
 
@@ -328,9 +369,9 @@ public class TestUsers {
     final String groupName2 = "engineering2";
     users.createGroup(groupName, GroupType.LOCAL);
     users.createGroup(groupName2, GroupType.LOCAL);
-    users.createUser("user1", "user1");
-    users.createUser("user2", "user2");
-    users.createUser("user3", "user3");
+    users.createUser("user1", "user1", null);
+    users.createUser("user2", "user2", null);
+    users.createUser("user3", "user3", null);
     users.addMemberToGroup(groupName, "user1");
     users.addMemberToGroup(groupName, "user2");
     assertEquals(2, users.getAllMembers(groupName).size());
@@ -340,6 +381,7 @@ public class TestUsers {
       users.getAllMembers("non existing");
       Assert.fail("It shouldn't be possible to call getAllMembers() on 
non-existing group");
     } catch (Exception ex) {
+      // This is expected
     }
 
     // get members from not unexisting group
@@ -356,16 +398,22 @@ public class TestUsers {
     Authentication auth = new UsernamePasswordAuthenticationToken("user", 
null);
     SecurityContextHolder.getContext().setAuthentication(auth);
 
-    users.createUser("user", "user");
+    UserEntity userEntity = users.createUser("user", "user", null);
+    users.addLocalAuthentication(userEntity, "user");
 
-    UserEntity userEntity = userDAO.findUserByName("user");
+    userEntity = userDAO.findUserByName("user");
+    UserAuthenticationEntity localAuthenticationEntity = 
getLocalAuthenticationEntity(userEntity);
+    assertNotNull(localAuthenticationEntity);
 
-    assertNotSame("user", userEntity.getUserPassword());
-    assertTrue(passwordEncoder.matches("user", userEntity.getUserPassword()));
+    assertNotSame("user", localAuthenticationEntity.getAuthenticationKey());
+    assertTrue(passwordEncoder.matches("user", 
localAuthenticationEntity.getAuthenticationKey()));
 
     users.modifyPassword("user", "user", "user_new_password");
+    userEntity = userDAO.findUserByName("user");
+    localAuthenticationEntity = getLocalAuthenticationEntity(userEntity);
+    assertNotNull(localAuthenticationEntity);
 
-    assertTrue(passwordEncoder.matches("user_new_password", 
userDAO.findUserByName("user").getUserPassword()));
+    assertTrue(passwordEncoder.matches("user_new_password", 
localAuthenticationEntity.getAuthenticationKey()));
   }
 
   @Test
@@ -373,17 +421,21 @@ public class TestUsers {
     Authentication auth = new UsernamePasswordAuthenticationToken("user", 
null);
     SecurityContextHolder.getContext().setAuthentication(auth);
 
-    users.createUser("user", "user");
-
-    UserEntity userEntity = userDAO.findUserByName("user");
+    UserEntity userEntity = users.createUser("user", "user", null);
+    users.addLocalAuthentication(userEntity, "user");
 
-    assertNotSame("user", userEntity.getUserPassword());
-    assertTrue(passwordEncoder.matches("user", userEntity.getUserPassword()));
+    userEntity = userDAO.findUserByName("user");
+    UserAuthenticationEntity foundLocalAuthenticationEntity;
+    foundLocalAuthenticationEntity = getLocalAuthenticationEntity(userEntity);
+    assertNotNull(foundLocalAuthenticationEntity);
+    assertNotSame("user", 
foundLocalAuthenticationEntity.getAuthenticationKey());
+    assertTrue(passwordEncoder.matches("user", 
foundLocalAuthenticationEntity.getAuthenticationKey()));
 
     try {
       users.modifyPassword("user", "admin", "user_new_password");
       Assert.fail("Exception should be thrown here as password is incorrect");
     } catch (AmbariException ex) {
+      // This is expected
     }
   }
 
@@ -392,18 +444,23 @@ public class TestUsers {
     Authentication auth = new UsernamePasswordAuthenticationToken("user2", 
null);
     SecurityContextHolder.getContext().setAuthentication(auth);
 
-    users.createUser("user", "user");
-    users.createUser("user2", "user2");
+    UserEntity userEntity;
+    userEntity = users.createUser("user", "user", null);
+    users.addLocalAuthentication(userEntity, "user");
 
-    UserEntity userEntity = userDAO.findUserByName("user");
+    userEntity = users.createUser("user2", "user2", null);
+    users.addLocalAuthentication(userEntity, "user2");
 
-    assertNotSame("user", userEntity.getUserPassword());
-    assertTrue(passwordEncoder.matches("user", userEntity.getUserPassword()));
+    UserAuthenticationEntity foundLocalAuthenticationEntity = 
getLocalAuthenticationEntity(userDAO.findUserByName("user"));
+    assertNotNull(foundLocalAuthenticationEntity);
+    assertNotSame("user", 
foundLocalAuthenticationEntity.getAuthenticationKey());
+    assertTrue(passwordEncoder.matches("user", 
foundLocalAuthenticationEntity.getAuthenticationKey()));
 
     try {
       users.modifyPassword("user", "user2", "user_new_password");
       Assert.fail("Exception should be thrown here as user2 can't change 
password of user");
-    } catch (AmbariException ex) {
+    } catch (AuthorizationException ex) {
+      // This is expected
     }
   }
 
@@ -411,9 +468,20 @@ public class TestUsers {
   @Ignore // TODO @Transactional annotation breaks this test
   public void testCreateUserDefaultParams() throws Exception {
     final Users spy = Mockito.spy(users);
-    spy.createUser("user", "user");
-    Mockito.verify(spy).createUser("user", "user", UserType.LOCAL, true, 
false);
+    spy.createUser("user", "user", null);
+    Mockito.verify(spy).createUser("user", "user", null);
   }
 
+  private UserAuthenticationEntity getLocalAuthenticationEntity(UserEntity 
userEntity) {
+    assertNotNull(userEntity);
+    Collection<UserAuthenticationEntity> authenticationEntities = 
userEntity.getAuthenticationEntities();
+    assertNotNull(authenticationEntities);
+    for (UserAuthenticationEntity authenticationEntity : 
authenticationEntities) {
+      if (authenticationEntity.getAuthenticationType() == 
UserAuthenticationType.LOCAL) {
+        return authenticationEntity;
+      }
+    }
 
+    return null;
+  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/f76c87a6/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/UsersTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/UsersTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/UsersTest.java
index ac91c90..ffa68fa 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/UsersTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/UsersTest.java
@@ -63,7 +63,7 @@ import junit.framework.Assert;
 
 public class UsersTest extends EasyMockSupport {
 
-  public static final String SERVICEOP_USER_NAME = "serviceopuser";
+  private static final String SERVICEOP_USER_NAME = "serviceopuser";
   private Injector injector;
 
   @Test
@@ -76,7 +76,7 @@ public class UsersTest extends EasyMockSupport {
     expect(userEntity.getPrincipal()).andReturn(userPrincipalEntity).times(1);
 
     UserDAO userDAO = injector.getInstance(UserDAO.class);
-    expect(userDAO.findUserByNameAndType("user1", 
UserType.LOCAL)).andReturn(userEntity).times(1);
+    expect(userDAO.findUserByName("user1")).andReturn(userEntity).times(1);
 
     PrincipalEntity groupPrincipalEntity = createMock(PrincipalEntity.class);
 
@@ -125,7 +125,7 @@ public class UsersTest extends EasyMockSupport {
     replayAll();
 
     Users user = injector.getInstance(Users.class);
-    Collection<AmbariGrantedAuthority> authorities = 
user.getUserAuthorities("user1", UserType.LOCAL);
+    Collection<AmbariGrantedAuthority> authorities = 
user.getUserAuthorities("user1");
 
     verifyAll();
 
@@ -151,7 +151,7 @@ public class UsersTest extends EasyMockSupport {
   public void testCreateUser_NoDuplicates() throws Exception {
     initForCreateUser(null);
     Users users = injector.getInstance(Users.class);
-    users.createUser(SERVICEOP_USER_NAME, "qwert");
+    users.createUser(SERVICEOP_USER_NAME, SERVICEOP_USER_NAME, 
SERVICEOP_USER_NAME);
   }
 
   /**
@@ -161,8 +161,7 @@ public class UsersTest extends EasyMockSupport {
   @Test(expected = AmbariException.class)
   public void testCreateUser_Duplicate() throws Exception {
     UserEntity existing = new UserEntity();
-    existing.setUserName(UserName.fromString(SERVICEOP_USER_NAME));
-    existing.setUserType(UserType.LDAP);
+    existing.setUserName(UserName.fromString(SERVICEOP_USER_NAME).toString());
     existing.setUserId(1);
     existing.setMemberEntities(Collections.<MemberEntity>emptySet());
     PrincipalEntity principal = new PrincipalEntity();
@@ -171,12 +170,12 @@ public class UsersTest extends EasyMockSupport {
     initForCreateUser(existing);
 
     Users users = injector.getInstance(Users.class);
-    users.createUser(SERVICEOP_USER_NAME, "qwert");
+    users.createUser(SERVICEOP_USER_NAME, SERVICEOP_USER_NAME, 
SERVICEOP_USER_NAME);
   }
 
   private void initForCreateUser(@Nullable UserEntity existingUser) {
     UserDAO userDao = createStrictMock(UserDAO.class);
-    expect(userDao.findSingleUserByName(anyString())).andReturn(existingUser);
+    expect(userDao.findUserByName(anyString())).andReturn(existingUser);
     userDao.create(anyObject(UserEntity.class));
     expectLastCall();
     EntityManager entityManager = createNiceMock(EntityManager.class);

http://git-wip-us.apache.org/repos/asf/ambari/blob/f76c87a6/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthenticationFilterTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthenticationFilterTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthenticationFilterTest.java
index 24f5f88..47df030 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthenticationFilterTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/jwt/JwtAuthenticationFilterTest.java
@@ -47,7 +47,6 @@ import javax.servlet.http.HttpServletResponse;
 import org.apache.ambari.server.security.authorization.AmbariGrantedAuthority;
 import org.apache.ambari.server.security.authorization.AuthorizationHelper;
 import org.apache.ambari.server.security.authorization.User;
-import org.apache.ambari.server.security.authorization.UserType;
 import org.apache.ambari.server.security.authorization.Users;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
@@ -170,16 +169,15 @@ public class JwtAuthenticationFilterTest {
       withConstructor(properties, entryPoint, users).createNiceMock();
 
     
expect(filter.getJWTFromCookie(anyObject(HttpServletRequest.class))).andReturn(signedJWT.serialize());
-    expect(users.getUser(eq("test-user"), 
eq(UserType.JWT))).andReturn(null).once();
-    expect(users.getUser(eq("test-user"), 
eq(UserType.JWT))).andReturn(user).anyTimes();
+    expect(users.getUser(eq("test-user"))).andReturn(null).once();
+    expect(users.getUser(eq("test-user"))).andReturn(user).anyTimes();
 
-    users.createUser(eq("test-user"), anyObject(String.class), 
eq(UserType.JWT), eq(true), eq(false));
+    users.createUser(eq("test-user"), eq("test-user"), eq("test-user"));
     expectLastCall();
 
-    expect(users.getUserAuthorities(eq("test-user"), 
eq(UserType.JWT))).andReturn(Collections.singletonList(authority));
+    
expect(users.getUserAuthorities(eq("test-user"))).andReturn(Collections.singletonList(authority));
 
     expect(user.getUserName()).andReturn("test-user");
-    expect(user.getUserType()).andReturn(UserType.JWT);
 
     expect(user.getUserId()).andReturn(1);
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/f76c87a6/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
index 63b6927..cf05425 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
@@ -53,12 +53,14 @@ import org.apache.ambari.server.orm.entities.GroupEntity;
 import org.apache.ambari.server.orm.entities.MemberEntity;
 import org.apache.ambari.server.orm.entities.PrincipalEntity;
 import org.apache.ambari.server.orm.entities.PrivilegeEntity;
+import org.apache.ambari.server.orm.entities.UserAuthenticationEntity;
 import org.apache.ambari.server.orm.entities.UserEntity;
 import org.apache.ambari.server.security.authorization.AmbariLdapUtils;
 import org.apache.ambari.server.security.authorization.Group;
 import org.apache.ambari.server.security.authorization.GroupType;
 import org.apache.ambari.server.security.authorization.LdapServerProperties;
 import org.apache.ambari.server.security.authorization.User;
+import org.apache.ambari.server.security.authorization.UserAuthenticationType;
 import org.apache.ambari.server.security.authorization.UserName;
 import org.apache.ambari.server.security.authorization.Users;
 import org.easymock.Capture;
@@ -1971,14 +1973,15 @@ public class AmbariLdapDataPopulatorTest {
   private User createUser(String name, boolean ldapUser, GroupEntity group) {
     final UserEntity userEntity = new UserEntity();
     userEntity.setUserId(userIdCounter++);
-    userEntity.setUserName(UserName.fromString(name));
+    userEntity.setUserName(UserName.fromString(name).toString());
     userEntity.setCreateTime(new Date());
-    userEntity.setLdapUser(ldapUser);
     userEntity.setActive(true);
     userEntity.setMemberEntities(new HashSet<MemberEntity>());
+
     final PrincipalEntity principalEntity = new PrincipalEntity();
     principalEntity.setPrivileges(new HashSet<PrivilegeEntity>());
     userEntity.setPrincipal(principalEntity);
+
     if (group != null) {
       final MemberEntity member = new MemberEntity();
       member.setUser(userEntity);
@@ -1986,6 +1989,18 @@ public class AmbariLdapDataPopulatorTest {
       group.getMemberEntities().add(member);
       userEntity.getMemberEntities().add(member);
     }
+
+    UserAuthenticationEntity userAuthenticationEntity = new 
UserAuthenticationEntity();
+    if(ldapUser) {
+      
userAuthenticationEntity.setAuthenticationType(UserAuthenticationType.LDAP);
+      userAuthenticationEntity.setAuthenticationKey("some dn");
+    }
+    else {
+      
userAuthenticationEntity.setAuthenticationType(UserAuthenticationType.LOCAL);
+      userAuthenticationEntity.setAuthenticationKey("some password (normally 
encoded)");
+    }
+    
userEntity.setAuthenticationEntities(Collections.singletonList(userAuthenticationEntity));
+
     return new User(userEntity);
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/f76c87a6/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java
index f106658..55a6436 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog240Test.java
@@ -93,7 +93,6 @@ import 
org.apache.ambari.server.orm.entities.ViewInstanceEntity;
 import org.apache.ambari.server.orm.entities.WidgetEntity;
 import org.apache.ambari.server.security.authorization.ResourceType;
 import org.apache.ambari.server.security.authorization.User;
-import org.apache.ambari.server.security.authorization.UserName;
 import org.apache.ambari.server.security.authorization.Users;
 import org.apache.ambari.server.stack.StackManagerFactory;
 import org.apache.ambari.server.state.AlertFirmness;
@@ -2614,11 +2613,11 @@ public class UpgradeCatalog240Test {
     
expect(requestScheduleDAO.findAll()).andReturn(Collections.singletonList(requestScheduleEntity)).once();
 
     UserEntity userEntity = new UserEntity();
-    userEntity.setUserName(UserName.fromString("createdUser"));
+    userEntity.setUserName("createdUser");
     userEntity.setUserId(1);
     userEntity.setPrincipal(new PrincipalEntity());
     User user = new User(userEntity);
-    expect(users.getUserIfUnique("createdUser")).andReturn(user).once();
+    expect(users.getUser("createdUser")).andReturn(user).once();
 
     
expect(requestScheduleDAO.merge(requestScheduleEntity)).andReturn(requestScheduleEntity).once();
 
@@ -2658,7 +2657,7 @@ public class UpgradeCatalog240Test {
 
     
expect(requestScheduleDAO.findAll()).andReturn(Collections.singletonList(requestScheduleEntity)).once();
 
-    expect(users.getUserIfUnique("createdUser")).andReturn(null).once();
+    expect(users.getUser("createdUser")).andReturn(null).once();
 
     final Injector injector = Guice.createInjector(new AbstractModule() {
       @Override

Reply via email to