use of com.sequenceiq.cloudbreak.service.upgrade.sync.operationresult.CmParcelSyncOperationResult 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.CmParcelSyncOperationResult in project cloudbreak by hortonworks.
the class CmInstalledComponentFinderServiceTest method testFindParcelComponents.
@Test
void testFindParcelComponents() {
Set<Image> candidateImages = Set.of(mock(Image.class));
Set<ClouderaManagerProduct> candidateCmProduct = Set.of(new ClouderaManagerProduct());
Set<ParcelInfo> queriedParcelInfo = Set.of(new ParcelInfo("", ""));
Set<ClouderaManagerProduct> chosenClouderaManagerProducts = Set.of(new ClouderaManagerProduct());
when(stack.isDatalake()).thenReturn(true);
when(imageReaderService.getParcels(candidateImages, true)).thenReturn(candidateCmProduct);
when(cmInfoRetriever.queryActiveParcels(eq(stack))).thenReturn(queriedParcelInfo);
when(cmProductChooserService.chooseParcelProduct(queriedParcelInfo, candidateCmProduct)).thenReturn(chosenClouderaManagerProducts);
CmParcelSyncOperationResult cmParcelSyncOperationResult = underTest.findParcelComponents(stack, candidateImages);
assertThat(cmParcelSyncOperationResult.getActiveParcels(), hasSize(1));
verify(imageReaderService).getParcels(candidateImages, true);
verify(cmInfoRetriever).queryActiveParcels(stack);
verify(cmProductChooserService).chooseParcelProduct(queriedParcelInfo, candidateCmProduct);
}
use of com.sequenceiq.cloudbreak.service.upgrade.sync.operationresult.CmParcelSyncOperationResult 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.CmParcelSyncOperationResult 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.CmParcelSyncOperationResult 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