use of com.sequenceiq.freeipa.entity.InstanceMetaData in project cloudbreak by hortonworks.
the class FreeIpaInstanceHealthDetailsServiceTest method testGetInstanceHealthDetailsLegacyUnhealthyNode.
@Test
public void testGetInstanceHealthDetailsLegacyUnhealthyNode() throws Exception {
FreeIpaClient mockIpaClient = Mockito.mock(FreeIpaClient.class);
Mockito.when(healthCheckAvailabilityChecker.isCdpFreeIpaHeathAgentAvailable(any())).thenReturn(false);
Mockito.when(mockIpaClient.getHostname()).thenReturn(HOST);
Mockito.when(freeIpaClientFactory.getFreeIpaClientForStackForLegacyHealthCheck(any(), any())).thenReturn(mockIpaClient);
Mockito.when(mockIpaClient.serverConnCheck(anyString(), anyString())).thenReturn(getLegacyErrorPayload(HOST));
InstanceMetaData instanceMetaData = getInstance();
Stack stack = getStack(Set.of(instanceMetaData));
NodeHealthDetails response = underTest.getInstanceHealthDetails(stack, instanceMetaData);
assertEquals(InstanceStatus.UNHEALTHY, response.getStatus());
assertEquals(INSTANCE_ID, response.getInstanceId());
assertEquals(HOST, response.getName());
assertFalse(response.getIssues().isEmpty());
}
use of com.sequenceiq.freeipa.entity.InstanceMetaData in project cloudbreak by hortonworks.
the class FreeIpaInstanceHealthDetailsServiceTest method testGetInstanceHealthDetailsUnresponsiveNodeThrows.
@Test
public void testGetInstanceHealthDetailsUnresponsiveNodeThrows() throws Exception {
FreeIpaHealthCheckClient mockIpaHealthClient = Mockito.mock(FreeIpaHealthCheckClient.class);
Mockito.when(healthCheckAvailabilityChecker.isCdpFreeIpaHeathAgentAvailable(any())).thenReturn(true);
Mockito.when(freeIpaHealthCheckClientFactory.getClient(any(), any())).thenReturn(mockIpaHealthClient);
Mockito.when(mockIpaHealthClient.nodeHealth()).thenThrow(ipaClientException);
InstanceMetaData instanceMetaData = getInstance();
Stack stack = getStack(Set.of(instanceMetaData));
Assert.assertThrows(FreeIpaClientException.class, () -> underTest.getInstanceHealthDetails(stack, instanceMetaData));
}
use of com.sequenceiq.freeipa.entity.InstanceMetaData in project cloudbreak by hortonworks.
the class FreeIpaInstanceHealthDetailsServiceTest method testGetInstanceHealthDetailsLegacyUnresponsiveNodeThrows.
@Test
public void testGetInstanceHealthDetailsLegacyUnresponsiveNodeThrows() throws Exception {
FreeIpaClient mockIpaClient = Mockito.mock(FreeIpaClient.class);
Mockito.when(healthCheckAvailabilityChecker.isCdpFreeIpaHeathAgentAvailable(any())).thenReturn(false);
Mockito.when(mockIpaClient.getHostname()).thenReturn(HOST);
Mockito.when(freeIpaClientFactory.getFreeIpaClientForStackForLegacyHealthCheck(any(), any())).thenReturn(mockIpaClient);
Mockito.when(mockIpaClient.serverConnCheck(anyString(), anyString())).thenThrow(ipaClientException);
InstanceMetaData instanceMetaData = getInstance();
Stack stack = getStack(Set.of(instanceMetaData));
Assert.assertThrows(FreeIpaClientException.class, () -> underTest.getInstanceHealthDetails(stack, instanceMetaData));
}
use of com.sequenceiq.freeipa.entity.InstanceMetaData in project cloudbreak by hortonworks.
the class FreeIpaInstanceHealthDetailsServiceTest method testCheckLegacyFreeIpaHealthThrowsWhenFqdnIsMissing.
@Test
public void testCheckLegacyFreeIpaHealthThrowsWhenFqdnIsMissing() {
Mockito.when(healthCheckAvailabilityChecker.isCdpFreeIpaHeathAgentAvailable(any())).thenReturn(false);
InstanceMetaData instanceMetaData = getInstance();
instanceMetaData.setDiscoveryFQDN(null);
Stack stack = getStack(Set.of(instanceMetaData));
Assert.assertThrows(FreeIpaClientException.class, () -> underTest.checkFreeIpaHealth(stack, instanceMetaData));
}
use of com.sequenceiq.freeipa.entity.InstanceMetaData in project cloudbreak by hortonworks.
the class FreeIpaScalingServiceTest method testUpscaleIfValidationPassesAndOperationRunningThenSucceed.
@Test
public void testUpscaleIfValidationPassesAndOperationRunningThenSucceed() {
Stack stack = mock(Stack.class);
Set<InstanceMetaData> allInstances = createValidImSet();
Operation operation = createOperation(true);
when(stack.getAccountId()).thenReturn(ACCOUNT_ID);
when(stackService.getByEnvironmentCrnAndAccountIdWithListsAndMdcContext(ENV_CRN, ACCOUNT_ID)).thenReturn(stack);
when(operationService.startOperation(ACCOUNT_ID, OperationType.UPSCALE, List.of(ENV_CRN), List.of())).thenReturn(operation);
when(stack.getNotDeletedInstanceMetaDataSet()).thenReturn(allInstances);
FlowIdentifier flowIdentifier = new FlowIdentifier(FlowType.FLOW, POLLABLE_ID);
when(flowManager.notify(anyString(), any())).thenReturn(flowIdentifier);
UpscaleRequest request = createUpscaleRequest();
UpscaleResponse response = underTest.upscale(ACCOUNT_ID, request);
assertEquals(response.getOperationId(), OPERATION_ID);
assertEquals(response.getOriginalAvailabilityType(), AvailabilityType.TWO_NODE_BASED);
assertEquals(response.getTargetAvailabilityType(), AvailabilityType.HA);
assertEquals(response.getFlowIdentifier(), flowIdentifier);
}
Aggregations