You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by de...@apache.org on 2016/02/19 16:33:40 UTC
[30/35] jclouds git commit: JCLOUDS-947: Properly configure live
tests in ProfitBricks
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiLiveTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiLiveTest.java
index e7c2eda..12670cd 100644
--- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiLiveTest.java
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiLiveTest.java
@@ -16,45 +16,46 @@
*/
package org.jclouds.profitbricks.features;
-import com.google.common.collect.Iterables;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.List;
+
+import com.google.common.collect.Iterables;
+
import org.jclouds.profitbricks.BaseProfitBricksLiveTest;
+import org.jclouds.profitbricks.domain.DataCenter;
import org.jclouds.profitbricks.domain.IpBlock;
-import org.jclouds.profitbricks.domain.Location;
import org.jclouds.profitbricks.domain.Nic;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-@Test(groups = "live", testName = "IpBlockApiLiveTest", singleThreaded = true)
+@Test(groups = "live", testName = "IpBlockApiLiveTest")
public class IpBlockApiLiveTest extends BaseProfitBricksLiveTest {
- private String nicid;
- private IpBlock newIpBlock;
-
- @Override
- public void initialize() {
- super.initialize();
-
- List<Nic> nics = api.nicApi().getAllNics();
+ private DataCenter dataCenter;
+ private Nic nic;
- assertFalse(nics.isEmpty(), "At least one NIC is requred to test IpBlocks");
-
- Nic nic = Iterables.getFirst(nics, null);
+ private IpBlock newIpBlock;
- nicid = nic.id();
+ @BeforeClass
+ public void setupTest() {
+ dataCenter = findOrCreateDataCenter("ipBlockApiLiveTest" + System.currentTimeMillis());
+ nic = findOrCreateNic(dataCenter);
}
@Test
public void testReservePublicIpBlock() {
- newIpBlock = api.ipBlockApi().reservePublicIpBlock("2", Location.US_LAS.getId());
+ assertDataCenterAvailable(dataCenter);
+ newIpBlock = api.ipBlockApi().reservePublicIpBlock(1, testLocation);
assertNotNull(newIpBlock);
- assertNotNull(newIpBlock.ips());
assertFalse(newIpBlock.ips().isEmpty());
}
- @Test
+ @Test(dependsOnMethods = "testReservePublicIpBlock")
public void testGetAllIpBlocks() {
List<IpBlock> ipBlocks = api.ipBlockApi().getAllIpBlock();
@@ -71,22 +72,40 @@ public class IpBlockApiLiveTest extends BaseProfitBricksLiveTest {
@Test(dependsOnMethods = "testReservePublicIpBlock")
public void testAddPublicIpToNic() {
- String requestId = api.ipBlockApi().addPublicIpToNic(newIpBlock.ips().get(0), nicid);
+ assertDataCenterAvailable(dataCenter);
+ String ipToAdd = Iterables.getFirst(newIpBlock.ips(), null);
+ String requestId = api.ipBlockApi().addPublicIpToNic(
+ ipToAdd, nic.id());
assertNotNull(requestId);
+ assertDataCenterAvailable(dataCenter);
+ List<String> ips = api.nicApi().getNic(nic.id()).ips();
+ assertTrue(ips.contains(ipToAdd), "NIC didn't contain added public ip");
}
@Test(dependsOnMethods = "testAddPublicIpToNic")
public void testRemovePublicIpFromNic() {
- String requestId = api.ipBlockApi().removePublicIpFromNic(newIpBlock.ips().get(0), nicid);
+ assertDataCenterAvailable(dataCenter);
+ String ipToRemove = Iterables.getFirst(newIpBlock.ips(), null);
+ String requestId = api.ipBlockApi().removePublicIpFromNic(
+ ipToRemove, nic.id());
assertNotNull(requestId);
+ assertDataCenterAvailable(dataCenter);
+ List<String> ips = api.nicApi().getNic(nic.id()).ips();
+ assertFalse(ips.contains(ipToRemove), "NIC still contains removed public ip");
}
@Test(dependsOnMethods = "testRemovePublicIpFromNic")
public void testReleasePublicIpBlock() {
+ assertDataCenterAvailable(dataCenter);
String requestId = api.ipBlockApi().releasePublicIpBlock(newIpBlock.id());
assertNotNull(requestId);
}
+
+ @AfterClass(alwaysRun = true)
+ public void cleanUp() {
+ destroyDataCenter(dataCenter);
+ }
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiMockTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiMockTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiMockTest.java
index e948e76..234f163 100644
--- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiMockTest.java
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/IpBlockApiMockTest.java
@@ -119,12 +119,12 @@ public class IpBlockApiMockTest extends BaseProfitBricksMockTest {
ProfitBricksApi pbApi = api(server.getUrl(rootUrl));
IpBlockApi api = pbApi.ipBlockApi();
- String blockSize = "2";
+ int blockSize = 2;
Location location = Location.US_LAS;
String content = "<ws:reservePublicIpBlock><request><blockSize>" + blockSize + "</blockSize><location>" + location.getId() + "</location></request></ws:reservePublicIpBlock>";
try {
- IpBlock ipBlock = api.reservePublicIpBlock(blockSize, location.getId());
+ IpBlock ipBlock = api.reservePublicIpBlock(blockSize, location);
assertRequestHasCommonProperties(server.takeRequest(), content);
assertNotNull(ipBlock);
} finally {
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiLiveTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiLiveTest.java
index e293e1c..0780f78 100644
--- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiLiveTest.java
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiLiveTest.java
@@ -16,61 +16,58 @@
*/
package org.jclouds.profitbricks.features;
+import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
import java.util.List;
+import java.util.Objects;
+import com.google.common.base.Optional;
+import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
-import org.assertj.core.util.Lists;
import org.jclouds.profitbricks.BaseProfitBricksLiveTest;
import org.jclouds.profitbricks.domain.DataCenter;
import org.jclouds.profitbricks.domain.LoadBalancer;
import org.jclouds.profitbricks.domain.LoadBalancer.Algorithm;
import org.jclouds.profitbricks.domain.Server;
-import org.testng.Assert;
import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@Test(groups = "unit", testName = "LoadBalancerApiLiveTest")
public class LoadBalancerApiLiveTest extends BaseProfitBricksLiveTest {
- private String dataCenterId;
- private String loadBalancerId;
- private String serverId;
-
- @Override
- protected void initialize() {
- super.initialize();
- List<DataCenter> dataCenters = api.dataCenterApi().getAllDataCenters();
- assertFalse(dataCenters.isEmpty(), "At least 1 datacenter has to be available for loadbalancer testing.");
-
- dataCenterId = Iterables.getFirst(dataCenters, null).id();
+ private DataCenter dataCenter;
+ private Server server;
- List<Server> servers = api.serverApi().getAllServers();
- assertFalse(servers.isEmpty(), "At least 1 server has to be available for loadbalancer testing.");
+ private String loadBalancerId;
- serverId = Iterables.getFirst(servers, null).id();
+ @BeforeClass
+ public void setupTest() {
+ dataCenter = findOrCreateDataCenter("loadBalancerApiLiveTest" + System.currentTimeMillis());
+ server = findOrCreateServer(dataCenter);
}
@Test
public void testCreateLoadBalancer() {
- List<String> serverIds = com.google.common.collect.Lists.newArrayList();
- serverIds.add("server-ids");
-
- LoadBalancer.Request.CreatePayload payload = LoadBalancer.Request.creatingBuilder()
- .dataCenterId(dataCenterId)
+ assertDataCenterAvailable(dataCenter);
+ String createdId = api.loadBalancerApi().createLoadBalancer(
+ LoadBalancer.Request.creatingBuilder()
+ .dataCenterId(dataCenter.id())
.name("testName")
.algorithm(Algorithm.ROUND_ROBIN)
- .ip("0.0.0.1")
+ .ip("192.168.0.200")
.lanId(1)
- .serverIds(serverIds)
- .build();
-
- String requestId = api.loadBalancerApi().createLoadBalancer(payload);
+ .build()
+ );
- assertNotNull(requestId);
+ assertNotNull(createdId);
+ assertDataCenterAvailable(dataCenter);
+ this.loadBalancerId = createdId;
}
@Test(dependsOnMethods = "testCreateLoadBalancer")
@@ -85,50 +82,76 @@ public class LoadBalancerApiLiveTest extends BaseProfitBricksLiveTest {
LoadBalancer loadBalancer = api.loadBalancerApi().getLoadBalancer(loadBalancerId);
assertNotNull(loadBalancer);
+ assertEquals(loadBalancer.id(), loadBalancerId);
}
- @Test(dependsOnMethods = "testCreateLoadBalancer")
+ @Test(dependsOnMethods = "testGetLoadBalancer")
public void testRegisterLoadBalancer() {
- List<String> serverIds = Lists.newArrayList();
- serverIds.add(serverId);
-
- LoadBalancer.Request.RegisterPayload payload = LoadBalancer.Request
- .createRegisteringPaylod(loadBalancerId, serverIds);
-
- LoadBalancer loadBalancer = api.loadBalancerApi().registerLoadBalancer(payload);
+ assertDataCenterAvailable(dataCenter);
+ LoadBalancer loadBalancer = api.loadBalancerApi().registerLoadBalancer(
+ LoadBalancer.Request
+ .createRegisteringPaylod(loadBalancerId, ImmutableList.of(server.id()))
+ );
assertNotNull(loadBalancer);
+ assertDataCenterAvailable(dataCenter);
+ Optional<Server> balancedServer = Iterables.tryFind(loadBalancer.balancedServers(), new Predicate<Server>() {
+
+ @Override
+ public boolean apply(Server t) {
+ return Objects.equals(t.id(), server.id());
+ }
+ });
+ assertTrue(balancedServer.isPresent(), "Server input wasn't registered to loadbalancer");
}
@Test(dependsOnMethods = "testRegisterLoadBalancer")
public void testDeregisterLoadBalancer() {
- List<String> serverIds = Lists.newArrayList();
- serverIds.add(serverId);
-
- LoadBalancer.Request.DeregisterPayload payload = LoadBalancer.Request
- .createDeregisteringPayload(loadBalancerId, serverIds);
-
- LoadBalancer loadBalancer = api.loadBalancerApi().deregisterLoadBalancer(payload);
+ assertDataCenterAvailable(dataCenter);
+ String requestId = api.loadBalancerApi().deregisterLoadBalancer(
+ LoadBalancer.Request
+ .createDeregisteringPayload(loadBalancerId, ImmutableList.of(server.id()))
+ );
- assertNotNull(loadBalancer);
+ assertNotNull(requestId);
+ assertDataCenterAvailable(dataCenter);
+ LoadBalancer loadBalancer = api.loadBalancerApi().getLoadBalancer(loadBalancerId);
+ Optional<Server> balancedServer = Iterables.tryFind(loadBalancer.balancedServers(), new Predicate<Server>() {
+
+ @Override
+ public boolean apply(Server t) {
+ return Objects.equals(t.id(), loadBalancerId);
+ }
+ });
+ assertFalse(balancedServer.isPresent(), "Server input wasn't deregistered from loadbalancer");
}
- @Test(dependsOnMethods = "testCreateLoadBalancer")
+ @Test(dependsOnMethods = "testDeregisterLoadBalancer")
public void testUpdateLoadBalancer() {
- LoadBalancer.Request.UpdatePayload payload = LoadBalancer.Request.updatingBuilder()
+ assertDataCenterAvailable(dataCenter);
+ String newName = "whatever";
+ String requestId = api.loadBalancerApi().updateLoadBalancer(
+ LoadBalancer.Request.updatingBuilder()
.id(loadBalancerId)
- .name("whatever")
- .build();
-
- LoadBalancer loadBalancer = api.loadBalancerApi().updateLoadBalancer(payload);
+ .name(newName)
+ .build()
+ );
- assertNotNull(loadBalancer);
+ assertNotNull(requestId);
+ assertDataCenterAvailable(dataCenter);
+ LoadBalancer loadBalancer = api.loadBalancerApi().getLoadBalancer(loadBalancerId);
+ assertEquals(loadBalancer.name(), newName);
}
- @AfterClass(alwaysRun = true)
+ @Test(dependsOnMethods = "testUpdateLoadBalancer")
public void testDeleteLoadBalancer() {
+ assertDataCenterAvailable(dataCenter);
boolean result = api.loadBalancerApi().deleteLoadBalancer(loadBalancerId);
+ assertTrue(result, "Test load balancer wasn't deleted");
+ }
- Assert.assertTrue(result);
+ @AfterClass(alwaysRun = true)
+ public void cleanUp() {
+ destroyDataCenter(dataCenter);
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiMockTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiMockTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiMockTest.java
index c4f26aa..e4e8fd7 100644
--- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiMockTest.java
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/LoadBalancerApiMockTest.java
@@ -23,9 +23,11 @@ import static org.testng.AssertJUnit.assertTrue;
import java.util.List;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.squareup.okhttp.mockwebserver.MockResponse;
import com.squareup.okhttp.mockwebserver.MockWebServer;
+
import org.jclouds.profitbricks.ProfitBricksApi;
import org.jclouds.profitbricks.domain.LoadBalancer;
import org.jclouds.profitbricks.domain.LoadBalancer.Algorithm;
@@ -142,7 +144,7 @@ public class LoadBalancerApiMockTest extends BaseProfitBricksMockTest {
try {
List<String> serverIds = Lists.newArrayList();
serverIds.add("server-ids");
- String requestId = api.createLoadBalancer(LoadBalancer.Request.creatingBuilder()
+ String loadBalancerId = api.createLoadBalancer(LoadBalancer.Request.creatingBuilder()
.dataCenterId("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeee")
.name("load-balancer-name")
.algorithm(Algorithm.ROUND_ROBIN)
@@ -152,7 +154,7 @@ public class LoadBalancerApiMockTest extends BaseProfitBricksMockTest {
.build());
assertRequestHasCommonProperties(server.takeRequest(), content);
-
+ assertEquals(loadBalancerId, "1234-1234-1234-1234");
} finally {
pbApi.close();
server.shutdown();
@@ -162,7 +164,7 @@ public class LoadBalancerApiMockTest extends BaseProfitBricksMockTest {
@Test
public void testUpdateLoadBalancer() throws Exception {
MockWebServer server = mockWebServer();
- server.enqueue(new MockResponse().setBody(payloadFromResource("/loadbalancer/loadbalancer-create.xml")));
+ server.enqueue(new MockResponse().setBody(payloadFromResource("/loadbalancer/loadbalancer-update.xml")));
ProfitBricksApi pbApi = api(server.getUrl(rootUrl));
LoadBalancerApi api = pbApi.loadBalancerApi();
@@ -187,10 +189,10 @@ public class LoadBalancerApiMockTest extends BaseProfitBricksMockTest {
.ip("192.168.0.1")
.build();
- LoadBalancer loadBalancer = api.updateLoadBalancer(toUpdate);
+ String requestId = api.updateLoadBalancer(toUpdate);
assertRequestHasCommonProperties(server.takeRequest(), content);
- assertNotNull(loadBalancer);
+ assertEquals(requestId, "request-id");
} finally {
pbApi.close();
server.shutdown();
@@ -207,11 +209,9 @@ public class LoadBalancerApiMockTest extends BaseProfitBricksMockTest {
LoadBalancerApi api = pbApi.loadBalancerApi();
String content = "<ws:registerServersOnLoadBalancer>"
- + "<request>"
+ "<loadBalancerId>1234</loadBalancerId>"
+ "<serverIds>1</serverIds>"
+ "<serverIds>2</serverIds>"
- + "</request>"
+ "</ws:registerServersOnLoadBalancer>";
try {
@@ -225,6 +225,7 @@ public class LoadBalancerApiMockTest extends BaseProfitBricksMockTest {
assertRequestHasCommonProperties(server.takeRequest(), content);
assertNotNull(loadBalancer);
+ assertEquals(loadBalancer.id(), "load-balancer-id");
} finally {
pbApi.close();
server.shutdown();
@@ -234,31 +235,25 @@ public class LoadBalancerApiMockTest extends BaseProfitBricksMockTest {
@Test
public void testDeregisterLoadBalancer() throws Exception {
MockWebServer server = mockWebServer();
- server.enqueue(new MockResponse().setBody(payloadFromResource("/loadbalancer/loadbalancer-update.xml")));
+ server.enqueue(new MockResponse().setBody(payloadFromResource("/loadbalancer/loadbalancer-deregister.xml")));
ProfitBricksApi pbApi = api(server.getUrl(rootUrl));
LoadBalancerApi api = pbApi.loadBalancerApi();
String content = "<ws:deregisterServersOnLoadBalancer>"
- + "<request>"
+ "<serverIds>1</serverIds>"
+ "<serverIds>2</serverIds>"
+ "<loadBalancerId>load-balancer-id</loadBalancerId>"
- + "</request>"
+ "</ws:deregisterServersOnLoadBalancer>";
try {
- List<String> serverIds = Lists.newArrayList();
- serverIds.add("1");
- serverIds.add("2");
-
LoadBalancer.Request.DeregisterPayload payload = LoadBalancer.Request
- .createDeregisteringPayload("load-balancer-id", serverIds);
+ .createDeregisteringPayload("load-balancer-id", ImmutableList.of("1", "2"));
- LoadBalancer loadBalancer = api.deregisterLoadBalancer(payload);
+ String requestId = api.deregisterLoadBalancer(payload);
assertRequestHasCommonProperties(server.takeRequest(), content);
- assertNotNull(loadBalancer);
+ assertEquals(requestId, "request-id");
} finally {
pbApi.close();
server.shutdown();
@@ -268,7 +263,7 @@ public class LoadBalancerApiMockTest extends BaseProfitBricksMockTest {
@Test
public void testDeleteLoadBalancer() throws Exception {
MockWebServer server = mockWebServer();
- server.enqueue(new MockResponse().setBody(payloadFromResource("/loadbalancer/loadbalancer-register.xml")));
+ server.enqueue(new MockResponse().setBody(payloadFromResource("/loadbalancer/loadbalancer-delete.xml")));
ProfitBricksApi pbApi = api(server.getUrl(rootUrl));
LoadBalancerApi api = pbApi.loadBalancerApi();
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiLiveTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiLiveTest.java
index fbbef8b..5253d1f 100644
--- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiLiveTest.java
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiLiveTest.java
@@ -17,68 +17,47 @@
package org.jclouds.profitbricks.features;
import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
-import com.google.common.collect.Iterables;
-
import java.util.List;
-import java.util.concurrent.TimeUnit;
import org.jclouds.profitbricks.BaseProfitBricksLiveTest;
-import org.jclouds.profitbricks.compute.internal.ProvisioningStatusAware;
-import org.jclouds.profitbricks.compute.internal.ProvisioningStatusPollingPredicate;
+import org.jclouds.profitbricks.domain.DataCenter;
import org.jclouds.profitbricks.domain.Nic;
-import org.jclouds.profitbricks.domain.ProvisioningState;
import org.jclouds.profitbricks.domain.Server;
-import org.jclouds.util.Predicates2;
-
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
+import org.testng.annotations.BeforeClass;
-import com.google.common.base.Predicate;
-
-@Test(groups = "live", testName = "NicApiLiveTest", singleThreaded = true)
+@Test(groups = "live", testName = "NicApiLiveTest")
public class NicApiLiveTest extends BaseProfitBricksLiveTest {
- private Predicate<String> waitUntilAvailable;
+ private DataCenter dataCenter;
private Server server;
- private Nic createdNic;
- @Override
- protected void initialize() {
- super.initialize();
- List<Server> servers = api.serverApi().getAllServers();
- assertFalse(servers.isEmpty(), "Must atleast have 1 server available for NIC testing.");
+ private String createdNicId;
- this.server = Iterables.tryFind(servers, new Predicate<Server>() {
-
- @Override
- public boolean apply(Server input) {
- return input.state() == ProvisioningState.AVAILABLE;
- }
- }).orNull();
-
- this.waitUntilAvailable = Predicates2.retry(
- new ProvisioningStatusPollingPredicate(api, ProvisioningStatusAware.NIC, ProvisioningState.AVAILABLE),
- 2l * 60l, 2l, TimeUnit.SECONDS);
+ @BeforeClass
+ public void setupTest() {
+ dataCenter = findOrCreateDataCenter("nicApiLiveTest-" + System.currentTimeMillis());
+ server = findOrCreateServer(dataCenter);
}
@Test
public void testCreateNic() {
- Nic.Request.CreatePayload payload = Nic.Request.creatingBuilder()
+ assertDataCenterAvailable(dataCenter);
+ String nicId = api.nicApi().createNic(Nic.Request.creatingBuilder()
.name("name nr1")
.dhcpActive(true)
.serverId(server.id())
.lanId(1)
- .build();
+ .build());
- Nic nic = api.nicApi().createNic(payload);
- assertNotNull(nic);
+ assertNotNull(nicId);
+ assertDataCenterAvailable(dataCenter);
- waitUntilAvailable.apply(nic.id());
- this.createdNic = nic;
+ this.createdNicId = nicId;
}
@Test(dependsOnMethods = "testCreateNic")
@@ -90,47 +69,56 @@ public class NicApiLiveTest extends BaseProfitBricksLiveTest {
@Test(dependsOnMethods = "testCreateNic")
public void testGetNic() {
- Nic nic = api.nicApi().getNic(createdNic.id());
+ Nic nic = api.nicApi().getNic(createdNicId);
assertNotNull(nic);
- assertEquals(nic.id(), createdNic.id());
+ assertEquals(nic.id(), createdNicId);
}
- @Test(dependsOnMethods = "testCreateNic")
+ @Test(dependsOnMethods = "testGetNic")
public void testUpdateNic() {
- Nic.Request.UpdatePayload payload = Nic.Request.updatingBuilder()
+ assertDataCenterAvailable(dataCenter);
+ String newName = "name nr2";
+ String requestId = api.nicApi().updateNic(
+ Nic.Request.updatingBuilder()
.name("name nr2")
- .id(createdNic.id())
- .build();
-
- Nic updatedNic = api.nicApi().updateNic(payload);
- assertNotNull(updatedNic);
- waitUntilAvailable.apply(payload.id());
+ .id(createdNicId)
+ .build()
+ );
- updatedNic = api.nicApi().getNic(payload.id());
+ assertNotNull(requestId);
+ assertDataCenterAvailable(dataCenter);
- assertEquals(updatedNic.name(), payload.name());
+ Nic nic = api.nicApi().getNic(createdNicId);
+ assertEquals(nic.name(), newName);
}
@Test(dependsOnMethods = "testUpdateNic")
public void testSetInternetAccess() {
+ assertDataCenterAvailable(dataCenter);
- Nic.Request.SetInternetAccessPayload payload = Nic.Request.setInternetAccessBuilder()
- .dataCenterId(createdNic.dataCenterId())
+ String requestId = api.nicApi().setInternetAccess(Nic.Request.setInternetAccessBuilder()
+ .dataCenterId(dataCenter.id())
.lanId(1)
.internetAccess(true)
- .build();
+ .build()
+ );
+ assertDataCenterAvailable(dataCenter);
+ assertNotNull(requestId);
- Nic result = api.nicApi().setInternetAccess(payload);
- assertNotNull(result);
+ Nic nic = api.nicApi().getNic(createdNicId);
+ assertTrue(nic.internetAccess(), "Expected nic to have internet access");
}
- @AfterClass(alwaysRun = true)
+ @Test(dependsOnMethods = "testSetInternetAccess")
public void testDeleteNic() {
- if (createdNic != null) {
- boolean result = api.nicApi().deleteNic(createdNic.id());
+ assertDataCenterAvailable(dataCenter);
+ boolean result = api.nicApi().deleteNic(createdNicId);
+ assertTrue(result, "Created test NIC was not deleted.");
+ }
- assertTrue(result, "Created test NIC was not deleted.");
- }
+ @AfterClass(alwaysRun = true)
+ public void cleanUp() {
+ destroyDataCenter(dataCenter);
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiMockTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiMockTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiMockTest.java
index 2129b25..940efa7 100644
--- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiMockTest.java
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/NicApiMockTest.java
@@ -16,17 +16,20 @@
*/
package org.jclouds.profitbricks.features;
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-import java.util.List;
-import org.jclouds.profitbricks.ProfitBricksApi;
-import org.jclouds.profitbricks.domain.Nic;
-import org.jclouds.profitbricks.internal.BaseProfitBricksMockTest;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
+
+import java.util.List;
+
+import com.squareup.okhttp.mockwebserver.MockResponse;
+import com.squareup.okhttp.mockwebserver.MockWebServer;
+
+import org.jclouds.profitbricks.ProfitBricksApi;
+import org.jclouds.profitbricks.domain.Nic;
+import org.jclouds.profitbricks.internal.BaseProfitBricksMockTest;
import org.testng.annotations.Test;
@Test(groups = "unit", testName = "NicApiMockTest")
@@ -111,7 +114,7 @@ public class NicApiMockTest extends BaseProfitBricksMockTest {
+ "</ws:createNic>";
try {
- Nic nic = api.createNic(
+ String nicId = api.createNic(
Nic.Request.creatingBuilder()
.ip("192.168.0.1")
.name("nic-name")
@@ -121,7 +124,7 @@ public class NicApiMockTest extends BaseProfitBricksMockTest {
.build());
assertRequestHasCommonProperties(server.takeRequest(), content);
- assertNotNull(nic.id());
+ assertNotNull(nicId);
} finally {
pbApi.close();
@@ -147,7 +150,7 @@ public class NicApiMockTest extends BaseProfitBricksMockTest {
+ "</request>"
+ "</ws:updateNic>";
try {
- Nic nic = api.updateNic(Nic.Request.updatingBuilder()
+ String requestId = api.updateNic(Nic.Request.updatingBuilder()
.id("nic-id")
.ip("10.0.0.1")
.name("nic-name")
@@ -155,7 +158,7 @@ public class NicApiMockTest extends BaseProfitBricksMockTest {
.lanId(1)
.build());
assertRequestHasCommonProperties(server.takeRequest(), content);
- assertNotNull(nic);
+ assertEquals(requestId, "request-id");
} finally {
pbApi.close();
server.shutdown();
@@ -176,13 +179,13 @@ public class NicApiMockTest extends BaseProfitBricksMockTest {
+ "<internetAccess>true</internetAccess>"
+ "</ws:setInternetAccess>";
try {
- Nic nic = api.setInternetAccess(Nic.Request.setInternetAccessBuilder()
+ String requestId = api.setInternetAccess(Nic.Request.setInternetAccessBuilder()
.dataCenterId("datacenter-id")
.lanId(1)
.internetAccess(true)
.build());
assertRequestHasCommonProperties(server.takeRequest(), content);
- assertNotNull(nic);
+ assertEquals(requestId, "request-id");
} finally {
pbApi.close();
server.shutdown();
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/ServerApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/ServerApiLiveTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/ServerApiLiveTest.java
index 6ceffcd..be1a60c 100644
--- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/ServerApiLiveTest.java
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/ServerApiLiveTest.java
@@ -16,46 +16,35 @@
*/
package org.jclouds.profitbricks.features;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.List;
-import java.util.concurrent.TimeUnit;
+
import org.jclouds.profitbricks.BaseProfitBricksLiveTest;
-import org.jclouds.profitbricks.compute.internal.ProvisioningStatusAware;
-import org.jclouds.profitbricks.compute.internal.ProvisioningStatusPollingPredicate;
import org.jclouds.profitbricks.domain.DataCenter;
import org.jclouds.profitbricks.domain.ProvisioningState;
import org.jclouds.profitbricks.domain.Server;
-import org.jclouds.util.Predicates2;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-@Test(groups = "live", testName = "ServerApiLiveTest", singleThreaded = true)
+@Test(groups = "live", testName = "ServerApiLiveTest")
public class ServerApiLiveTest extends BaseProfitBricksLiveTest {
- private Predicate<String> waitUntilAvailable;
private DataCenter dataCenter;
private String createdServerId;
- @Override
- protected void initialize() {
- super.initialize();
- List<DataCenter> dataCenters = api.dataCenterApi().getAllDataCenters();
- assertFalse(dataCenters.isEmpty(), "Must atleast have 1 datacenter available for server testing.");
-
- this.dataCenter = Iterables.getFirst(dataCenters, null);
-
- this.waitUntilAvailable = Predicates2.retry(
- new ProvisioningStatusPollingPredicate(api, ProvisioningStatusAware.SERVER, ProvisioningState.AVAILABLE),
- 2l * 60l, 2l, TimeUnit.SECONDS);
+ @BeforeClass
+ public void setupTest() {
+ dataCenter = findOrCreateDataCenter("serverApiLiveTest-" + System.currentTimeMillis());
}
@Test
public void testCreateServer() {
+ assertDataCenterAvailable(dataCenter);
String serverId = api.serverApi().createServer(
Server.Request.creatingBuilder()
.dataCenterId(dataCenter.id())
@@ -65,6 +54,9 @@ public class ServerApiLiveTest extends BaseProfitBricksLiveTest {
.build());
assertNotNull(serverId);
+ assertDataCenterAvailable(dataCenter);
+ assertNodeRunning(serverId);
+
this.createdServerId = serverId;
}
@@ -84,15 +76,9 @@ public class ServerApiLiveTest extends BaseProfitBricksLiveTest {
assertFalse(servers.isEmpty());
}
- @Test(dependsOnMethods = "testCreateServer")
- public void testWaitUntilAvailable() {
- boolean available = waitUntilAvailable.apply(createdServerId);
-
- assertTrue(available);
- }
-
- @Test(dependsOnMethods = "testWaitUntilAvailable")
+ @Test(dependsOnMethods = "testGetServer")
public void testUpdateServer() {
+ assertDataCenterAvailable(dataCenter);
String requestId = api.serverApi().updateServer(
Server.Request.updatingBuilder()
.id(createdServerId)
@@ -102,7 +88,7 @@ public class ServerApiLiveTest extends BaseProfitBricksLiveTest {
.build());
assertNotNull(requestId);
- waitUntilAvailable.apply(createdServerId);
+ assertDataCenterAvailable(dataCenter);
Server server = api.serverApi().getServer(createdServerId);
assertEquals(server.state(), ProvisioningState.AVAILABLE);
@@ -112,11 +98,8 @@ public class ServerApiLiveTest extends BaseProfitBricksLiveTest {
public void testStopServer() {
String requestId = api.serverApi().stopServer(createdServerId);
assertNotNull(requestId);
+ assertNodeSuspended(createdServerId);
- Predicate<String> waitUntilInactive = Predicates2.retry(new ProvisioningStatusPollingPredicate(
- api, ProvisioningStatusAware.SERVER, ProvisioningState.INACTIVE), 2l * 60l, 2l, TimeUnit.SECONDS);
-
- waitUntilInactive.apply(createdServerId);
Server server = api.serverApi().getServer(createdServerId);
assertEquals(server.status(), Server.Status.SHUTOFF);
}
@@ -125,20 +108,22 @@ public class ServerApiLiveTest extends BaseProfitBricksLiveTest {
public void testStartServer() {
String requestId = api.serverApi().startServer(createdServerId);
assertNotNull(requestId);
-
- waitUntilAvailable.apply(createdServerId);
+ assertNodeRunning(createdServerId);
Server server = api.serverApi().getServer(createdServerId);
assertEquals(server.status(), Server.Status.RUNNING);
}
- @AfterClass(alwaysRun = true)
+ @Test(dependsOnMethods = "testStartServer")
public void testDeleteServer() {
- if (createdServerId != null) {
- boolean result = api.serverApi().deleteServer(createdServerId);
+ assertDataCenterAvailable(dataCenter);
+ boolean result = api.serverApi().deleteServer(createdServerId);
+ assertTrue(result, "Created test server was not deleted.");
+ }
- assertTrue(result, "Created test server was not deleted.");
- }
+ @AfterClass(alwaysRun = true)
+ public void cleanUp() {
+ destroyDataCenter(dataCenter);
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/SnapshotApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/SnapshotApiLiveTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/SnapshotApiLiveTest.java
index 500d218..10a3f38 100644
--- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/SnapshotApiLiveTest.java
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/SnapshotApiLiveTest.java
@@ -16,59 +16,78 @@
*/
package org.jclouds.profitbricks.features;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
+import java.util.List;
+
import org.jclouds.profitbricks.BaseProfitBricksLiveTest;
import org.jclouds.profitbricks.domain.OsType;
import org.jclouds.profitbricks.domain.Snapshot;
+import org.jclouds.profitbricks.domain.Storage;
import org.testng.annotations.Test;
-
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import org.jclouds.profitbricks.compute.internal.ProvisioningStatusAware;
-import org.jclouds.profitbricks.compute.internal.ProvisioningStatusPollingPredicate;
+import org.jclouds.profitbricks.domain.DataCenter;
import org.jclouds.profitbricks.domain.ProvisioningState;
-import org.jclouds.profitbricks.domain.Storage;
-import org.jclouds.util.Predicates2;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
-@Test(groups = "live", testName = "SnapshotApiLiveTest", singleThreaded = true)
-public class SnapshotApiLiveTest extends BaseProfitBricksLiveTest {
-
- protected Predicate<String> snapshotWaitingPredicate;
- private String snapshotId;
- private String storageId;
-
- @Override
- protected void initialize() {
- super.initialize();
-
- initializeWaitPredicate();
+import com.google.common.base.Predicate;
+import com.google.common.base.Supplier;
+import com.google.common.collect.FluentIterable;
- List<Storage> storages = api.storageApi().getAllStorages();
- assertFalse(storages.isEmpty(), "Must atleast have 1 storage available for snapshot testing.");
+@Test(groups = "live", testName = "SnapshotApiLiveTest")
+public class SnapshotApiLiveTest extends BaseProfitBricksLiveTest {
- storageId = Iterables.getFirst(storages, null).id();
+ private DataCenter dataCenter;
+ private Storage storage;
+
+ private String createdSnapshotId;
+
+ @BeforeClass
+ public void setupTest() {
+ dataCenter = findOrCreateDataCenter("snapshotApiLiveTest-" + System.currentTimeMillis());
+ storage = FluentIterable.from(dataCenter.storages()).firstMatch(new Predicate<Storage>() {
+
+ @Override
+ public boolean apply(Storage input) {
+ return input.state() == ProvisioningState.AVAILABLE
+ && input.size() <= 10f;
+ }
+ }).or(new Supplier<Storage>() {
+
+ @Override
+ public Storage get() {
+ StorageApi storageApi = api.storageApi();
+ String name = String.format("server-%d", dataCenter.servers().size());
+ String createdStorageId = storageApi.createStorage(
+ Storage.Request.creatingBuilder()
+ .dataCenterId(dataCenter.id())
+ .name(name)
+ .size(2f)
+ .build()
+ );
+ assertDataCenterAvailable(dataCenter);
+
+ return storageApi.getStorage(createdStorageId);
+ }
+ });
}
@Test
public void testCreateSnapshot() {
- Snapshot snapshot = api.snapshotApi().createSnapshot(Snapshot.Request.creatingBuilder()
- .storageId(storageId)
+ assertDataCenterAvailable(dataCenter);
+ Snapshot snapshot = api.snapshotApi().createSnapshot(
+ Snapshot.Request.creatingBuilder()
+ .storageId(storage.id())
.description("my description")
.name("test snapshot")
.build());
assertNotNull(snapshot);
+ assertSnapshotAvailable(snapshot.id());
- snapshotWaitingPredicate.apply(snapshot.id());
-
- snapshotId = snapshot.id();
+ createdSnapshotId = snapshot.id();
}
@Test(dependsOnMethods = "testCreateSnapshot")
@@ -81,20 +100,22 @@ public class SnapshotApiLiveTest extends BaseProfitBricksLiveTest {
@Test(dependsOnMethods = "testCreateSnapshot")
public void testGetSnapshot() {
- Snapshot snapshot = api.snapshotApi().getSnapshot(snapshotId);
+ Snapshot snapshot = api.snapshotApi().getSnapshot(createdSnapshotId);
assertNotNull(snapshot);
- assertEquals(snapshot.id(), snapshotId);
+ assertEquals(snapshot.id(), createdSnapshotId);
}
- @Test(dependsOnMethods = "testCreateSnapshot")
+ @Test(dependsOnMethods = "testGetSnapshot")
public void testUpdateSnapshot() {
-
+ assertSnapshotAvailable(createdSnapshotId);
String newName = "new name";
+ String newDescription = "new description";
- api.snapshotApi().updateSnapshot(Snapshot.Request.updatingBuilder()
- .id(snapshotId)
- .description("new description")
+ String requestId = api.snapshotApi().updateSnapshot(
+ Snapshot.Request.updatingBuilder()
+ .id(createdSnapshotId)
+ .description(newDescription)
.name(newName)
.bootable(true)
.osType(OsType.LINUX)
@@ -107,30 +128,26 @@ public class SnapshotApiLiveTest extends BaseProfitBricksLiveTest {
.isRamHotPlug(true)
.isRamHotUnPlug(true)
.build());
-
- Snapshot snapshot = api.snapshotApi().getSnapshot(snapshotId);
-
- assertNotNull(snapshot);
- assertEquals(snapshot.name(), newName);
+ assertNotNull(requestId);
}
- @Test(dependsOnMethods = "testCreateSnapshot")
+ @Test(dependsOnMethods = "testUpdateSnapshot")
public void testRollbackSnapshot() {
- String result = api.snapshotApi().rollbackSnapshot(Snapshot.Request.createRollbackPayload(snapshotId, storageId));
-
- assertNotNull(result);
+ assertSnapshotAvailable(createdSnapshotId);
+ String requestid = api.snapshotApi().rollbackSnapshot(
+ Snapshot.Request.createRollbackPayload(createdSnapshotId, storage.id()));
+ assertNotNull(requestid);
}
- @AfterClass(alwaysRun = true)
+ @Test(dependsOnMethods = "testRollbackSnapshot", alwaysRun = true)
public void testDeleteSnapshot() {
- boolean result = api.snapshotApi().deleteSnapshot(snapshotId);
-
- assertTrue(result);
+ assertSnapshotAvailable(createdSnapshotId);
+ boolean result = api.snapshotApi().deleteSnapshot(createdSnapshotId);
+ assertTrue(result, "Created snapshot wasn't deleted");
}
- private void initializeWaitPredicate() {
- this.snapshotWaitingPredicate = Predicates2.retry(
- new ProvisioningStatusPollingPredicate(api, ProvisioningStatusAware.SNAPSHOT, ProvisioningState.AVAILABLE),
- 2l * 60l, 2l, TimeUnit.SECONDS);
+ @AfterClass(alwaysRun = true)
+ public void cleanUp() {
+ destroyDataCenter(dataCenter);
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/StorageApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/StorageApiLiveTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/StorageApiLiveTest.java
index 08ffba2..cdaac80 100644
--- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/StorageApiLiveTest.java
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/features/StorageApiLiveTest.java
@@ -22,44 +22,28 @@ import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import java.util.List;
-import java.util.concurrent.TimeUnit;
import org.jclouds.profitbricks.BaseProfitBricksLiveTest;
-import org.jclouds.profitbricks.compute.internal.ProvisioningStatusAware;
-import org.jclouds.profitbricks.compute.internal.ProvisioningStatusPollingPredicate;
import org.jclouds.profitbricks.domain.DataCenter;
-import org.jclouds.profitbricks.domain.ProvisioningState;
import org.jclouds.profitbricks.domain.Server;
import org.jclouds.profitbricks.domain.Storage;
import org.jclouds.rest.InsufficientResourcesException;
-import org.jclouds.util.Predicates2;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
+import org.testng.annotations.BeforeClass;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-
-@Test(groups = "live", testName = "StorageApiLiveTest", singleThreaded = true)
+@Test(groups = "live", testName = "StorageApiLiveTest")
public class StorageApiLiveTest extends BaseProfitBricksLiveTest {
- private Predicate<String> waitUntilAvailable;
private DataCenter dataCenter;
private Server server;
- private String createdStorageId;
-
- @Override
- protected void initialize() {
- super.initialize();
- List<DataCenter> dataCenters = api.dataCenterApi().getAllDataCenters();
- assertFalse(dataCenters.isEmpty(), "Must atleast have 1 datacenter available for storage testing.");
- dataCenter = Iterables.getFirst(dataCenters, null);
- if (dataCenter != null)
- dataCenter = api.dataCenterApi().getDataCenter(dataCenter.id()); // fetch individual to load more properties
+ private String createdStorageId;
- this.waitUntilAvailable = Predicates2.retry(
- new ProvisioningStatusPollingPredicate(api, ProvisioningStatusAware.STORAGE, ProvisioningState.AVAILABLE),
- 6l * 60l, 2l, TimeUnit.SECONDS);
+ @BeforeClass
+ public void setupTest() {
+ dataCenter = findOrCreateDataCenter("storageApiLiveTest" + System.currentTimeMillis());
+ server = findOrCreateServer(dataCenter);
}
@Test(expectedExceptions = InsufficientResourcesException.class)
@@ -74,6 +58,7 @@ public class StorageApiLiveTest extends BaseProfitBricksLiveTest {
@Test
public void testCreateStorage() {
+ assertDataCenterAvailable(dataCenter);
String storageId = api.storageApi().createStorage(
Storage.Request.creatingBuilder()
.dataCenterId(dataCenter.id())
@@ -82,6 +67,8 @@ public class StorageApiLiveTest extends BaseProfitBricksLiveTest {
.build());
assertNotNull(storageId);
+ assertDataCenterAvailable(dataCenter);
+
createdStorageId = storageId;
}
@@ -102,14 +89,8 @@ public class StorageApiLiveTest extends BaseProfitBricksLiveTest {
}
@Test(dependsOnMethods = "testCreateStorage")
- public void testWaitUntilAvailable() {
- boolean available = waitUntilAvailable.apply(createdStorageId);
-
- assertTrue(available);
- }
-
- @Test(dependsOnMethods = "testWaitUntilAvailable")
public void testUpdateStorage() {
+ assertDataCenterAvailable(dataCenter);
String requestId = api.storageApi().updateStorage(
Storage.Request.updatingBuilder()
.id(createdStorageId)
@@ -118,7 +99,7 @@ public class StorageApiLiveTest extends BaseProfitBricksLiveTest {
.build());
assertNotNull(requestId);
- waitUntilAvailable.apply(createdStorageId);
+ assertDataCenterAvailable(dataCenter);
Storage storage = api.storageApi().getStorage(createdStorageId);
assertEquals(storage.size(), 5f);
@@ -127,9 +108,7 @@ public class StorageApiLiveTest extends BaseProfitBricksLiveTest {
@Test(dependsOnMethods = "testUpdateStorage")
public void testConnectStorage() {
- server = Iterables.getFirst(dataCenter.servers(), null);
- assertNotNull(server, "No server to attach to.");
-
+ assertDataCenterAvailable(dataCenter);
String requestId = api.storageApi().connectStorageToServer(
Storage.Request.connectingBuilder()
.storageId(createdStorageId)
@@ -138,7 +117,7 @@ public class StorageApiLiveTest extends BaseProfitBricksLiveTest {
);
assertNotNull(requestId);
- waitUntilAvailable.apply(createdStorageId);
+ assertDataCenterAvailable(dataCenter);
Storage storage = api.storageApi().getStorage(createdStorageId);
assertTrue(storage.serverIds().contains(server.id()));
@@ -146,22 +125,26 @@ public class StorageApiLiveTest extends BaseProfitBricksLiveTest {
@Test(dependsOnMethods = "testConnectStorage")
public void testDisconnectStorage() {
+ assertDataCenterAvailable(dataCenter);
String requestId = api.storageApi()
.disconnectStorageFromServer(createdStorageId, server.id());
assertNotNull(requestId);
- waitUntilAvailable.apply(createdStorageId);
+ assertDataCenterAvailable(dataCenter);
Storage storage = api.storageApi().getStorage(createdStorageId);
assertFalse(storage.serverIds().contains(server.id()));
}
- @AfterClass(alwaysRun = true)
+ @Test(dependsOnMethods = "testDisconnectStorage")
public void testDeleteStorage() {
- if (createdStorageId != null) {
- boolean result = api.storageApi().deleteStorage(createdStorageId);
+ assertDataCenterAvailable(dataCenter);
+ boolean result = api.storageApi().deleteStorage(createdStorageId);
+ assertTrue(result, "Created test storage was not deleted");
+ }
- assertTrue(result, "Created test storage was not delete.");
- }
+ @AfterClass(alwaysRun = true)
+ public void cleanUp() {
+ destroyDataCenter(dataCenter);
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/http/parser/loadbalancer/LoadBalancerIdOnlyResponseHandlerTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/http/parser/loadbalancer/LoadBalancerIdOnlyResponseHandlerTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/http/parser/loadbalancer/LoadBalancerIdOnlyResponseHandlerTest.java
new file mode 100644
index 0000000..9aa18ef
--- /dev/null
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/http/parser/loadbalancer/LoadBalancerIdOnlyResponseHandlerTest.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.profitbricks.http.parser.loadbalancer;
+
+import static org.testng.Assert.assertEquals;
+
+import org.jclouds.http.functions.ParseSax;
+import org.jclouds.profitbricks.http.parser.BaseResponseHandlerTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "unit", testName = "LoadBalancerIdOnlyResponseHandlerTest")
+public class LoadBalancerIdOnlyResponseHandlerTest extends BaseResponseHandlerTest<String> {
+
+ @Override
+ protected ParseSax<String> createParser() {
+ return factory.create(injector.getInstance(LoadBalancerIdOnlyResponseHandler.class));
+ }
+
+ @Test
+ public void testParseResponseFromCreateLoadBalancer() {
+ ParseSax<String> parser = createParser();
+
+ String loadBalancerId = parser.parse(payloadFromResource("/loadbalancer/loadbalancer-create.xml"));
+
+ assertEquals("1234-1234-1234-1234", loadBalancerId);
+ }
+}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/java/org/jclouds/profitbricks/http/parser/nic/NicIdOnlyResponseHandlerTest.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/http/parser/nic/NicIdOnlyResponseHandlerTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/http/parser/nic/NicIdOnlyResponseHandlerTest.java
new file mode 100644
index 0000000..23b9c4c
--- /dev/null
+++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/http/parser/nic/NicIdOnlyResponseHandlerTest.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.profitbricks.http.parser.nic;
+
+import static org.testng.Assert.assertEquals;
+
+import org.jclouds.http.functions.ParseSax;
+import org.jclouds.profitbricks.http.parser.BaseResponseHandlerTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "unit", testName = "NicIdOnlyResponseHandlerTest")
+public class NicIdOnlyResponseHandlerTest extends BaseResponseHandlerTest<String> {
+
+ @Override
+ protected ParseSax<String> createParser() {
+ return factory.create(injector.getInstance(NicIdOnlyResponseHandler.class));
+ }
+
+ @Test
+ public void testParseResponseFromCreateNic() {
+ ParseSax<String> parser = createParser();
+ String nicId = parser.parse(payloadFromResource("/nic/nic-create.xml"));
+ assertEquals("nic-id", nicId);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-create.xml
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-create.xml b/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-create.xml
index 5c1afb0..58b97c1 100644
--- a/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-create.xml
+++ b/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-create.xml
@@ -1,17 +1,13 @@
-<soapenv:Envelope
- xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
- xmlns:ws='http://ws.api.profitbricks.com/'>
- <soapenv:Header />
- <soapenv:Body>
- <ws:createLoadBalancer>
- <request>
+<?xml version="1.0" encoding="UTF-8"?>
+<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+ <S:Body>
+ <ns2:createLoadBalancerResponse xmlns:ns2="http://ws.api.profitbricks.com/">
+ <return>
+ <requestId>request-id</requestId>
<dataCenterId>aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee</dataCenterId>
- <loadBalancerName>load-balancer-name</loadBalancerName>
- <loadBalancerAlgorithm>ROUND_ROBIN</loadBalancerAlgorithm>
- <ip>192.168.0.1</ip>
- <lanId>1</lanId>
- <serverIds>server-ids</serverIds>
- </request>
- </ws:createLoadBalancer>
- </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+ <dataCenterVersion>10</dataCenterVersion>
+ <loadBalancerId>1234-1234-1234-1234</loadBalancerId>
+ </return>
+ </ns2:createLoadBalancerResponse>
+ </S:Body>
+</S:Envelope>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-deregister.xml
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-deregister.xml b/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-deregister.xml
index 86ef94c..b149be8 100644
--- a/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-deregister.xml
+++ b/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-deregister.xml
@@ -1,14 +1,12 @@
-<soapenv:Envelope
- xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
- xmlns:ws='http://ws.api.profitbricks.com/'>
- <soapenv:Header />
- <soapenv:Body>
- <ws:deregisterServersOnLoadBalancer>
- <request>
- <serverIds>1</serverIds>
- <serverIds>2</serverIds>
- <loadBalancerId>load-balancer-id</loadBalancerId>
- <request>
- </ws:deregisterServersOnLoadBalancer>
- </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+ <S:Body>
+ <ns2:deregisterServersOnLoadBalancerResponse xmlns:ns2="http://ws.api.profitbricks.com/">
+ <return>
+ <requestId>request-id</requestId>
+ <dataCenterId>datacenter-id</dataCenterId>
+ <dataCenterVersion>10</dataCenterVersion>
+ </return>
+ </ns2:deregisterServersOnLoadBalancerResponse>
+ </S:Body>
+</S:Envelope>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-register.xml
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-register.xml b/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-register.xml
index a32c65a..c338883 100644
--- a/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-register.xml
+++ b/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-register.xml
@@ -1,13 +1,19 @@
-<soapenv:Envelope
- xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
- xmlns:ws='http://ws.api.profitbricks.com/'>
- <soapenv:Header/>
- <soapenv:Body>
- <ws:registerServersOnLoadBalancer>
- <request>
- <serverIds>1234</serverIds>
- <loadBalancerId>load-balancer-id</loadBalancerId>
- </request>
- </ws:registerServersOnLoadBalancer>
- </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+ <S:Body>
+ <ns2:registerServersOnLoadBalancerResponse xmlns:ns2="http://ws.api.profitbricks.com/">
+ <return>
+ <dataCenterId>datacenter-id</dataCenterId>
+ <dataCenterVersion>4</dataCenterVersion>
+ <loadBalancerId>load-balancer-id</loadBalancerId>
+ <lanId>1</lanId>
+ <balancedServers>
+ <activate>true</activate>
+ <balancedNicId>balanced-nic-id</balancedNicId>
+ <serverId>server-id</serverId>
+ <serverName>server-name</serverName>
+ </balancedServers>
+ </return>
+ </ns2:registerServersOnLoadBalancerResponse>
+ </S:Body>
+</S:Envelope>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-update.xml
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-update.xml b/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-update.xml
index 87c1f02..0da544d 100644
--- a/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-update.xml
+++ b/providers/profitbricks/src/test/resources/loadbalancer/loadbalancer-update.xml
@@ -1,15 +1,12 @@
-<soapenv:Envelope
- xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
- xmlns:ws='http://ws.api.profitbricks.com/'>
- <soapenv:Header />
- <soapenv:Body>
- <ws:updateLoadBalancer>
- <request>
- <loadBalancerId>aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee</loadBalancerId>
- <loadBalancerName>load-balancer-name</loadBalancerName>
- <loadBalancerAlgorithm>ROUND_ROBIN</loadBalancerAlgorithm>
- <ip>192.168.0.1</ip>
- </request>
- </ws:updateLoadBalancer>
- </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+ <S:Body>
+ <ns2:updateLoadBalancerResponse xmlns:ns2="http://ws.api.profitbricks.com/">
+ <return>
+ <requestId>request-id</requestId>
+ <dataCenterId>datacenter-id</dataCenterId>
+ <dataCenterVersion>10</dataCenterVersion>
+ </return>
+ </ns2:updateLoadBalancerResponse>
+ </S:Body>
+</S:Envelope>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/resources/logback-test.xml
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/resources/logback-test.xml b/providers/profitbricks/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..902e5cd
--- /dev/null
+++ b/providers/profitbricks/src/test/resources/logback-test.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<configuration scan="false">
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>%m%n</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+ <file>target/test-data/jclouds.log</file>
+
+ <encoder>
+ <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+ </encoder>
+ </appender>
+
+ <appender name="WIREFILE" class="ch.qos.logback.core.FileAppender">
+ <file>target/test-data/jclouds-wire.log</file>
+
+ <encoder>
+ <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+ </encoder>
+ </appender>
+
+ <appender name="COMPUTEFILE" class="ch.qos.logback.core.FileAppender">
+ <file>target/test-data/jclouds-compute.log</file>
+
+ <encoder>
+ <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+ </encoder>
+ </appender>
+
+ <appender name="SSHFILE" class="ch.qos.logback.core.FileAppender">
+ <file>target/test-data/jclouds-ssh.log</file>
+
+ <encoder>
+ <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+ </encoder>
+ </appender>
+
+ <root>
+ <level value="info" />
+ </root>
+
+ <logger name="org.jclouds">
+ <level value="DEBUG" />
+ <appender-ref ref="FILE" />
+ </logger>
+
+ <logger name="jclouds.compute">
+ <level value="DEBUG" />
+ <appender-ref ref="COMPUTEFILE" />
+ </logger>
+
+ <logger name="jclouds.wire">
+ <level value="DEBUG" />
+ <appender-ref ref="WIREFILE" />
+ </logger>
+
+ <logger name="jclouds.headers">
+ <level value="DEBUG" />
+ <appender-ref ref="WIREFILE" />
+ </logger>
+
+ <logger name="jclouds.ssh">
+ <level value="DEBUG" />
+ <appender-ref ref="SSHFILE" />
+ </logger>
+
+ <logger name="net.schmizz">
+ <level value="DEBUG" />
+ <appender-ref ref="SSHFILE" />
+ </logger>
+</configuration>
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/resources/nic/nic-delete.xml
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/resources/nic/nic-delete.xml b/providers/profitbricks/src/test/resources/nic/nic-delete.xml
index 0b5cc83..281bd09 100644
--- a/providers/profitbricks/src/test/resources/nic/nic-delete.xml
+++ b/providers/profitbricks/src/test/resources/nic/nic-delete.xml
@@ -1,9 +1,12 @@
-<?xml version="1.0" ?>
-<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.api.profitbricks.com/">
- <soapenv:Header/>
- <soapenv:Body>
- <ws:deleteNic>
- <nicId>nic-id</nicId>
- </ws:deleteNic>
- </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+ <S:Body>
+ <ns2:deleteNicResponse xmlns:ns2="http://ws.api.profitbricks.com/">
+ <return>
+ <requestId>request-id</requestId>
+ <dataCenterId>datacenter-id</dataCenterId>
+ <dataCenterVersion>datacenter-version</dataCenterVersion>
+ </return>
+ </ns2:deleteNicResponse>
+ </S:Body>
+</S:Envelope>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/resources/nic/nic-internetaccess.xml
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/resources/nic/nic-internetaccess.xml b/providers/profitbricks/src/test/resources/nic/nic-internetaccess.xml
index 6594894..3468ee4 100644
--- a/providers/profitbricks/src/test/resources/nic/nic-internetaccess.xml
+++ b/providers/profitbricks/src/test/resources/nic/nic-internetaccess.xml
@@ -1,11 +1,12 @@
-<?xml version="1.0" ?>
-<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.api.profitbricks.com/">
- <soapenv:Header/>
- <soapenv:Body>
- <ws:setInternetAccess>
- <dataCenterId>datacenter-id</dataCenterId>
- <lanId>1</lanId>
- <internetAccess>internet-access</internetAccess>
- </ws:setInternetAccess>
- </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+ <S:Body>
+ <ns2:setInternetAccessResponse xmlns:ns2="http://ws.api.profitbricks.com/">
+ <return>
+ <requestId>request-id</requestId>
+ <dataCenterId>datacenter-id</dataCenterId>
+ <dataCenterVersion>8</dataCenterVersion>
+ </return>
+ </ns2:setInternetAccessResponse>
+ </S:Body>
+</S:Envelope>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds/blob/52c6c2b7/providers/profitbricks/src/test/resources/nic/nic-update.xml
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/test/resources/nic/nic-update.xml b/providers/profitbricks/src/test/resources/nic/nic-update.xml
index 451914c..70ce539 100644
--- a/providers/profitbricks/src/test/resources/nic/nic-update.xml
+++ b/providers/profitbricks/src/test/resources/nic/nic-update.xml
@@ -1,15 +1,12 @@
-<?xml version="1.0" ?>
-<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.api.profitbricks.com/">
- <soapenv:Header/>
- <soapenv:Body>
- <ws:updateNic>
- <request>
- <nicId>nic-id</nicId>
- <ip>ip</ip>
- <nicName>nic-name</nicName>
- <dhcpActive>true</dhcpActive>
- <lanId>1</lanId>
- </request>
- </ws:updateNic>
- </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+ <S:Body>
+ <ns2:updateNicResponse xmlns:ns2="http://ws.api.profitbricks.com/">
+ <return>
+ <requestId>request-id</requestId>
+ <dataCenterId>datacenter-id</dataCenterId>
+ <dataCenterVersion>2</dataCenterVersion>
+ </return>
+ </ns2:updateNicResponse>
+ </S:Body>
+</S:Envelope>
\ No newline at end of file