use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariViewProviderTest method testProvideViewInformationWhenExceptionOccuredThenNoSaveHappensOnRepository.
@Test
public void testProvideViewInformationWhenExceptionOccuredThenNoSaveHappensOnRepository() {
Cluster cluster = TestUtil.cluster();
AmbariClient ambariClient = mock(AmbariClient.class);
when(ambariClient.getViewDefinitions()).thenThrow(new AmbariHostsUnavailableException("failed"));
Cluster result = underTest.provideViewInformation(ambariClient, cluster);
Assert.assertEquals(cluster, result);
verify(clusterRepository, times(0)).save(any(Cluster.class));
verify(ambariClient, times(1)).getViewDefinitions();
}
use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariViewProviderTest method testProvideViewInformationWhenEverythingWorksFine.
@Test
public void testProvideViewInformationWhenEverythingWorksFine() {
Cluster cluster = TestUtil.cluster();
AmbariClient ambariClient = mock(AmbariClient.class);
when(clusterRepository.save(cluster)).thenReturn(cluster);
when(ambariClient.getViewDefinitions()).thenReturn(Lists.newArrayList("test1", "test2"));
Cluster result = underTest.provideViewInformation(ambariClient, cluster);
Assert.assertEquals(cluster, result);
verify(clusterRepository, times(1)).save(any(Cluster.class));
verify(ambariClient, times(1)).getViewDefinitions();
}
use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariDecommissionerTest method testVerifyNodeCountWithoutReplicationFactory.
@Test
public void testVerifyNodeCountWithoutReplicationFactory() throws CloudbreakSecuritySetupException {
String hostGroupName = "hostGroupName";
String hostname = "hostname";
String ipAddress = "192.18.256.1";
int gatewayPort = 1234;
String ambariName = "ambari-name";
Map<String, List<String>> blueprintMap = new HashMap<>();
blueprintMap.put(hostGroupName, Collections.singletonList("NODEMANAGER"));
Blueprint blueprint = new Blueprint();
blueprint.setName(ambariName);
blueprint.setAmbariName(ambariName);
Cluster cluster = new Cluster();
cluster.setAmbariIp(ipAddress);
cluster.setBlueprint(blueprint);
Stack stack = new Stack();
stack.setGatewayPort(gatewayPort);
stack.setId(100L);
HostGroup hostGroup = new HostGroup();
hostGroup.setName(hostGroupName);
hostGroup.setHostMetadata(Collections.singleton(getHostMetadata(0L)));
AmbariClient ambariClient = mock(AmbariClient.class);
HttpClientConfig config = new HttpClientConfig(ipAddress);
when(tlsSecurityService.buildTLSClientConfigForPrimaryGateway(stack.getId(), cluster.getAmbariIp())).thenReturn(config);
when(ambariClientProvider.getAmbariClient(config, stack.getGatewayPort(), cluster)).thenReturn(ambariClient);
when(hostGroupService.getByClusterAndHostName(cluster, hostname)).thenReturn(hostGroup);
when(ambariClient.getBlueprintMap(ambariName)).thenReturn(blueprintMap);
underTest.verifyNodeCount(stack, cluster, hostname);
verify(configurationService, times(0)).getConfiguration(ambariClient, hostGroupName);
}
use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariDecommissionerTest method testVerifyNodeCountWithReplicationFactory.
@Test
public void testVerifyNodeCountWithReplicationFactory() throws CloudbreakSecuritySetupException {
String hostGroupName = "hostGroupName";
String hostname = "hostname";
String ipAddress = "192.18.256.1";
int gatewayPort = 1234;
String ambariName = "ambari-name";
Map<String, List<String>> blueprintMap = new HashMap<>();
blueprintMap.put(hostGroupName, Collections.singletonList("DATANODE"));
Blueprint blueprint = new Blueprint();
blueprint.setName(ambariName);
blueprint.setAmbariName(ambariName);
Cluster cluster = new Cluster();
cluster.setAmbariIp(ipAddress);
cluster.setBlueprint(blueprint);
Stack stack = new Stack();
stack.setGatewayPort(gatewayPort);
stack.setId(100L);
HostGroup hostGroup = new HostGroup();
hostGroup.setName(hostGroupName);
hostGroup.setHostMetadata(Sets.newHashSet(getHostMetadata(0L), getHostMetadata(1L), getHostMetadata(2L), getHostMetadata(3L)));
AmbariClient ambariClient = mock(AmbariClient.class);
HttpClientConfig config = new HttpClientConfig(ipAddress);
when(tlsSecurityService.buildTLSClientConfigForPrimaryGateway(stack.getId(), cluster.getAmbariIp())).thenReturn(config);
when(ambariClientProvider.getAmbariClient(config, stack.getGatewayPort(), cluster)).thenReturn(ambariClient);
when(hostGroupService.getByClusterAndHostName(cluster, hostname)).thenReturn(hostGroup);
when(ambariClient.getBlueprintMap(ambariName)).thenReturn(blueprintMap);
when(configurationService.getConfiguration(ambariClient, hostGroupName)).thenReturn(Collections.singletonMap(ConfigParam.DFS_REPLICATION.key(), "3"));
underTest.verifyNodeCount(stack, cluster, hostname);
verify(configurationService, times(1)).getConfiguration(ambariClient, hostGroupName);
}
use of com.sequenceiq.cloudbreak.domain.Cluster in project cloudbreak by hortonworks.
the class AmbariClusterHostServiceTypeTest method setUp.
@Before
public void setUp() {
stack = TestUtil.stack();
cluster = TestUtil.cluster(TestUtil.blueprint(), stack, 1L);
stack.setCluster(cluster);
when(stackService.get(anyLong())).thenReturn(stack);
when(stackService.getByIdWithLists(anyLong())).thenReturn(stack);
when(stackService.getById(anyLong())).thenReturn(stack);
when(clusterRepository.save(any(Cluster.class))).thenReturn(cluster);
given(tlsSecurityService.buildTLSClientConfigForPrimaryGateway(anyLong(), anyString())).willReturn(new HttpClientConfig("", "", "/tmp", "/tmp"));
}
Aggregations