use of com.sequenceiq.cloudbreak.domain.VmImage in project cloudbreak by hortonworks.
the class CustomImageProviderTest method testMergeSourceImageAndCustomImagePropertiesInCaseOfFreeipaImage.
@Test
public void testMergeSourceImageAndCustomImagePropertiesInCaseOfFreeipaImage() throws Exception {
StatedImage statedImage = getStatedImageFromCatalog(V3_FREEIPA_CATALOG_FILE, "3b6ae396-df40-4e2b-7c2b-54b15822614c");
CustomImage customImage = getCustomImage(ImageType.FREEIPA, CUSTOM_IMAGE_ID, CUSTOM_BASE_PARCEL_URL);
VmImage vmImage1 = new VmImage();
vmImage1.setRegion("europe-west1");
vmImage1.setImageReference("cloudera-freeipa-images/freeipa-cdh--2103081304.tar.gz");
customImage.setVmImage(Set.of(vmImage1));
StatedImage image = underTest.mergeSourceImageAndCustomImageProperties(statedImage, customImage, CUSTOM_IMAGE_CATALOG_URL, CUSTOM_CATALOG_NAME);
assertEquals(customImage.getCreated(), image.getImage().getCreated());
assertEquals(customImage.getDescription(), image.getImage().getDescription());
assertEquals(CUSTOM_IMAGE_ID, image.getImage().getUuid());
assertTrue(image.getImage().getRepo().isEmpty());
assertTrue(image.getImage().getPreWarmParcels().isEmpty());
assertTrue(image.getImage().getPreWarmCsd().isEmpty());
Map<String, Map<String, String>> imageSetsByProvider = image.getImage().getImageSetsByProvider();
assertTrue(imageSetsByProvider.containsKey("aws"));
assertEquals(1, imageSetsByProvider.get("aws").size());
assertTrue(imageSetsByProvider.get("aws").containsKey("europe-west1"));
assertEquals("cloudera-freeipa-images/freeipa-cdh--2103081304.tar.gz", image.getImage().getImageSetsByProvider().get("aws").get("europe-west1"));
}
use of com.sequenceiq.cloudbreak.domain.VmImage in project cloudbreak by hortonworks.
the class CustomImageCatalogServiceTest method testUpdateCustomImageWithDeletedVmImage.
@Test
public void testUpdateCustomImageWithDeletedVmImage() throws TransactionService.TransactionExecutionException {
CustomImage updatedCustomImage = aCustomImage();
updatedCustomImage.setVmImage(Collections.emptySet());
CustomImage savedCustomImage = new CustomImage();
VmImage vmImage = new VmImage();
vmImage.setRegion(REGION);
savedCustomImage.getVmImage().add(vmImage);
savedCustomImage.setName(IMAGE_NAME);
ImageCatalog imageCatalog = new ImageCatalog();
imageCatalog.getCustomImages().add(savedCustomImage);
doAnswer(invocation -> ((Supplier<CustomImage>) invocation.getArgument(0)).get()).when(transactionService).required(any(Supplier.class));
when(imageCatalogService.getImageCatalogByName(WORKSPACE_ID, IMAGE_CATALOG_NAME)).thenReturn(imageCatalog);
when(imageCatalogService.pureSave(imageCatalog)).thenReturn(imageCatalog);
CustomImage actual = victim.updateCustomImage(WORKSPACE_ID, CREATOR, IMAGE_CATALOG_NAME, updatedCustomImage);
assertEquals(1, imageCatalog.getCustomImages().size());
assertEquals(CUSTOMIZED_IMAGE_ID, actual.getCustomizedImageId());
assertEquals(BASE_PARCEL_URL, actual.getBaseParcelUrl());
assertEquals(ImageType.RUNTIME, actual.getImageType());
assertEquals(0, actual.getVmImage().size());
}
use of com.sequenceiq.cloudbreak.domain.VmImage in project cloudbreak by hortonworks.
the class CustomImageCatalogServiceTest method testUpdateCustomImageWithNullsHasNoAffect.
@Test
public void testUpdateCustomImageWithNullsHasNoAffect() throws TransactionService.TransactionExecutionException {
CustomImage updatedCustomImage = new CustomImage();
updatedCustomImage.setVmImage(null);
updatedCustomImage.setName(IMAGE_NAME);
CustomImage savedCustomImage = aCustomImage();
ImageCatalog imageCatalog = new ImageCatalog();
imageCatalog.getCustomImages().add(savedCustomImage);
doAnswer(invocation -> ((Supplier<CustomImage>) invocation.getArgument(0)).get()).when(transactionService).required(any(Supplier.class));
when(imageCatalogService.getImageCatalogByName(WORKSPACE_ID, IMAGE_CATALOG_NAME)).thenReturn(imageCatalog);
when(imageCatalogService.pureSave(imageCatalog)).thenReturn(imageCatalog);
CustomImage actual = victim.updateCustomImage(WORKSPACE_ID, CREATOR, IMAGE_CATALOG_NAME, updatedCustomImage);
assertEquals(1, imageCatalog.getCustomImages().size());
assertEquals(CUSTOMIZED_IMAGE_ID, actual.getCustomizedImageId());
assertEquals(BASE_PARCEL_URL, actual.getBaseParcelUrl());
assertEquals(ImageType.RUNTIME, actual.getImageType());
assertEquals(1, actual.getVmImage().size());
VmImage actualVmImage = actual.getVmImage().stream().findFirst().get();
assertEquals(REGION, actualVmImage.getRegion());
assertEquals(IMAGE_REFERENCE, actualVmImage.getImageReference());
}
use of com.sequenceiq.cloudbreak.domain.VmImage in project cloudbreak by hortonworks.
the class CustomImageToCustomImageCatalogV4CreateImageResponseConverterTest method getVmImage.
private VmImage getVmImage(String region, String imageReference) {
VmImage request = new VmImage();
request.setRegion(region);
request.setImageReference(imageReference);
return request;
}
use of com.sequenceiq.cloudbreak.domain.VmImage in project cloudbreak by hortonworks.
the class CustomImageToCustomImageCatalogV4GetImageResponseConverterTest method getVmImage.
private VmImage getVmImage(String region, String imageReference) {
VmImage request = new VmImage();
request.setRegion(region);
request.setImageReference(imageReference);
return request;
}
Aggregations