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
