use of com.sequenceiq.cloudbreak.service.upgrade.sync.operationresult.CmRepoSyncOperationResult in project cloudbreak by hortonworks.
the class CmSyncerServiceTest method testSyncFromCmToDbWhenCmServerRunningThenSyncIsExecuted.
@Test
void testSyncFromCmToDbWhenCmServerRunningThenSyncIsExecuted() {
when(cmServerQueryService.isCmServerRunning(stack)).thenReturn(true);
Set<Image> candidateImages = Set.of(mock(Image.class));
CmRepoSyncOperationResult cmRepoSyncOperationResult = mock(CmRepoSyncOperationResult.class);
CmParcelSyncOperationResult cmParcelSyncOperationResult = mock(CmParcelSyncOperationResult.class);
when(stack.getId()).thenReturn(STACK_ID);
when(cmInstalledComponentFinderService.findCmRepoComponent(stack, candidateImages)).thenReturn(cmRepoSyncOperationResult);
when(cmInstalledComponentFinderService.findParcelComponents(stack, candidateImages)).thenReturn(cmParcelSyncOperationResult);
when(cmSyncOperationSummaryService.evaluate(any())).thenReturn(CmSyncOperationStatus.builder().withSuccess("myMessage").build());
CmSyncOperationSummary cmSyncOperationSummary = underTest.syncFromCmToDb(stack, candidateImages);
CmSyncOperationStatus cmSyncOperationStatus = cmSyncOperationSummary.getSyncOperationStatus();
assertTrue(cmSyncOperationStatus.hasSucceeded());
assertEquals("myMessage", cmSyncOperationStatus.getMessage());
verify(cmInstalledComponentFinderService).findCmRepoComponent(stack, candidateImages);
verify(cmInstalledComponentFinderService).findParcelComponents(stack, candidateImages);
verify(stack).getId();
verify(mixedPackageVersionService).validatePackageVersions(eq(STACK_ID), any(), eq(candidateImages));
verifyEvaluateCmSyncResults(cmRepoSyncOperationResult, cmParcelSyncOperationResult);
verifyPersistComponentsToDb(cmRepoSyncOperationResult, cmParcelSyncOperationResult);
}
use of com.sequenceiq.cloudbreak.service.upgrade.sync.operationresult.CmRepoSyncOperationResult in project cloudbreak by hortonworks.
the class CmSyncResultMergerServiceTest method testMergeNoClouderaManagerRepo.
@Test
void testMergeNoClouderaManagerRepo() {
Stack stack = new Stack();
CmRepoSyncOperationResult cmRepoSyncOperationResult = new CmRepoSyncOperationResult(null, null);
Set<ClouderaManagerProduct> clouderaManagerProducts = Set.of(new ClouderaManagerProduct());
CmParcelSyncOperationResult cmParcelSyncOperationResult = new CmParcelSyncOperationResult(Set.of(), clouderaManagerProducts);
when(componentConverter.fromClouderaManagerProductList(clouderaManagerProducts, stack)).thenReturn(Set.of(componentWithName(CM_PARCEL_COMPONENT_NAME)));
CmSyncOperationResult cmSyncOperationResult = new CmSyncOperationResult(cmRepoSyncOperationResult, cmParcelSyncOperationResult);
Set<Component> mergedComponents = underTest.merge(stack, cmSyncOperationResult);
assertThat(mergedComponents, hasSize(1));
assertThat(mergedComponents, contains(hasProperty("name", is(CM_PARCEL_COMPONENT_NAME))));
verify(componentConverter, never()).fromClouderaManagerRepo(any(), any());
verify(componentConverter).fromClouderaManagerProductList(clouderaManagerProducts, stack);
}
use of com.sequenceiq.cloudbreak.service.upgrade.sync.operationresult.CmRepoSyncOperationResult in project cloudbreak by hortonworks.
the class CmInstalledComponentFinderServiceTest method testFindCmRepoComponent.
@Test
void testFindCmRepoComponent() {
Set<Image> candidateImages = Set.of(mock(Image.class));
Set<ClouderaManagerRepo> candidateCmRepos = Set.of();
ClouderaManagerRepo chosenClouderaManagerRepo = new ClouderaManagerRepo().withVersion(CM_VERSION);
when(imageReaderService.getCmRepos(eq(candidateImages))).thenReturn(candidateCmRepos);
when(cmInfoRetriever.queryCmVersion(eq(stack))).thenReturn(Optional.of(CM_VERSION));
when(cmProductChooserService.chooseCmRepo(eq(Optional.of(CM_VERSION)), eq(candidateCmRepos))).thenReturn(Optional.of(chosenClouderaManagerRepo));
CmRepoSyncOperationResult cmRepoSyncOperationResult = underTest.findCmRepoComponent(stack, candidateImages);
assertTrue(cmRepoSyncOperationResult.getFoundClouderaManagerRepo().isPresent());
verify(imageReaderService).getCmRepos(eq(candidateImages));
verify(cmInfoRetriever).queryCmVersion(eq(stack));
verify(cmProductChooserService).chooseCmRepo(eq(Optional.of(CM_VERSION)), eq(candidateCmRepos));
}
use of com.sequenceiq.cloudbreak.service.upgrade.sync.operationresult.CmRepoSyncOperationResult in project cloudbreak by hortonworks.
the class CmSyncResultMergerServiceTest method testMergeWhenNoClouderaManagerProductFound.
@Test
void testMergeWhenNoClouderaManagerProductFound() {
Stack stack = new Stack();
ClouderaManagerRepo clouderaManagerRepo = new ClouderaManagerRepo();
CmRepoSyncOperationResult cmRepoSyncOperationResult = new CmRepoSyncOperationResult("", clouderaManagerRepo);
when(componentConverter.fromClouderaManagerRepo(clouderaManagerRepo, stack)).thenReturn(componentWithName(CM_REPO_COMPONENT_NAME));
CmParcelSyncOperationResult cmParcelSyncOperationResult = new CmParcelSyncOperationResult(Set.of(), Set.of());
CmSyncOperationResult cmSyncOperationResult = new CmSyncOperationResult(cmRepoSyncOperationResult, cmParcelSyncOperationResult);
Set<Component> mergedComponents = underTest.merge(stack, cmSyncOperationResult);
assertThat(mergedComponents, hasSize(1));
assertThat(mergedComponents, contains(hasProperty("name", is(CM_REPO_COMPONENT_NAME))));
verify(componentConverter).fromClouderaManagerRepo(clouderaManagerRepo, stack);
verify(componentConverter).fromClouderaManagerProductList(Set.of(), stack);
}
use of com.sequenceiq.cloudbreak.service.upgrade.sync.operationresult.CmRepoSyncOperationResult in project cloudbreak by hortonworks.
the class CmSyncResultMergerServiceTest method testMergeWhenNoResultsAtAll.
@Test
void testMergeWhenNoResultsAtAll() {
Stack stack = new Stack();
CmRepoSyncOperationResult cmRepoSyncOperationResult = new CmRepoSyncOperationResult(null, null);
CmParcelSyncOperationResult cmParcelSyncOperationResult = new CmParcelSyncOperationResult(Set.of(), Set.of());
CmSyncOperationResult cmSyncOperationResult = new CmSyncOperationResult(cmRepoSyncOperationResult, cmParcelSyncOperationResult);
Set<Component> mergedComponents = underTest.merge(stack, cmSyncOperationResult);
assertThat(mergedComponents, emptyCollectionOf(Component.class));
verify(componentConverter, never()).fromClouderaManagerRepo(any(), any());
verify(componentConverter).fromClouderaManagerProductList(Set.of(), stack);
}
Aggregations