Search in sources :

Example 1 with CLOUDERAMANAGER_VERSION_7_5_1

use of com.sequenceiq.cloudbreak.cmtemplate.CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_7_5_1 in project cloudbreak by hortonworks.

the class ClouderaManagerModificationServiceTest method testUpgradeClusterComponentIsNotPresent.

@Test
void testUpgradeClusterComponentIsNotPresent() throws ApiException {
    BigDecimal apiCommandId = new BigDecimal(200);
    ApiCommandList apiCommandList = new ApiCommandList();
    apiCommandList.setItems(new ArrayList<>());
    when(clouderaManagerApiFactory.getMgmtServiceResourceApi(any())).thenReturn(mgmtServiceResourceApi);
    when(mgmtServiceResourceApi.listActiveCommands("SUMMARY")).thenReturn(apiCommandList);
    when(mgmtServiceResourceApi.restartCommand()).thenReturn(new ApiCommand().id(apiCommandId));
    when(clouderaManagerPollingServiceProvider.startPollingCmServicesRestart(stack, apiClientMock, apiCommandId)).thenReturn(success);
    when(clouderaManagerPollingServiceProvider.startPollingCmHostStatus(stack, apiClientMock)).thenReturn(success);
    ClouderaManagerRepo clouderaManagerRepo = mock(ClouderaManagerRepo.class);
    when(clusterComponentProvider.getClouderaManagerRepoDetails(CLUSTER_ID)).thenReturn(clouderaManagerRepo);
    when(clouderaManagerRepo.getVersion()).thenReturn(CLOUDERAMANAGER_VERSION_7_5_1.getVersion());
    Set<ClusterComponent> clusterComponents = TestUtil.clusterComponentSet(cluster);
    Set<ClusterComponent> clusterComponentsNoCDH = clusterComponents.stream().filter(clusterComponent -> !clusterComponent.getName().equals("CDH")).collect(Collectors.toSet());
    cluster.setComponents(clusterComponentsNoCDH);
    NotFoundException exception = assertThrows(NotFoundException.class, () -> underTest.upgradeClusterRuntime(clusterComponentsNoCDH, false, Optional.empty()));
    Assertions.assertEquals("Runtime component not found!", exception.getMessage());
}
Also used : CloudbreakException(com.sequenceiq.cloudbreak.service.CloudbreakException) BeforeEach(org.junit.jupiter.api.BeforeEach) ApiBatchRequestElement(com.cloudera.api.swagger.model.ApiBatchRequestElement) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) ApiService(com.cloudera.api.swagger.model.ApiService) ApiException(com.cloudera.api.swagger.client.ApiException) ClouderaManagerProductsProvider(com.sequenceiq.cloudbreak.cluster.service.ClouderaManagerProductsProvider) Mockito.doThrow(org.mockito.Mockito.doThrow) BigDecimal(java.math.BigDecimal) MockitoAnnotations(org.mockito.MockitoAnnotations) ApiCommandList(com.cloudera.api.swagger.model.ApiCommandList) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) Map(java.util.Map) ApiHostRefList(com.cloudera.api.swagger.model.ApiHostRefList) CLOUDERAMANAGER_VERSION_7_6_0(com.sequenceiq.cloudbreak.cmtemplate.CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_7_6_0) PollingResultErrorHandler(com.sequenceiq.cloudbreak.cm.polling.PollingResultErrorHandler) Set(java.util.Set) ApiBatchResponse(com.cloudera.api.swagger.model.ApiBatchResponse) ClouderaManagerRepo(com.sequenceiq.cloudbreak.cloud.model.ClouderaManagerRepo) ApiEntityTag(com.cloudera.api.swagger.model.ApiEntityTag) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) CancellationException(com.sequenceiq.cloudbreak.cloud.scheduler.CancellationException) InstanceGroup(com.sequenceiq.cloudbreak.domain.stack.instance.InstanceGroup) Mockito.mock(org.mockito.Mockito.mock) Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) Stack(com.sequenceiq.cloudbreak.domain.stack.Stack) ApiCommand(com.cloudera.api.swagger.model.ApiCommand) Mock(org.mockito.Mock) ArgumentMatchers.anyBoolean(org.mockito.ArgumentMatchers.anyBoolean) Supplier(java.util.function.Supplier) ServicesResourceApi(com.cloudera.api.swagger.ServicesResourceApi) ClouderaManagerPollingServiceProvider(com.sequenceiq.cloudbreak.cm.polling.ClouderaManagerPollingServiceProvider) ArrayList(java.util.ArrayList) Answer(org.mockito.stubbing.Answer) ClouderaManagerApiClientProvider(com.sequenceiq.cloudbreak.cm.client.ClouderaManagerApiClientProvider) CLOUDERAMANAGER_VERSION_7_5_1(com.sequenceiq.cloudbreak.cmtemplate.CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_7_5_1) ApiServiceState(com.cloudera.api.swagger.model.ApiServiceState) ClusterComponentConfigProvider(com.sequenceiq.cloudbreak.cluster.service.ClusterComponentConfigProvider) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) LinkedHashSet(java.util.LinkedHashSet) ValueSource(org.junit.jupiter.params.provider.ValueSource) InjectMocks(org.mockito.InjectMocks) CLOUDERAMANAGER_VERSION_7_1_0(com.sequenceiq.cloudbreak.cmtemplate.CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_7_1_0) Mockito.times(org.mockito.Mockito.times) ClusterComponent(com.sequenceiq.cloudbreak.domain.stack.cluster.ClusterComponent) Mockito.never(org.mockito.Mockito.never) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) HostGroup(com.sequenceiq.cloudbreak.domain.stack.cluster.host.HostGroup) InstanceMetaData(com.sequenceiq.cloudbreak.domain.stack.instance.InstanceMetaData) HTTPMethod(com.cloudera.api.swagger.model.HTTPMethod) ParcelsResourceApi(com.cloudera.api.swagger.ParcelsResourceApi) ClouderaManagerApiFactory(com.sequenceiq.cloudbreak.cm.client.retry.ClouderaManagerApiFactory) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) Mockito.verifyNoInteractions(org.mockito.Mockito.verifyNoInteractions) ClustersResourceApi(com.cloudera.api.swagger.ClustersResourceApi) TestUtil(com.sequenceiq.cloudbreak.cm.util.TestUtil) ClouderaManagerProduct(com.sequenceiq.cloudbreak.cloud.model.ClouderaManagerProduct) CloudbreakEventService(com.sequenceiq.cloudbreak.structuredevent.event.CloudbreakEventService) Assertions.assertFalse(org.junit.jupiter.api.Assertions.assertFalse) BatchResourceApi(com.cloudera.api.swagger.BatchResourceApi) Spy(org.mockito.Spy) ClouderaManagerResourceApi(com.cloudera.api.swagger.ClouderaManagerResourceApi) HostTemplatesResourceApi(com.cloudera.api.swagger.HostTemplatesResourceApi) CLOUDERAMANAGER_VERSION_7_4_3(com.sequenceiq.cloudbreak.cmtemplate.CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_7_4_3) ParcelResourceApi(com.cloudera.api.swagger.ParcelResourceApi) NotFoundException(com.sequenceiq.cloudbreak.common.exception.NotFoundException) MethodSource(org.junit.jupiter.params.provider.MethodSource) MockitoExtension(org.mockito.junit.jupiter.MockitoExtension) ParcelOperationStatus(com.sequenceiq.cloudbreak.cluster.model.ParcelOperationStatus) HostsResourceApi(com.cloudera.api.swagger.HostsResourceApi) ExtendedPollingResult(com.sequenceiq.cloudbreak.polling.ExtendedPollingResult) HttpClientConfig(com.sequenceiq.cloudbreak.client.HttpClientConfig) Collectors(java.util.stream.Collectors) Test(org.junit.jupiter.api.Test) ApiBatchResponseElement(com.cloudera.api.swagger.model.ApiBatchResponseElement) Json(com.sequenceiq.cloudbreak.common.json.Json) List(java.util.List) ApiRestartClusterArgs(com.cloudera.api.swagger.model.ApiRestartClusterArgs) Optional(java.util.Optional) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) Cluster(com.sequenceiq.cloudbreak.domain.stack.cluster.Cluster) ApiClient(com.cloudera.api.swagger.client.ApiClient) ApiHostList(com.cloudera.api.swagger.model.ApiHostList) ClouderaManagerClientInitException(com.sequenceiq.cloudbreak.cm.client.ClouderaManagerClientInitException) ApiConfigStalenessStatus(com.cloudera.api.swagger.model.ApiConfigStalenessStatus) HashSet(java.util.HashSet) ArgumentCaptor(org.mockito.ArgumentCaptor) UPDATE_IN_PROGRESS(com.sequenceiq.cloudbreak.api.endpoint.v4.common.Status.UPDATE_IN_PROGRESS) ApiHost(com.cloudera.api.swagger.model.ApiHost) ApiBatchRequest(com.cloudera.api.swagger.model.ApiBatchRequest) InOrder(org.mockito.InOrder) ResourceEvent(com.sequenceiq.cloudbreak.event.ResourceEvent) Mockito.when(org.mockito.Mockito.when) Mockito.verify(org.mockito.Mockito.verify) Mockito(org.mockito.Mockito) Assertions(org.junit.jupiter.api.Assertions) Call(com.squareup.okhttp.Call) MgmtServiceResourceApi(com.cloudera.api.swagger.MgmtServiceResourceApi) ApiServiceList(com.cloudera.api.swagger.model.ApiServiceList) Collections(java.util.Collections) ApiCommand(com.cloudera.api.swagger.model.ApiCommand) ApiCommandList(com.cloudera.api.swagger.model.ApiCommandList) ClouderaManagerRepo(com.sequenceiq.cloudbreak.cloud.model.ClouderaManagerRepo) ClusterComponent(com.sequenceiq.cloudbreak.domain.stack.cluster.ClusterComponent) NotFoundException(com.sequenceiq.cloudbreak.common.exception.NotFoundException) BigDecimal(java.math.BigDecimal) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) Test(org.junit.jupiter.api.Test)

