@Test
public void testAddRole() throws Exception {
AmbariLdapAuthoritiesPopulator populator =
new AmbariLdapAuthoritiesPopulator(configuration, helper, userDAO, roleDAO);
RoleEntity roleEntity = createMock(RoleEntity.class);
Set<UserEntity> userEntities = createMock(Set.class);
Set<RoleEntity> roleEntities = createMock(Set.class);
Capture<RoleEntity> createdRole = new Capture<RoleEntity>();
expect(roleDAO.findByName(adminRole)).andReturn(null).andReturn(roleEntity);
expect(roleDAO.findByName(adminRole)).andReturn(roleEntity);
roleDAO.create(capture(createdRole));
expectLastCall();
expect(userEntity.getUserName()).andReturn(username).anyTimes();
expect(userEntity.getRoleEntities()).andReturn(roleEntities).anyTimes();
expect(roleEntity.getUserEntities()).andReturn(userEntities).anyTimes();
expect(roleEntities.contains(roleEntity)).andReturn(false);
expect(roleEntities.contains(roleEntity)).andReturn(true);
expect(userEntities.add(userEntity)).andReturn(true);