public T prices(ProductItemPrice... in) { return prices(ImmutableSet.copyOf(in)); }
public T virtualGuests(VirtualGuest... in) { return virtualGuests(ImmutableSet.copyOf(in)); }
/** * @see ProductOrder#getPrices() */ public T prices(Iterable<ProductItemPrice> prices) { this.prices = ImmutableSet.copyOf(checkNotNull(prices, "prices")); return self(); }
TEST_HOSTNAME_PREFIX + new Random().nextInt()).build(); ProductOrder order = ProductOrder.builder().packageId(pkgId).quantity(1).useHourlyPricing(true).prices( prices.build()).virtualGuests(guest).build();
@Override @Consumes(MediaType.APPLICATION_JSON) public ProductOrder expected() { Set<ProductItemPrice> prices = ImmutableSet.<ProductItemPrice>builder() .add(ProductItemPrice.builder().id(1962).itemId(1045).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(1644).itemId(861).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(905).itemId(503).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(274).itemId(188).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(1800).itemId(439).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(21).itemId(15).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(1639).itemId(865).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(1693).itemId(884).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(55).itemId(49).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(57).itemId(51).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(58).itemId(52).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(420).itemId(309).recurringFee(0F).hourlyRecurringFee(0F).build()) .add(ProductItemPrice.builder().id(418).itemId(307).recurringFee(0F).hourlyRecurringFee(0F).build()) .build(); ProductOrder order = ProductOrder.builder() .quantity(0) .packageId(46) .useHourlyPricing(true) .prices(prices) .build(); return order; }
@Override public NodeAndInitialCredentials<VirtualGuest> createNodeWithGroupEncodedIntoName(String group, String name, Template template) { checkNotNull(template, "template was null"); checkNotNull(template.getOptions(), "template options was null"); checkArgument(template.getOptions().getClass().isAssignableFrom(SoftLayerTemplateOptions.class), "options class %s should have been assignable from SoftLayerTemplateOptions", template.getOptions() .getClass()); String domainName = template.getOptions().as(SoftLayerTemplateOptions.class).getDomainName(); VirtualGuest newGuest = VirtualGuest.builder().domain(domainName).hostname(name).build(); ProductOrder order = ProductOrder.builder().packageId(productPackageSupplier.get().getId()) .location(template.getLocation().getId()).quantity(1).useHourlyPricing(true).prices(getPrices(template)) .virtualGuests(newGuest).build(); logger.debug(">> ordering new virtualGuest domain(%s) hostname(%s)", domainName, name); ProductOrderReceipt productOrderReceipt = client.getVirtualGuestClient().orderVirtualGuest(order); VirtualGuest result = get(productOrderReceipt.getOrderDetails().getVirtualGuests(), 0); logger.trace("<< virtualGuest(%s)", result.getId()); logger.debug(">> awaiting login details for virtualGuest(%s)", result.getId()); boolean orderInSystem = loginDetailsTester.apply(result); logger.trace("<< virtualGuest(%s) complete(%s)", result.getId(), orderInSystem); checkState(orderInSystem, "order for guest %s doesn't have login details within %sms", result, Long.toString(guestLoginDelay)); result = client.getVirtualGuestClient().getVirtualGuest(result.getId()); Password pw = get(result.getOperatingSystem().getPasswords(), 0); return new NodeAndInitialCredentials<VirtualGuest>(result, result.getId() + "", LoginCredentials.builder().user(pw.getUsername()).password( pw.getPassword()).build()); }
@Override public NodeAndInitialCredentials<VirtualGuest> createNodeWithGroupEncodedIntoName(String group, String name, Template template) { checkNotNull(template, "template was null"); checkNotNull(template.getOptions(), "template options was null"); checkArgument(template.getOptions().getClass().isAssignableFrom(SoftLayerTemplateOptions.class), "options class %s should have been assignable from SoftLayerTemplateOptions", template.getOptions() .getClass()); String domainName = template.getOptions().as(SoftLayerTemplateOptions.class).getDomainName(); VirtualGuest newGuest = VirtualGuest.builder().domain(domainName).hostname(name).build(); ProductOrder order = ProductOrder.builder().packageId(productPackageSupplier.get().getId()) .location(template.getLocation().getId()).quantity(1).useHourlyPricing(true).prices(getPrices(template)) .virtualGuests(newGuest).build(); logger.debug(">> ordering new virtualGuest domain(%s) hostname(%s)", domainName, name); ProductOrderReceipt productOrderReceipt = client.getVirtualGuestClient().orderVirtualGuest(order); VirtualGuest result = get(productOrderReceipt.getOrderDetails().getVirtualGuests(), 0); logger.trace("<< virtualGuest(%s)", result.getId()); logger.debug(">> awaiting login details for virtualGuest(%s)", result.getId()); boolean orderInSystem = loginDetailsTester.apply(result); logger.trace("<< virtualGuest(%s) complete(%s)", result.getId(), orderInSystem); checkState(orderInSystem, "order for guest %s doesn't have login details within %sms", result, Long.toString(guestLoginDelay)); result = client.getVirtualGuestClient().getVirtualGuest(result.getId()); Password pw = get(result.getOperatingSystem().getPasswords(), 0); return new NodeAndInitialCredentials<VirtualGuest>(result, result.getId() + "", LoginCredentials.builder().user(pw.getUsername()).password( pw.getPassword()).build()); }
@Test public void testCorrect() { ProductItemPrice price1 = ProductItemPrice.builder().id(100).build(); ProductItemPrice price2 = ProductItemPrice.builder().id(101).build(); VirtualGuest guest = VirtualGuest.builder().hostname("myhost") .domain("mydomain") .build(); ProductOrder order = ProductOrder.builder() .packageId(123) .location("loc456") .quantity(99) .useHourlyPricing(true) .prices(ImmutableSet.of(price1,price2)) .virtualGuests(guest) .build(); String expected = String.format(FORMAT.replaceAll("'","\""), 123,"loc456",100,101,"myhost","mydomain",99,true); HttpRequest req = binder.bindToRequest(request, order); assertEquals(req.getPayload().getRawContent(), expected); } }
public T virtualGuests(VirtualGuest... in) { return virtualGuests(ImmutableSet.copyOf(in)); }
public T prices(ProductItemPrice... in) { return prices(ImmutableSet.copyOf(in)); }
/** * @see ProductOrder#getPackageId() */ public T packageId(int packageId) { this.packageId = packageId; return self(); }
/** * @see ProductOrder#getUseHourlyPricing() */ public T useHourlyPricing(boolean useHourlyPricing) { this.useHourlyPricing = useHourlyPricing; return self(); }
/** * @see ProductOrder#getLocation() */ public T location(String location) { this.location = location; return self(); }
/** * @see ProductOrder#getVirtualGuests() */ public T virtualGuests(Set<VirtualGuest> virtualGuests) { this.virtualGuests = ImmutableSet.copyOf(checkNotNull(virtualGuests, "virtualGuests")); return self(); }
/** * @see ProductOrder#getQuantity() */ public T quantity(int quantity) { this.quantity = quantity; return self(); }
/** * @see ProductOrder#getLocation() */ public T location(String location) { this.location = location; return self(); }
/** * @see ProductOrder#getUseHourlyPricing() */ public T useHourlyPricing(boolean useHourlyPricing) { this.useHourlyPricing = useHourlyPricing; return self(); }
/** * @see ProductOrder#getPackageId() */ public T packageId(int packageId) { this.packageId = packageId; return self(); }
/** * @see ProductOrder#getVirtualGuests() */ public T virtualGuests(Set<VirtualGuest> virtualGuests) { this.virtualGuests = ImmutableSet.copyOf(checkNotNull(virtualGuests, "virtualGuests")); return self(); }
/** * @see ProductOrder#getPrices() */ public T prices(Iterable<ProductItemPrice> prices) { this.prices = ImmutableSet.copyOf(checkNotNull(prices, "prices")); return self(); }