Aggregations

BatchResourceApi (com.cloudera.api.swagger.BatchResourceApi)1 ClouderaManagerResourceApi (com.cloudera.api.swagger.ClouderaManagerResourceApi)1 ClustersResourceApi (com.cloudera.api.swagger.ClustersResourceApi)1 HostTemplatesResourceApi (com.cloudera.api.swagger.HostTemplatesResourceApi)1 HostsResourceApi (com.cloudera.api.swagger.HostsResourceApi)1 MgmtServiceResourceApi (com.cloudera.api.swagger.MgmtServiceResourceApi)1 ParcelResourceApi (com.cloudera.api.swagger.ParcelResourceApi)1 ParcelsResourceApi (com.cloudera.api.swagger.ParcelsResourceApi)1 ServicesResourceApi (com.cloudera.api.swagger.ServicesResourceApi)1 ApiClient (com.cloudera.api.swagger.client.ApiClient)1 ApiException (com.cloudera.api.swagger.client.ApiException)1 ApiBatchRequest (com.cloudera.api.swagger.model.ApiBatchRequest)1 ApiBatchRequestElement (com.cloudera.api.swagger.model.ApiBatchRequestElement)1 ApiBatchResponse (com.cloudera.api.swagger.model.ApiBatchResponse)1 ApiBatchResponseElement (com.cloudera.api.swagger.model.ApiBatchResponseElement)1 ApiCommand (com.cloudera.api.swagger.model.ApiCommand)1 ApiCommandList (com.cloudera.api.swagger.model.ApiCommandList)1 ApiConfigStalenessStatus (com.cloudera.api.swagger.model.ApiConfigStalenessStatus)1 ApiEntityTag (com.cloudera.api.swagger.model.ApiEntityTag)1 ApiHost (com.cloudera.api.swagger.model.ApiHost)1