Users { public void createUser(String userName, String password) throws AmbariException { createUser(userName, password, UserType.LOCAL, true, false); }  List<User> getAllUsers(); @Deprecated User getAnyUser(String userName); User getUser(String userName, UserType userType); User getUser(Integer userId); @Deprecated User getUserIfUnique(String userName); synchronized void modifyPassword(String userName, String currentUserPassword, String newPassword); synchronized void setUserActive(String userName, boolean active); synchronized void setUserLdap(String userName); synchronized void setGroupLdap(String groupName); void createUser(String userName, String password); synchronized void createUser(String userName, String password, UserType userType, Boolean active, Boolean
      admin); synchronized void removeUser(User user); Group getGroup(String groupName); Group getGroupByNameAndType(String groupName, GroupType groupType); Collection<User> getGroupMembers(String groupName); @Transactional synchronized void createGroup(String groupName, GroupType groupType); List<Group> getAllGroups(); List<String> getAllMembers(String groupName); @Transactional synchronized void removeGroup(Group group); synchronized void grantAdminPrivilege(Integer userId); synchronized void grantPrivilegeToGroup(Integer groupId, Long resourceId, ResourceType resourceType, String permissionName); synchronized void revokeAdminPrivilege(Integer userId); @Transactional synchronized void addMemberToGroup(String groupName, String userName); @Transactional synchronized void removeMemberFromGroup(String groupName, String userName); synchronized boolean isUserCanBeRemoved(UserEntity userEntity); void processLdapSync(LdapBatchDto batchInfo); Collection<PrivilegeEntity> getUserPrivileges(UserEntity userEntity); Collection<PrivilegeEntity> getGroupPrivileges(GroupEntity groupEntity); Collection<AmbariGrantedAuthority> getUserAuthorities(String userName, UserType userType);  }
@Test public void testCreateUser_NoDuplicates() throws Exception { initForCreateUser(null); Users users = injector.getInstance(Users.class); users.createUser(SERVICEOP_USER_NAME, "qwert"); }
@Test(expected = AmbariException.class) public void testCreateUser_Duplicate() throws Exception { UserEntity existing = new UserEntity(); existing.setUserName(SERVICEOP_USER_NAME); existing.setUserType(UserType.LDAP); existing.setUserId(1); existing.setMemberEntities(Collections.<MemberEntity>emptySet()); PrincipalEntity principal = new PrincipalEntity(); principal.setPrivileges(Collections.<PrivilegeEntity>emptySet()); existing.setPrincipal(principal); initForCreateUser(existing); Users users = injector.getInstance(Users.class); users.createUser(SERVICEOP_USER_NAME, "qwert"); }
@Test @Ignore 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); }