@Test public void testHardwareWithPrivateCore() { cpuItem = cpuItem.toBuilder() .description("Private 2 x 2.0 GHz Cores") .build(); Hardware hardware = toHardware.apply(ImmutableSet.of(cpuItem, ramItem, volumeItem)); assertEquals("123,456,789", hardware.getId()); List<? extends Processor> processors = hardware.getProcessors(); assertEquals(1, processors.size()); assertEquals(2.0, processors.get(0).getCores()); assertEquals(2, hardware.getRam()); List<? extends Volume> volumes = hardware.getVolumes(); assertEquals(1, volumes.size()); assertEquals(100F, volumes.get(0).getSize()); }
public T categories(ProductItemCategory... in) { return categories(ImmutableSet.copyOf(in)); }
.hourlyRecurringFee(0) .recurringFee("0") .item(ProductItem.builder().description("25 GB (SAN)").build()) .build()) .template(VirtualGuest.builder() .hourlyRecurringFee(.02f) .recurringFee("14") .item(ProductItem.builder().description("1 GB").build()) .build()) .template(VirtualGuest.builder().maxMemory(1024).build()) .hourlyRecurringFee(0) .recurringFee("0") .item(ProductItem.builder().description("10 Mbps Public & Private Networks").build()) .build()) .template(VirtualGuest.builder().networkComponents( .hourlyRecurringFee(0) .recurringFee("0") .item(ProductItem.builder().description("CentOS 6.x - Minimal Install (64 bit)").build()) .build()) .template(VirtualGuest.builder() .hourlyRecurringFee(.022f) .recurringFee("15") .item(ProductItem.builder().description("1 x 2.0 GHz Core").build()) .build()) .template(VirtualGuest.builder().startCpus(1).build())
.hourlyRecurringFee(0) .recurringFee("0") .item(ProductItem.builder().description("CentOS - Latest").build()) .build()) .template(VirtualGuest.builder().operatingSystemReferenceCode("CENTOS_LATEST").build()) .hourlyRecurringFee(0.131f) .recurringFee("90.63") .item(ProductItem.builder().description("Windows Server 2012 Datacenter Edition (64bit)").build()) .build()) .template(VirtualGuest.builder().build())
@BeforeMethod public void setup() { toHardware = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bindProperties(binder(), new SoftLayerProviderMetadata().getDefaultProperties()); } }).getInstance(ProductItemsToHardware.class); cpuItem = ProductItem.builder() .id(1) .description("2 x 2.0 GHz Cores") .capacity(2F) .categories(ProductItemCategory.builder().categoryCode("guest_core").build()) .prices(ProductItemPrice.builder().id(123).build()) .build(); ramItem = ProductItem.builder().id(2).description("2GB ram").capacity(2F).categories( ProductItemCategory.builder().categoryCode("ram").build()).prices( ProductItemPrice.builder().id(456).build()).build(); volumeItem = ProductItem.builder().id(3).description("100 GB (SAN)").capacity(100F).prices( ProductItemPrice.builder().id(789).build()).categories( ProductItemCategory.builder().categoryCode("guest_disk0").build()).build(); }
public Builder toBuilder() { return builder().fromProductItem(this); }
public Builder toBuilder() { return builder().fromProductItem(this); }
public Builder toBuilder() { return builder().fromProductItem(this); }
public static Builder builder() { return new Builder(); }
@Test public void testHardwareWithTwoDisks() { ProductItem localVolumeItem = ProductItem.builder().id(4).description("25 GB").capacity(25F).prices( ProductItemPrice.builder().id(987).build()).categories( ProductItemCategory.builder().categoryCode("guest_disk1").build()).build(); Hardware hardware = toHardware.apply(ImmutableSet.of(cpuItem, ramItem, volumeItem,localVolumeItem)); List<? extends Volume> volumes = hardware.getVolumes(); assertEquals(2, volumes.size()); Volume volume = volumes.get(0); assertEquals(100F, volume.getSize()); assertEquals(Volume.Type.SAN, volume.getType()); assertEquals(true, volume.isBootDevice()); Volume volume1 = volumes.get(1); assertEquals(25F, volume1.getSize()); assertEquals(Volume.Type.LOCAL, volume1.getType()); assertEquals(false, volume1.isBootDevice()); } }
public static Builder builder() { return new Builder(); }
public static Builder builder() { return new Builder(); }
public T prices(ProductItemPrice... in) { return prices(ImmutableSet.copyOf(in)); }
@Test public void testConversion() { for( String description : operatingSystems ) { ProductItem item = ProductItem.builder() .description(description) .prices(ProductItemPrice.builder().id(1234).build()) .build(); Image i = new ProductItemToImage().apply(item); OperatingSystem os = i.getOperatingSystem(); assertNotNull(os); assertNotNull(os.getFamily()); assertFalse(os.getFamily().equals(OsFamily.UNRECOGNIZED)); assertNotNull(os.getVersion()); } }
public T categories(ProductItemCategory... in) { return categories(ImmutableSet.copyOf(in)); }
public T prices(ProductItemPrice... in) { return prices(ImmutableSet.copyOf(in)); }
@Test public void testItemCallCategoryExists() { ProductItemCategory category2 = ProductItemCategory.builder() .id(12) .categoryCode("new category") .build(); ProductItem item1 = item.toBuilder().categories(ImmutableSet.of(category2)).build(); ProductItemPrice price = ProductItemPrice.builder().id(1) .categories(category) .item(item1) .build(); ProductItem newItem = item().apply(price); assertEquals(newItem.getCategories(), ImmutableSet.of(category2)); }
@Override public ProductItem apply(ProductItemPrice productItemPrice) { Set<ProductItemCategory> categories = productItemPrice.getCategories(); ProductItem item = productItemPrice.getItem(); ProductItem.Builder builder = productItemPrice.getItem().toBuilder(); if (item.getCategories().size() == 0 && categories.size() != 0) { builder.categories(categories); } return builder.build(); } };
@Test public void test64BitUnknown() { ProductItem item = ProductItem.builder() .description("This only has the bit-count (64 bit)") .prices(ProductItemPrice.builder().id(1234).build()) .build(); Image i = new ProductItemToImage().apply(item); OperatingSystem os = i.getOperatingSystem(); assertNotNull(os); assertEquals(OsFamily.UNRECOGNIZED, os.getFamily()); assertNull(os.getVersion()); assertTrue(os.is64Bit()); }