From 1680931776e9f00a88e09380ae7abb7542dc6461 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Mon, 5 Dec 2011 09:20:27 -0800 Subject: [PATCH] reorganized test so that execution is predicatble when run in surefire --- .../BaseCloudLoadBalancersClientLiveTest.java | 3 - .../features/LoadBalancerClientLiveTest.java | 78 +++++----- .../features/NodeClientLiveTest.java | 137 +++++++++--------- 3 files changed, 109 insertions(+), 109 deletions(-) diff --git a/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/BaseCloudLoadBalancersClientLiveTest.java b/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/BaseCloudLoadBalancersClientLiveTest.java index 0ef04756d5..a673f24bbd 100644 --- a/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/BaseCloudLoadBalancersClientLiveTest.java +++ b/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/BaseCloudLoadBalancersClientLiveTest.java @@ -19,9 +19,7 @@ package org.jclouds.cloudloadbalancers.features; import static com.google.common.base.Preconditions.checkNotNull; -import static org.testng.Assert.assertEquals; -import java.util.Arrays; import java.util.Properties; import java.util.concurrent.TimeUnit; @@ -38,7 +36,6 @@ import org.jclouds.predicates.RetryablePredicate; import org.jclouds.rest.RestContext; import org.testng.annotations.AfterGroups; import org.testng.annotations.BeforeGroups; -import org.testng.annotations.Test; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableSet; diff --git a/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/LoadBalancerClientLiveTest.java b/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/LoadBalancerClientLiveTest.java index 34a909c72b..7b925a3671 100644 --- a/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/LoadBalancerClientLiveTest.java +++ b/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/LoadBalancerClientLiveTest.java @@ -30,8 +30,6 @@ import org.jclouds.cloudloadbalancers.domain.LoadBalancerAttributes; import org.jclouds.cloudloadbalancers.domain.LoadBalancerRequest; import org.jclouds.cloudloadbalancers.domain.NodeRequest; import org.jclouds.cloudloadbalancers.domain.VirtualIP.Type; -import org.testng.annotations.AfterGroups; -import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; import com.google.common.collect.Iterables; @@ -45,14 +43,15 @@ import com.google.common.collect.Sets; @Test(groups = "live", singleThreaded = true, testName = "LoadBalancerClientLiveTest") public class LoadBalancerClientLiveTest extends BaseCloudLoadBalancersClientLiveTest { private Set lbs = Sets.newLinkedHashSet(); - - @BeforeGroups(groups = "live") - protected void setup() { - assertEquals(client.getConfiguredRegions(), Arrays.asList(regions)); - Logger.getAnonymousLogger().info("running against regions "+client.getConfiguredRegions()); + + @Override + public void setupClient() { + super.setupClient(); + assertEquals(client.getConfiguredRegions(), Arrays.asList(regions)); + Logger.getAnonymousLogger().info("running against regions " + client.getConfiguredRegions()); } - @AfterGroups(groups = "live") + @Override protected void tearDown() { for (LoadBalancer lb : lbs) { client.getLoadBalancerClient(lb.getRegion()).removeLoadBalancer(lb.getId()); @@ -61,6 +60,37 @@ public class LoadBalancerClientLiveTest extends BaseCloudLoadBalancersClientLive super.tearDown(); } + public void testCreateLoadBalancer() throws Exception { + for (String region : client.getConfiguredRegions()) { + Logger.getAnonymousLogger().info("starting lb in region " + region); + LoadBalancer lb = client.getLoadBalancerClient(region).createLoadBalancer( + LoadBalancerRequest.builder().name(prefix + "-" + region).protocol("HTTP").port(80).virtualIPType( + Type.PUBLIC).node(NodeRequest.builder().address("192.168.1.1").port(8080).build()).build()); + checkLBInRegion(region, lb, prefix + "-" + region); + assertEquals(lb.getStatus(), LoadBalancer.Status.BUILD); + lbs.add(lb); + assert loadBalancerActive.apply(lb) : lb; + + LoadBalancer newLb = client.getLoadBalancerClient(region).getLoadBalancer(lb.getId()); + checkLBInRegion(region, newLb, prefix + "-" + region); + assertEquals(newLb.getStatus(), LoadBalancer.Status.ACTIVE); + } + } + + @Test(dependsOnMethods = "testCreateLoadBalancer") + public void testUpdateLoadBalancer() throws Exception { + for (LoadBalancer lb : lbs) { + client.getLoadBalancerClient(lb.getRegion()).updateLoadBalancerAttributes(lb.getId(), + LoadBalancerAttributes.Builder.name("foo" + "-" + lb.getRegion())); + assert loadBalancerActive.apply(lb) : lb; + + LoadBalancer newLb = client.getLoadBalancerClient(lb.getRegion()).getLoadBalancer(lb.getId()); + checkLBInRegion(newLb.getRegion(), newLb, "foo" + "-" + lb.getRegion()); + assertEquals(newLb.getStatus(), LoadBalancer.Status.ACTIVE); + } + } + + @Test(dependsOnMethods = "testUpdateLoadBalancer") public void testListLoadBalancers() throws Exception { for (String region : client.getConfiguredRegions()) { Set response = client.getLoadBalancerClient(region).listLoadBalancers(); @@ -95,42 +125,12 @@ public class LoadBalancerClientLiveTest extends BaseCloudLoadBalancersClientLive // node info not available during list; assert getDetails.getNodes().size() > 0 : lb; } catch (AssertionError e) { - throw new AssertionError(String.format("%s\n%s - %s", e.getMessage(),getDetails, lb)); + throw new AssertionError(String.format("%s\n%s - %s", e.getMessage(), getDetails, lb)); } } } } - public void testCreateLoadBalancer() throws Exception { - for (String region : client.getConfiguredRegions()) { - Logger.getAnonymousLogger().info("starting lb in region " + region); - LoadBalancer lb = client.getLoadBalancerClient(region).createLoadBalancer( - LoadBalancerRequest.builder().name(prefix + "-" + region).protocol("HTTP").port(80).virtualIPType( - Type.PUBLIC).node(NodeRequest.builder().address("192.168.1.1").port(8080).build()).build()); - checkLBInRegion(region, lb, prefix + "-" + region); - assertEquals(lb.getStatus(), LoadBalancer.Status.BUILD); - lbs.add(lb); - assert loadBalancerActive.apply(lb) : lb; - - LoadBalancer newLb = client.getLoadBalancerClient(region).getLoadBalancer(lb.getId()); - checkLBInRegion(region, newLb, prefix + "-" + region); - assertEquals(newLb.getStatus(), LoadBalancer.Status.ACTIVE); - } - } - - @Test(dependsOnMethods = "testCreateLoadBalancer") - public void testUpdateLoadBalancer() throws Exception { - for (LoadBalancer lb : lbs) { - client.getLoadBalancerClient(lb.getRegion()).updateLoadBalancerAttributes(lb.getId(), - LoadBalancerAttributes.Builder.name("foo" + "-" + lb.getRegion())); - assert loadBalancerActive.apply(lb) : lb; - - LoadBalancer newLb = client.getLoadBalancerClient(lb.getRegion()).getLoadBalancer(lb.getId()); - checkLBInRegion(newLb.getRegion(), newLb, "foo" + "-" + lb.getRegion()); - assertEquals(newLb.getStatus(), LoadBalancer.Status.ACTIVE); - } - } - private void checkLBInRegion(String region, LoadBalancer lb, String name) { assertEquals(lb.getRegion(), region); assertEquals(lb.getName(), name); diff --git a/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/NodeClientLiveTest.java b/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/NodeClientLiveTest.java index 1ffe36590e..a3fdb0989b 100644 --- a/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/NodeClientLiveTest.java +++ b/apis/cloudloadbalancers/src/test/java/org/jclouds/cloudloadbalancers/features/NodeClientLiveTest.java @@ -26,19 +26,18 @@ import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; -import java.util.Map.Entry; import java.util.Set; +import java.util.Map.Entry; import java.util.logging.Logger; import org.jclouds.cloudloadbalancers.domain.LoadBalancer; -import org.jclouds.cloudloadbalancers.domain.LoadBalancer.Status; import org.jclouds.cloudloadbalancers.domain.LoadBalancerRequest; import org.jclouds.cloudloadbalancers.domain.Node; import org.jclouds.cloudloadbalancers.domain.NodeAttributes; import org.jclouds.cloudloadbalancers.domain.NodeRequest; +import org.jclouds.cloudloadbalancers.domain.LoadBalancer.Status; import org.jclouds.cloudloadbalancers.domain.VirtualIP.Type; import org.testng.annotations.AfterGroups; -import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; /** @@ -49,49 +48,73 @@ import org.testng.annotations.Test; @Test(groups = "live", singleThreaded = true, testName = "NodeClientLiveTest") public class NodeClientLiveTest extends BaseCloudLoadBalancersClientLiveTest { private Map> nodes = new HashMap>(); - - @BeforeGroups(groups = "live") - protected void setup() { - assertTrue(client.getConfiguredRegions().size() > 0, "Need to have some regions!"); - Logger.getAnonymousLogger().info("running against regions "+client.getConfiguredRegions()); - for (String region : client.getConfiguredRegions()) { - Logger.getAnonymousLogger().info("starting lb in region " + region); - LoadBalancer lb = client.getLoadBalancerClient(region).createLoadBalancer( - LoadBalancerRequest.builder().name(prefix + "-" + region).protocol("HTTP").port(80).virtualIPType( - Type.PUBLIC).node(NodeRequest.builder().address("192.168.1.1").port(8080).build()).build()); - nodes.put(lb, new HashSet()); - - assert loadBalancerActive.apply(lb) : lb; - } - } - @AfterGroups(groups = "live") - protected void tearDown() { - for (Entry> entry : nodes.entrySet()) { - LoadBalancer lb = entry.getKey(); - LoadBalancerClient lbClient = client.getLoadBalancerClient(lb.getRegion()); - - if(lbClient.getLoadBalancer(lb.getId()).getStatus() != Status.DELETED) { - lbClient.removeLoadBalancer(lb.getId()); - } - assert loadBalancerDeleted.apply(lb) : lb; + @Test(groups = "live") + public void testCreateLoadBalancers() { + assertTrue(client.getConfiguredRegions().size() > 0, "Need to have some regions!"); + Logger.getAnonymousLogger().info("running against regions " + client.getConfiguredRegions()); + for (String region : client.getConfiguredRegions()) { + Logger.getAnonymousLogger().info("starting lb in region " + region); + LoadBalancer lb = client.getLoadBalancerClient(region).createLoadBalancer( + LoadBalancerRequest.builder().name(prefix + "-" + region).protocol("HTTP").port(80).virtualIPType( + Type.PUBLIC).node(NodeRequest.builder().address("192.168.1.1").port(8080).build()).build()); + nodes.put(lb, new HashSet()); + + assert loadBalancerActive.apply(lb) : lb; } - super.tearDown(); } + @Test(groups = "live", dependsOnMethods = "testCreateLoadBalancers") + public void testAddNodes() throws Exception { + for (LoadBalancer lb : nodes.keySet()) { + String region = lb.getRegion(); + Logger.getAnonymousLogger().info("starting node on loadbalancer " + lb.getId() + " in region " + region); + Set newNodes = client.getNodeClient(region).createNodesInLoadBalancer( + Collections. singleton(NodeRequest.builder().address("192.168.1.2").port(8080).build()), + lb.getId()); + + for (Node n : newNodes) { + assertEquals(n.getStatus(), Node.Status.ONLINE); + nodes.get(lb).add(n); + assertEquals(client.getNodeClient(region).getNodeInLoadBalancer(n.getId(), lb.getId()).getStatus(), + Node.Status.ONLINE); + } + + assert loadBalancerActive.apply(lb) : lb; + } + } + + @Test(groups = "live", dependsOnMethods = "testAddNodes") + public void testModifyNode() throws Exception { + for (Entry> entry : nodes.entrySet()) { + for (Node n : entry.getValue()) { + String region = entry.getKey().getRegion(); + client.getNodeClient(region).updateAttributesForNodeInLoadBalancer(NodeAttributes.Builder.weight(23), + n.getId(), entry.getKey().getId()); + assertEquals(client.getNodeClient(region).getNodeInLoadBalancer(n.getId(), entry.getKey().getId()) + .getStatus(), Node.Status.ONLINE); + + Node newNode = client.getNodeClient(region).getNodeInLoadBalancer(n.getId(), entry.getKey().getId()); + assertEquals(newNode.getStatus(), Node.Status.ONLINE); + assertEquals(newNode.getWeight(), (Integer) 23); + } + } + } + + @Test(groups = "live", dependsOnMethods = "testModifyNode") public void testListNodes() throws Exception { - for (LoadBalancer lb : nodes.keySet()) { + for (LoadBalancer lb : nodes.keySet()) { Set response = client.getNodeClient(lb.getRegion()).listNodes(lb.getId()); assert null != response; assertTrue(response.size() >= 0); for (Node n : response) { - assert n.getId() != -1 : n; - assert n.getCondition() != null : n; + assert n.getId() != -1 : n; + assert n.getCondition() != null : n; assert n.getAddress() != null : n; assert n.getPort() != -1 : n; assert n.getStatus() != null : n; - assert !Arrays.asList(LoadBalancer.WEIGHTED_ALGORITHMS).contains( - lb.getTypedAlgorithm()) || n.getWeight() != null : n; + assert !Arrays.asList(LoadBalancer.WEIGHTED_ALGORITHMS).contains(lb.getTypedAlgorithm()) + || n.getWeight() != null : n; Node getDetails = client.getNodeClient(lb.getRegion()).getNodeInLoadBalancer(n.getId(), lb.getId()); System.out.println(n.toString()); @@ -101,48 +124,28 @@ public class NodeClientLiveTest extends BaseCloudLoadBalancersClientLiveTest { assertEquals(getDetails.getAddress(), n.getAddress()); assertEquals(getDetails.getPort(), n.getPort()); assertEquals(getDetails.getStatus(), n.getStatus()); - if(Arrays.asList(LoadBalancer.WEIGHTED_ALGORITHMS).contains( - lb.getTypedAlgorithm())) { + if (Arrays.asList(LoadBalancer.WEIGHTED_ALGORITHMS).contains(lb.getTypedAlgorithm())) { assertEquals(getDetails.getWeight(), n.getWeight()); } } catch (AssertionError e) { - throw new AssertionError(String.format("%s\n%s - %s", e.getMessage(),getDetails, n)); + throw new AssertionError(String.format("%s\n%s - %s", e.getMessage(), getDetails, n)); } } } } - public void testAddNodes() throws Exception { - for (LoadBalancer lb : nodes.keySet()) { - String region = lb.getRegion(); - Logger.getAnonymousLogger().info("starting node on loadbalancer "+lb.getId()+" in region "+region); - Set newNodes = client.getNodeClient(region).createNodesInLoadBalancer(Collections.singleton( - NodeRequest.builder().address("192.168.1.2").port(8080).build()), lb.getId()); - - for (Node n : newNodes) { - assertEquals(n.getStatus(), Node.Status.ONLINE); - nodes.get(lb).add(n); - assertEquals(client.getNodeClient(region).getNodeInLoadBalancer(n.getId(), lb.getId()).getStatus(), Node.Status.ONLINE); - } - - assert loadBalancerActive.apply(lb) : lb; - } - } + @Override + @AfterGroups(groups = "live") + protected void tearDown() { + for (Entry> entry : nodes.entrySet()) { + LoadBalancer lb = entry.getKey(); + LoadBalancerClient lbClient = client.getLoadBalancerClient(lb.getRegion()); - @Test(dependsOnMethods = "testAddNodes") - public void testModifyNode() throws Exception { - for (Entry> entry : nodes.entrySet()) { - for (Node n : entry.getValue()) { - String region = entry.getKey().getRegion(); - client.getNodeClient(region).updateAttributesForNodeInLoadBalancer(NodeAttributes.Builder.weight(23), - n.getId(), entry.getKey().getId()); - assertEquals(client.getNodeClient(region) - .getNodeInLoadBalancer(n.getId(), entry.getKey().getId()).getStatus(), Node.Status.ONLINE); - - Node newNode = client.getNodeClient(region).getNodeInLoadBalancer(n.getId(), entry.getKey().getId()); - assertEquals(newNode.getStatus(), Node.Status.ONLINE); - assertEquals(newNode.getWeight(), (Integer)23); - } + if (lbClient.getLoadBalancer(lb.getId()).getStatus() != Status.DELETED) { + lbClient.removeLoadBalancer(lb.getId()); + } + assert loadBalancerDeleted.apply(lb) : lb; } + super.tearDown(); } }