mirror of https://github.com/apache/jclouds.git
Merge branch 'master' of github.com:jclouds/jclouds
This commit is contained in:
commit
ba8b26d90e
|
@ -126,7 +126,9 @@ public class ElasticStackComputeServiceAdapter implements
|
|||
Server toCreate = small(name, drive.getUuid(), defaultVncPassword).mem(template.getHardware().getRam()).cpu(
|
||||
(int) (template.getHardware().getProcessors().get(0).getSpeed())).build();
|
||||
|
||||
ServerInfo from = client.createAndStartServer(toCreate);
|
||||
ServerInfo from = client.createServer(toCreate);
|
||||
client.startServer(from.getUuid());
|
||||
from = client.getServerInfo(from.getUuid());
|
||||
// store the credentials so that later functions can use them
|
||||
credentialStore.put("node#"+ from.getUuid(), new Credentials(template.getImage().getDefaultCredentials().identity,
|
||||
from.getVnc().getPassword()));
|
||||
|
|
|
@ -18,40 +18,27 @@
|
|||
*/
|
||||
package org.jclouds.elasticstack.compute.functions;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static org.jclouds.compute.util.ComputeServiceUtils.parseGroupFromName;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import org.jclouds.collect.FindResourceInSet;
|
||||
import org.jclouds.collect.Memoized;
|
||||
import org.jclouds.compute.domain.HardwareBuilder;
|
||||
import org.jclouds.compute.domain.Image;
|
||||
import org.jclouds.compute.domain.NodeMetadata;
|
||||
import org.jclouds.compute.domain.NodeMetadataBuilder;
|
||||
import org.jclouds.compute.domain.NodeState;
|
||||
import org.jclouds.compute.domain.Processor;
|
||||
import org.jclouds.compute.domain.Volume;
|
||||
import org.jclouds.compute.domain.VolumeBuilder;
|
||||
import org.jclouds.domain.Credentials;
|
||||
import org.jclouds.domain.Location;
|
||||
import org.jclouds.elasticstack.domain.Device;
|
||||
import org.jclouds.elasticstack.domain.DriveInfo;
|
||||
import org.jclouds.elasticstack.domain.Server;
|
||||
import org.jclouds.elasticstack.domain.ServerInfo;
|
||||
import org.jclouds.elasticstack.domain.ServerStatus;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Supplier;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Iterables;
|
||||
import org.jclouds.collect.FindResourceInSet;
|
||||
import org.jclouds.collect.Memoized;
|
||||
import org.jclouds.compute.domain.*;
|
||||
import org.jclouds.domain.Credentials;
|
||||
import org.jclouds.domain.Location;
|
||||
import org.jclouds.elasticstack.domain.*;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static org.jclouds.compute.util.ComputeServiceUtils.parseGroupFromName;
|
||||
|
||||
/**
|
||||
* @author Adrian Cole
|
||||
|
@ -104,7 +91,7 @@ public class ServerInfoToNodeMetadata implements Function<ServerInfo, NodeMetada
|
|||
.processors(ImmutableList.of(new Processor(1, from.getCpu()))).ram(from.getMem())
|
||||
.volumes((List) ImmutableList.of(Iterables.transform(from.getDevices().values(), deviceToVolume))).build());
|
||||
builder.state(serverStatusToNodeState.get(from.getStatus()));
|
||||
builder.publicAddresses(ImmutableSet.<String> of(from.getVnc().getIp()));
|
||||
builder.publicAddresses(ImmutableSet.<String> of(from.getNics().get(0).getDhcp()));
|
||||
builder.privateAddresses(ImmutableSet.<String> of());
|
||||
builder.credentials(credentialStore.get("node#"+ from.getUuid()));
|
||||
return builder.build();
|
||||
|
|
|
@ -53,13 +53,10 @@ public class MapToNICs implements Function<Map<String, String>, List<NIC>> {
|
|||
String key = String.format("nic:%d", id);
|
||||
if (!from.containsKey(key + ":model"))
|
||||
break NIC;
|
||||
|
||||
NIC.Builder nicBuilder = new NIC.Builder();
|
||||
|
||||
if (apiVersion.equals("2.0")) {
|
||||
nicBuilder.dhcp(from.get(key + ":dhcp:ip"));
|
||||
} else {
|
||||
nicBuilder.dhcp(from.get(key + ":dhcp"));
|
||||
}
|
||||
final String ip = getDhcpIp(from, key);
|
||||
nicBuilder.dhcp(ip);
|
||||
nicBuilder.model(Model.fromValue(from.get(key + ":model")));
|
||||
nicBuilder.vlan(from.get(key + ":vlan"));
|
||||
nicBuilder.mac(from.get(key + ":mac"));
|
||||
|
@ -67,6 +64,17 @@ public class MapToNICs implements Function<Map<String, String>, List<NIC>> {
|
|||
nicBuilder.block(Splitter.on(' ').split(from.get(key + ":block")));
|
||||
nics.add(nicBuilder.build());
|
||||
}
|
||||
|
||||
return nics.build();
|
||||
}
|
||||
|
||||
private String getDhcpIp(Map<String, String> from, String key) {
|
||||
if (apiVersion.equals("2.0")) {
|
||||
final String ip = from.get(key + ":dhcp:ip");
|
||||
return (ip == null ? "auto" : ip);
|
||||
} else {
|
||||
final String ip = from.get(key + ":dhcp");
|
||||
return (ip == null ? "auto" : ip);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -18,32 +18,23 @@
|
|||
*/
|
||||
package org.jclouds.elasticstack.functions;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Splitter;
|
||||
import com.google.common.collect.Maps;
|
||||
import org.jclouds.elasticstack.domain.*;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import org.jclouds.elasticstack.domain.Device;
|
||||
import org.jclouds.elasticstack.domain.NIC;
|
||||
import org.jclouds.elasticstack.domain.ServerInfo;
|
||||
import org.jclouds.elasticstack.domain.ServerMetrics;
|
||||
import org.jclouds.elasticstack.domain.ServerStatus;
|
||||
import org.jclouds.elasticstack.domain.VNC;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Splitter;
|
||||
import com.google.common.collect.Maps;
|
||||
import org.jclouds.rest.annotations.ApiVersion;
|
||||
|
||||
/**
|
||||
* @author Adrian Cole
|
||||
*/
|
||||
@Singleton
|
||||
public class MapToServerInfo implements Function<Map<String, String>, ServerInfo> {
|
||||
private String apiVersion;
|
||||
private final Function<Map<String, String>, Map<String, ? extends Device>> mapToDevices;
|
||||
private final Function<Map<String, String>, ServerMetrics> mapToMetrics;
|
||||
private final Function<Map<String, String>, List<NIC>> mapToNICs;
|
||||
|
@ -51,7 +42,6 @@ public class MapToServerInfo implements Function<Map<String, String>, ServerInfo
|
|||
@Inject
|
||||
public MapToServerInfo(Function<Map<String, String>, Map<String, ? extends Device>> mapToDevices,
|
||||
Function<Map<String, String>, ServerMetrics> mapToMetrics, Function<Map<String, String>, List<NIC>> mapToNICs) {
|
||||
this.apiVersion = apiVersion;
|
||||
this.mapToDevices = mapToDevices;
|
||||
this.mapToMetrics = mapToMetrics;
|
||||
this.mapToNICs = mapToNICs;
|
||||
|
|
|
@ -104,6 +104,11 @@ public class MapToServerInfoTest {
|
|||
private static final MapToServerInfo MAP_TO_DRIVE = new MapToServerInfo(new MapToDevices(new DeviceToId()),
|
||||
new MapToServerMetrics(new MapToDriveMetrics()), new MapToNICs("1.0"));
|
||||
|
||||
|
||||
private static final MapToServerInfo MAP_TO_DRIVE_2_0 = new MapToServerInfo(new MapToDevices(new DeviceToId()),
|
||||
new MapToServerMetrics(new MapToDriveMetrics()), new MapToNICs("2.0"));
|
||||
|
||||
|
||||
public void testEmptyMapReturnsNull() {
|
||||
assertEquals(MAP_TO_DRIVE.apply(ImmutableMap.<String, String> of()), null);
|
||||
}
|
||||
|
@ -137,6 +142,7 @@ public class MapToServerInfoTest {
|
|||
.name("adriancole.test")
|
||||
.vnc(new VNC("83.222.249.221", "XXXXXXXX", false))
|
||||
.nics(ImmutableSet.of(new NIC.Builder()
|
||||
.dhcp("auto")
|
||||
.model(Model.E1000)
|
||||
.block(
|
||||
ImmutableList.of("tcp/43594", "tcp/5902", "udp/5060", "tcp/5900", "tcp/5901", "tcp/21", "tcp/22",
|
||||
|
@ -159,13 +165,12 @@ public class MapToServerInfoTest {
|
|||
|
||||
}
|
||||
|
||||
|
||||
public void testNew2() throws IOException {
|
||||
|
||||
Map<String, String> input = new ListOfKeyValuesDelimitedByBlankLinesToListOfMaps().apply(
|
||||
Strings2.toStringAndClose(MapToServerInfoTest.class.getResourceAsStream("/new_server2.txt"))).get(0);
|
||||
|
||||
assertEquals(MAP_TO_DRIVE.apply(input), NEW);
|
||||
assertEquals(MAP_TO_DRIVE_2_0.apply(input), NEW);
|
||||
|
||||
}
|
||||
}
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
<properties>
|
||||
<test.elastichosts-lon-b.endpoint>https://api.lon-b.elastichosts.com</test.elastichosts-lon-b.endpoint>
|
||||
<test.elastichosts-lon-b.apiversion>1.0</test.elastichosts-lon-b.apiversion>
|
||||
<test.elastichosts-lon-b.apiversion>2.0</test.elastichosts-lon-b.apiversion>
|
||||
<test.elastichosts-lon-b.identity>FIXME_IDENTITY</test.elastichosts-lon-b.identity>
|
||||
<test.elastichosts-lon-b.credential>FIXME_CREDENTIAL</test.elastichosts-lon-b.credential>
|
||||
</properties>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
<properties>
|
||||
<test.elastichosts-lon-p.endpoint>https://api.lon-p.elastichosts.com</test.elastichosts-lon-p.endpoint>
|
||||
<test.elastichosts-lon-p.apiversion>1.0</test.elastichosts-lon-p.apiversion>
|
||||
<test.elastichosts-lon-p.apiversion>2.0</test.elastichosts-lon-p.apiversion>
|
||||
<test.elastichosts-lon-p.identity>FIXME_IDENTITY</test.elastichosts-lon-p.identity>
|
||||
<test.elastichosts-lon-p.credential>FIXME_CREDENTIAL</test.elastichosts-lon-p.credential>
|
||||
</properties>
|
||||
|
|
|
@ -37,7 +37,7 @@ public class ElasticHostsPeer1LondonPropertiesBuilder extends ElasticStackProper
|
|||
Properties properties = super.defaultProperties();
|
||||
properties.setProperty(PROPERTY_ISO3166_CODES, "GB-LND");
|
||||
properties.setProperty(PROPERTY_ENDPOINT, "https://api.lon-p.elastichosts.com");
|
||||
properties.setProperty(PROPERTY_API_VERSION, "1.0");
|
||||
properties.setProperty(PROPERTY_API_VERSION, "2.0");
|
||||
return properties;
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
<properties>
|
||||
<test.elastichosts-sat-p.endpoint>https://api.sat-p.elastichosts.com</test.elastichosts-sat-p.endpoint>
|
||||
<test.elastichosts-sat-p.apiversion>1.0</test.elastichosts-sat-p.apiversion>
|
||||
<test.elastichosts-sat-p.apiversion>2.0</test.elastichosts-sat-p.apiversion>
|
||||
<test.elastichosts-sat-p.identity>FIXME_IDENTITY</test.elastichosts-sat-p.identity>
|
||||
<test.elastichosts-sat-p.credential>FIXME_CREDENTIAL</test.elastichosts-sat-p.credential>
|
||||
</properties>
|
||||
|
|
|
@ -37,7 +37,7 @@ public class ElasticHostsPeer1SanAntonioPropertiesBuilder extends ElasticStackPr
|
|||
Properties properties = super.defaultProperties();
|
||||
properties.setProperty(PROPERTY_ISO3166_CODES, "US-TX");
|
||||
properties.setProperty(PROPERTY_ENDPOINT, "https://api.sat-p.elastichosts.com");
|
||||
properties.setProperty(PROPERTY_API_VERSION, "1.0");
|
||||
properties.setProperty(PROPERTY_API_VERSION, "2.0");
|
||||
return properties;
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
<properties>
|
||||
<test.go2cloud-jhb1.endpoint>http://api.jhb1.go2cloud.co.za</test.go2cloud-jhb1.endpoint>
|
||||
<test.go2cloud-jhb1.apiversion>1.0</test.go2cloud-jhb1.apiversion>
|
||||
<test.go2cloud-jhb1.apiversion>2.0</test.go2cloud-jhb1.apiversion>
|
||||
<test.go2cloud-jhb1.identity>FIXME_IDENTITY</test.go2cloud-jhb1.identity>
|
||||
<test.go2cloud-jhb1.credential>FIXME_CREDENTIAL</test.go2cloud-jhb1.credential>
|
||||
</properties>
|
||||
|
|
|
@ -37,7 +37,7 @@ public class Go2CloudJohannesburg1PropertiesBuilder extends ElasticStackProperti
|
|||
Properties properties = super.defaultProperties();
|
||||
properties.setProperty(PROPERTY_ISO3166_CODES, "ZA-GP");
|
||||
properties.setProperty(PROPERTY_ENDPOINT, "http://api.jhb1.go2cloud.co.za");
|
||||
properties.setProperty(PROPERTY_API_VERSION, "1.0");
|
||||
properties.setProperty(PROPERTY_API_VERSION, "2.0");
|
||||
return properties;
|
||||
}
|
||||
|
||||
|
|
|
@ -18,12 +18,21 @@
|
|||
*/
|
||||
package org.jclouds.go2cloud.config;
|
||||
|
||||
import static org.jclouds.compute.domain.OsFamily.DEBIAN;
|
||||
|
||||
import org.jclouds.compute.domain.TemplateBuilder;
|
||||
import org.jclouds.elasticstack.compute.config.ElasticStackComputeServiceContextModule;
|
||||
|
||||
import com.google.inject.Injector;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Adrian Cole
|
||||
*/
|
||||
public class Go2CloudJohannesburg1ComputeServiceContextModule extends ElasticStackComputeServiceContextModule {
|
||||
|
||||
@Override
|
||||
protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) {
|
||||
return template.osFamily(DEBIAN).osVersionMatches("6.0").os64Bit(true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
[
|
||||
{
|
||||
"uuid": "5192adbd-046f-4a48-90f9-3db390b1efab",
|
||||
"description": "Ubuntu 11.04 Server 64 Bit",
|
||||
"osFamily": "UBUNTU",
|
||||
"osVersion": "11.04",
|
||||
"uuid": "cc54132d-4912-4106-a91a-7a27e6866c8b",
|
||||
"description": "Debian 6.0.2.1",
|
||||
"osFamily": "DEBIAN",
|
||||
"osVersion": "6.0",
|
||||
"size": "1"
|
||||
},
|
||||
{
|
||||
"uuid": "757f1074-82bd-453c-8cc1-70c4e697e5fe",
|
||||
"uuid": "46e305b6-6a49-409c-bd12-eb966cdb3664",
|
||||
"description": "Windows 2008 R2 with SP1 (x64)",
|
||||
"osFamily": "WINDOWS",
|
||||
"osVersion": "2008 R2",
|
||||
|
|
|
@ -52,8 +52,8 @@ public class Go2CloudJohannesburg1TemplateBuilderLiveTest extends BaseTemplateBu
|
|||
@Override
|
||||
public boolean apply(OsFamilyVersion64Bit input) {
|
||||
switch (input.family) {
|
||||
case UBUNTU:
|
||||
return (input.version.equals("") || input.version.equals("11.04")) && input.is64Bit;
|
||||
case DEBIAN:
|
||||
return (input.version.equals("") || input.version.equals("6.0")) && input.is64Bit;
|
||||
case WINDOWS:
|
||||
return (input.version.equals("") || input.version.equals("2008 R2")) && input.is64Bit;
|
||||
default:
|
||||
|
@ -68,8 +68,8 @@ public class Go2CloudJohannesburg1TemplateBuilderLiveTest extends BaseTemplateBu
|
|||
public void testDefaultTemplateBuilder() throws IOException {
|
||||
Template defaultTemplate = this.context.getComputeService().templateBuilder().build();
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "11.04");
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "6.0");
|
||||
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.DEBIAN);
|
||||
assertEquals(defaultTemplate.getLocation().getId(), "go2cloud-jhb1");
|
||||
assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
|
||||
}
|
||||
|
|
|
@ -102,4 +102,33 @@ public class Datacenter implements Comparable<Datacenter> {
|
|||
public Builder toBuilder() {
|
||||
return Builder.fromDatacenter(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + (int) (id ^ (id >>> 32));
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Datacenter other = (Datacenter) obj;
|
||||
if (id != other.id)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "[id=" + id + ", name=" + name + ", longName=" + longName + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -53,6 +53,7 @@ public interface DatacenterAsyncClient {
|
|||
*/
|
||||
@GET
|
||||
@Path("/SoftLayer_Location_Datacenter/Datacenters.json")
|
||||
@QueryParams(keys = "objectMask", values = "locationAddress")
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
|
||||
ListenableFuture<Set<Datacenter>> listDatacenters();
|
||||
|
|
|
@ -44,7 +44,7 @@ public class DatacenterAsyncClientTest extends BaseSoftLayerAsyncClientTest<Data
|
|||
HttpRequest httpRequest = processor.createRequest(method);
|
||||
|
||||
assertRequestLineEquals(httpRequest,
|
||||
"GET https://api.softlayer.com/rest/v3/SoftLayer_Location_Datacenter/Datacenters.json HTTP/1.1");
|
||||
"GET https://api.softlayer.com/rest/v3/SoftLayer_Location_Datacenter/Datacenters.json?objectMask=locationAddress HTTP/1.1");
|
||||
assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
|
||||
assertPayloadEquals(httpRequest, null, null, false);
|
||||
|
||||
|
@ -53,7 +53,7 @@ public class DatacenterAsyncClientTest extends BaseSoftLayerAsyncClientTest<Data
|
|||
httpRequest = Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
|
||||
|
||||
assertRequestLineEquals(httpRequest,
|
||||
"GET https://api.softlayer.com/rest/v3/SoftLayer_Location_Datacenter/Datacenters.json HTTP/1.1");
|
||||
"GET https://api.softlayer.com/rest/v3/SoftLayer_Location_Datacenter/Datacenters.json?objectMask=locationAddress HTTP/1.1");
|
||||
// for example, using basic authentication, we should get "only one"
|
||||
// header
|
||||
assertNonPayloadHeadersEqual(httpRequest,
|
||||
|
|
|
@ -27,6 +27,9 @@ import org.jclouds.softlayer.domain.Datacenter;
|
|||
import org.testng.annotations.BeforeGroups;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSet.Builder;
|
||||
|
||||
/**
|
||||
* Tests behavior of {@code DatacenterClient}
|
||||
*
|
||||
|
@ -43,14 +46,14 @@ public class DatacenterClientLiveTest extends BaseSoftLayerClientLiveTest {
|
|||
private DatacenterClient client;
|
||||
|
||||
@Test
|
||||
public void testListDatacenters() throws Exception {
|
||||
public void testListDatacenters() {
|
||||
Set<Datacenter> response = client.listDatacenters();
|
||||
assert null != response;
|
||||
assertTrue(response.size() >= 0);
|
||||
for (Datacenter vg : response) {
|
||||
Datacenter newDetails = client.getDatacenter(vg.getId());
|
||||
assertEquals(vg.getId(), newDetails.getId());
|
||||
checkDatacenter(vg);
|
||||
checkDatacenter(newDetails);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -60,4 +63,24 @@ public class DatacenterClientLiveTest extends BaseSoftLayerClientLiveTest {
|
|||
assert vg.getLongName() != null : vg;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListDatacentersContent() {
|
||||
Builder<Datacenter> expected = ImmutableSet.<Datacenter> builder();
|
||||
expected.add(Datacenter.builder().id(3).name("dal01").longName("Dallas").build());
|
||||
expected.add(Datacenter.builder().id(18171).name("sea01").longName("Seattle").build());
|
||||
expected.add(Datacenter.builder().id(168642).name("sjc01").longName("San Jose 1").build());
|
||||
expected.add(Datacenter.builder().id(2).name("dal00").longName("Corporate HQ").build());
|
||||
expected.add(Datacenter.builder().id(37473).name("wdc01").longName("Washington, DC").build());
|
||||
expected.add(Datacenter.builder().id(154770).name("dal02").longName("Dallas 2").build());
|
||||
expected.add(Datacenter.builder().id(138124).name("dal05").longName("Dallas 5").build());
|
||||
expected.add(Datacenter.builder().id(167093).name("hou01").longName("Houston 1").build());
|
||||
expected.add(Datacenter.builder().id(167094).name("lon01").longName("London 1").build());
|
||||
expected.add(Datacenter.builder().id(167092).name("dal04").longName("Dallas 4").build());
|
||||
expected.add(Datacenter.builder().id(224092).name("sng01").longName("Singapore 1").build());
|
||||
expected.add(Datacenter.builder().id(142775).name("hou02").longName("Houston 2").build());
|
||||
expected.add(Datacenter.builder().id(142776).name("dal07").longName("Dallas 7").build());
|
||||
expected.add(Datacenter.builder().id(154820).name("dal06").longName("Dallas 6").build());
|
||||
Set<Datacenter> response = client.listDatacenters();
|
||||
assertEquals(response.toString(), expected.build().toString());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue