use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariClusterSecurityServiceTest method testChangeOriginalAmbariCredentialsAndCreateCloudbreakUserWhenAdminIsTheDefinedUserThenDefaultUserDoesNotChange.
@Test
public void testChangeOriginalAmbariCredentialsAndCreateCloudbreakUserWhenAdminIsTheDefinedUserThenDefaultUserDoesNotChange() throws CloudbreakException {
Stack stack = TestUtil.stack();
Cluster cluster = TestUtil.cluster();
cluster.setUserName("admin");
cluster.setPassword("admin");
stack.setCluster(cluster);
AmbariClient ambariClient = Mockito.mock(AmbariClient.class);
when(clientFactory.getDefaultAmbariClient(stack)).thenReturn(ambariClient);
when(ambariSecurityConfigProvider.getAmbariUserName(cluster)).thenReturn("cloudbreak");
when(ambariSecurityConfigProvider.getAmbariPassword(cluster)).thenReturn("cloudbreak123");
when(ambariUserHandler.createAmbariUser("cloudbreak", "cloudbreak123", stack, ambariClient)).thenReturn(ambariClient);
when(ambariUserHandler.createAmbariUser(cluster.getUserName(), cluster.getPassword(), stack, ambariClient)).thenReturn(ambariClient);
when(ambariClient.deleteUser("admin")).thenReturn(ambariClient);
underTest.changeOriginalAmbariCredentialsAndCreateCloudbreakUser(stack);
verify(clientFactory, times(1)).getDefaultAmbariClient(stack);
verify(ambariSecurityConfigProvider, times(1)).getAmbariUserName(stack.getCluster());
verify(ambariSecurityConfigProvider, times(1)).getAmbariPassword(stack.getCluster());
verify(ambariUserHandler, times(1)).createAmbariUser("cloudbreak", "cloudbreak123", stack, ambariClient);
verify(ambariClient, times(0)).deleteUser("admin");
verify(ambariClient, times(0)).changePassword(anyString(), anyString(), anyString(), anyBoolean());
}
use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariClusterSecurityServiceTest method testApiUpdateUserNamePasswordWhenChangePasswordThrowException.
@Test
public void testApiUpdateUserNamePasswordWhenChangePasswordThrowException() throws CloudbreakException {
Stack stack = TestUtil.stack();
Cluster cluster = TestUtil.cluster();
stack.setCluster(cluster);
AmbariClient ambariClient = Mockito.mock(AmbariClient.class);
String newPassword = "newadmin";
when(clusterService.getById(stack.getCluster().getId())).thenReturn(cluster);
when(clientFactory.getAmbariClient(stack, cluster.getUserName(), cluster.getPassword())).thenReturn(ambariClient);
when(clientFactory.getAmbariClient(stack, cluster.getUserName(), newPassword)).thenReturn(ambariClient);
when(ambariClient.changePassword(cluster.getUserName(), cluster.getPassword(), newPassword, true)).thenThrow(new AmbariConnectionException("test1"));
when(ambariClient.ambariServerVersion()).thenReturn("1.1");
underTest.updateUserNamePassword(stack, newPassword);
verify(clientFactory, times(1)).getAmbariClient(stack, cluster.getUserName(), cluster.getPassword());
verify(clusterService, times(1)).getById(stack.getCluster().getId());
verify(ambariClient, times(1)).changePassword(cluster.getUserName(), cluster.getPassword(), newPassword, true);
verify(ambariClient, times(1)).ambariServerVersion();
}
use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariClusterSecurityServiceTest method testChangeOriginalAmbariCredentialsAndCreateCloudbreakUserWhenAdminIsTheDefinedUserAndPasswordIsNotAdminThenTryToChangeDefaultUser.
@Test
public void testChangeOriginalAmbariCredentialsAndCreateCloudbreakUserWhenAdminIsTheDefinedUserAndPasswordIsNotAdminThenTryToChangeDefaultUser() throws CloudbreakException {
Stack stack = TestUtil.stack();
Cluster cluster = TestUtil.cluster();
cluster.setUserName("admin");
cluster.setPassword("admin1");
stack.setCluster(cluster);
AmbariClient ambariClient = Mockito.mock(AmbariClient.class);
when(clientFactory.getDefaultAmbariClient(stack)).thenReturn(ambariClient);
when(ambariSecurityConfigProvider.getAmbariUserName(cluster)).thenReturn("cloudbreak");
when(ambariSecurityConfigProvider.getAmbariPassword(cluster)).thenReturn("cloudbreak123");
when(ambariUserHandler.createAmbariUser("cloudbreak", "cloudbreak123", stack, ambariClient)).thenReturn(ambariClient);
when(ambariUserHandler.createAmbariUser(cluster.getUserName(), cluster.getPassword(), stack, ambariClient)).thenReturn(ambariClient);
when(ambariClient.deleteUser("admin")).thenReturn(ambariClient);
when(ambariClient.changePassword("admin", "admin", cluster.getPassword(), true)).thenReturn(ambariClient);
underTest.changeOriginalAmbariCredentialsAndCreateCloudbreakUser(stack);
verify(clientFactory, times(1)).getDefaultAmbariClient(stack);
verify(ambariSecurityConfigProvider, times(1)).getAmbariUserName(stack.getCluster());
verify(ambariSecurityConfigProvider, times(1)).getAmbariPassword(stack.getCluster());
verify(ambariUserHandler, times(1)).createAmbariUser("cloudbreak", "cloudbreak123", stack, ambariClient);
verify(ambariClient, times(0)).deleteUser("admin");
verify(ambariClient, times(1)).changePassword("admin", "admin", cluster.getPassword(), true);
}
use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariClusterSecurityServiceTest method testChangeOriginalAmbariCredentialsAndCreateCloudbreakUserWhenEverythingworksFineThenChangeDefaultUserNameAndPassword.
@Test
public void testChangeOriginalAmbariCredentialsAndCreateCloudbreakUserWhenEverythingworksFineThenChangeDefaultUserNameAndPassword() throws CloudbreakException {
Stack stack = TestUtil.stack();
Cluster cluster = TestUtil.cluster();
cluster.setUserName("admin1");
stack.setCluster(cluster);
AmbariClient ambariClient = Mockito.mock(AmbariClient.class);
when(clientFactory.getDefaultAmbariClient(stack)).thenReturn(ambariClient);
when(ambariSecurityConfigProvider.getAmbariUserName(cluster)).thenReturn("cloudbreak");
when(ambariSecurityConfigProvider.getAmbariPassword(cluster)).thenReturn("cloudbreak123");
when(ambariUserHandler.createAmbariUser("cloudbreak", "cloudbreak123", stack, ambariClient)).thenReturn(ambariClient);
when(ambariUserHandler.createAmbariUser(cluster.getUserName(), cluster.getPassword(), stack, ambariClient)).thenReturn(ambariClient);
when(ambariClient.deleteUser("admin")).thenReturn(ambariClient);
underTest.changeOriginalAmbariCredentialsAndCreateCloudbreakUser(stack);
verify(clientFactory, times(1)).getDefaultAmbariClient(stack);
verify(ambariSecurityConfigProvider, times(1)).getAmbariUserName(stack.getCluster());
verify(ambariSecurityConfigProvider, times(1)).getAmbariPassword(stack.getCluster());
verify(ambariUserHandler, times(1)).createAmbariUser("cloudbreak", "cloudbreak123", stack, ambariClient);
verify(ambariUserHandler, times(1)).createAmbariUser(cluster.getUserName(), cluster.getPassword(), stack, ambariClient);
verify(ambariClient, times(1)).deleteUser("admin");
verify(ambariClient, times(0)).changePassword(anyString(), anyString(), anyString(), anyBoolean());
}
use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariClusterSecurityServiceTest method testApiReplaceUserNamePasswordWhenEverythingWorks.
@Test
public void testApiReplaceUserNamePasswordWhenEverythingWorks() throws CloudbreakException {
Stack stack = TestUtil.stack();
Cluster cluster = TestUtil.cluster();
stack.setCluster(cluster);
AmbariClient ambariClient = Mockito.mock(AmbariClient.class);
String newUserName = "admin";
String newPassword = "newadmin";
when(clientFactory.getAmbariClient(stack, cluster.getUserName(), cluster.getPassword())).thenReturn(ambariClient);
when(ambariUserHandler.createAmbariUser(newUserName, newPassword, stack, ambariClient)).thenReturn(ambariClient);
when(ambariClient.deleteUser(cluster.getUserName())).thenReturn(ambariClient);
underTest.replaceUserNamePassword(stack, newUserName, newPassword);
verify(clientFactory, times(1)).getAmbariClient(stack, cluster.getUserName(), cluster.getPassword());
verify(ambariUserHandler, times(1)).createAmbariUser(newUserName, newPassword, stack, ambariClient);
verify(ambariClient, times(1)).deleteUser(cluster.getUserName());
}
Aggregations