You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ab...@apache.org on 2013/07/01 21:13:15 UTC

[10/20] JCLOUDS-150 - Removal of async from AWS - specifically EC2

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/apis/ec2/src/test/java/org/jclouds/ec2/services/AMIClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/AMIClientLiveTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/AMIClientLiveTest.java
deleted file mode 100644
index 5babe82..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/services/AMIClientLiveTest.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * 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.ec2.services;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.concat;
-import static com.google.common.collect.Iterables.getOnlyElement;
-import static com.google.common.collect.Sets.newHashSet;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.jclouds.ec2.options.DescribeImagesOptions.Builder.imageIds;
-import static org.jclouds.ec2.options.RegisterImageBackedByEbsOptions.Builder.addNewBlockDevice;
-import static org.jclouds.util.Predicates2.retry;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Set;
-
-import org.jclouds.compute.RunNodesException;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.domain.TemplateBuilderSpec;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.ec2.EC2ApiMetadata;
-import org.jclouds.ec2.EC2Client;
-import org.jclouds.ec2.domain.BlockDevice;
-import org.jclouds.ec2.domain.Image;
-import org.jclouds.ec2.domain.Image.ImageType;
-import org.jclouds.ec2.domain.RootDeviceType;
-import org.jclouds.ec2.domain.RunningInstance;
-import org.jclouds.ec2.domain.Snapshot;
-import org.jclouds.ec2.predicates.InstanceStateRunning;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Tests behavior of {@code AMIClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true)
-public class AMIClientLiveTest extends BaseComputeServiceContextLiveTest {
-   private TemplateBuilderSpec ebsTemplate;
-
-   public AMIClientLiveTest() {
-      provider = "ec2";
-   }
-
-   @Override
-   protected Properties setupProperties() {
-      Properties overrides = super.setupProperties();
-      String ebsSpec = checkNotNull(setIfTestSystemPropertyPresent(overrides, provider + ".ebs-template"), provider
-            + ".ebs-template");
-      ebsTemplate = TemplateBuilderSpec.parse(ebsSpec);
-      return overrides;
-   }
-
-   protected EC2Client ec2Client;
-   protected AMIClient client;
-
-   protected Predicate<RunningInstance> runningTester;
-
-   protected Set<String> imagesToDeregister = newHashSet();
-   protected Set<String> snapshotsToDelete = newHashSet();
-   protected String regionId;
-   protected String ebsBackedImageId;
-   protected String ebsBackedImageName = "jcloudstest1";
-   protected String imageId;
-
-   @Override
-   @BeforeClass(groups = { "integration", "live" })
-   public void setupContext() {
-      super.setupContext();
-      ec2Client = view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi();
-      runningTester = retry(new InstanceStateRunning(ec2Client), 600, 5, SECONDS);
-
-      client = ec2Client.getAMIServices();
-      if (ebsTemplate != null) {
-         Template template = view.getComputeService().templateBuilder().from(ebsTemplate).build();
-         regionId = template.getLocation().getId();
-         imageId = template.getImage().getProviderId();
-         for (Image image : client.describeImagesInRegion(regionId)) {
-            if (ebsBackedImageName.equals(image.getName()))
-               client.deregisterImageInRegion(regionId, image.getId());
-         }
-      }
-   }
-
-   public void testDescribeImageNotExists() {
-      assertEquals(client.describeImagesInRegion(null, imageIds("ami-cdf819a3")).size(), 0);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testDescribeImageBadId() {
-      client.describeImagesInRegion(null, imageIds("asdaasdsa"));
-   }
-
-   public void testDescribeImages() {
-      for (String region : ec2Client.getConfiguredRegions()) {
-         Set<? extends Image> allResults = client.describeImagesInRegion(region);
-         assertNotNull(allResults);
-         assert allResults.size() >= 2 : allResults.size();
-         Iterator<? extends Image> iterator = allResults.iterator();
-         String id1 = iterator.next().getId();
-         String id2 = iterator.next().getId();
-         Set<? extends Image> twoResults = client.describeImagesInRegion(region, imageIds(id1, id2));
-         assertNotNull(twoResults);
-         assertEquals(twoResults.size(), 2);
-         iterator = twoResults.iterator();
-         assertEquals(iterator.next().getId(), id1);
-         assertEquals(iterator.next().getId(), id2);
-      }
-   }
-
-   @Test
-   public void testCreateAndListEBSBackedImage() throws Exception {
-      Snapshot snapshot = createSnapshot();
-
-      // List of images before...
-      int sizeBefore = client.describeImagesInRegion(regionId).size();
-
-      // Register a new image...
-      ebsBackedImageId = client.registerUnixImageBackedByEbsInRegion(regionId, ebsBackedImageName, snapshot.getId(),
-            addNewBlockDevice("/dev/sda2", "myvirtual", 1).withDescription("adrian"));
-      imagesToDeregister.add(ebsBackedImageId);
-      final Image ebsBackedImage = getOnlyElement(client.describeImagesInRegion(regionId, imageIds(ebsBackedImageId)));
-      assertEquals(ebsBackedImage.getName(), ebsBackedImageName);
-      assertEquals(ebsBackedImage.getImageType(), ImageType.MACHINE);
-      assertEquals(ebsBackedImage.getRootDeviceType(), RootDeviceType.EBS);
-      assertEquals(ebsBackedImage.getRootDeviceName(), "/dev/sda1");
-      assertEquals(ebsBackedImage.getDescription(), "adrian");
-      assertEquals(
-            ebsBackedImage.getEbsBlockDevices().entrySet(),
-            ImmutableMap.of("/dev/sda1", new Image.EbsBlockDevice(snapshot.getId(), snapshot.getVolumeSize(), true),
-                  "/dev/sda2", new Image.EbsBlockDevice(null, 1, false)).entrySet());
-
-      // List of images after - should be one larger than before
-      int after = client.describeImagesInRegion(regionId).size();
-      assertEquals(after, sizeBefore + 1);
-   }
-
-   // Fires up an instance, finds its root volume ID, takes a snapshot, then
-   // terminates the instance.
-   private Snapshot createSnapshot() throws RunNodesException {
-
-      String instanceId = null;
-      try {
-         RunningInstance instance = getOnlyElement(concat(ec2Client.getInstanceServices().runInstancesInRegion(
-               regionId, null, imageId, 1, 1)));
-         instanceId = instance.getId();
-         
-         assertTrue(runningTester.apply(instance), instanceId + "didn't achieve the state running!");
-
-         instance = getOnlyElement(concat(ec2Client.getInstanceServices().describeInstancesInRegion(regionId,
-               instanceId)));
-         BlockDevice device = instance.getEbsBlockDevices().get("/dev/sda1");
-         assertNotNull(device, "device: /dev/sda1 not present on: " + instance);
-         Snapshot snapshot = ec2Client.getElasticBlockStoreServices().createSnapshotInRegion(regionId,
-               device.getVolumeId());
-         snapshotsToDelete.add(snapshot.getId());
-         return snapshot;
-      } finally {
-         if (instanceId != null)
-            ec2Client.getInstanceServices().terminateInstancesInRegion(regionId, instanceId);
-      }
-   }
-
-   @Test(dependsOnMethods = "testCreateAndListEBSBackedImage")
-   public void testGetLaunchPermissionForImage() {
-      client.getLaunchPermissionForImageInRegion(regionId, ebsBackedImageId);
-   }
-
-   @Override
-   @AfterClass(groups = { "integration", "live" })
-   protected void tearDownContext() {
-      for (String imageId : imagesToDeregister)
-         client.deregisterImageInRegion(regionId, imageId);
-      for (String snapshotId : snapshotsToDelete)
-         ec2Client.getElasticBlockStoreServices().deleteSnapshotInRegion(regionId, snapshotId);
-      super.tearDownContext();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/apis/ec2/src/test/java/org/jclouds/ec2/services/AvailabilityZoneAndRegionAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/AvailabilityZoneAndRegionAsyncClientTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/AvailabilityZoneAndRegionAsyncClientTest.java
deleted file mode 100644
index 13293fe..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/services/AvailabilityZoneAndRegionAsyncClientTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * 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.ec2.services;
-
-import static org.jclouds.ec2.options.DescribeAvailabilityZonesOptions.Builder.availabilityZones;
-import static org.jclouds.ec2.options.DescribeRegionsOptions.Builder.regions;
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.aws.domain.Region;
-import org.jclouds.ec2.options.DescribeAvailabilityZonesOptions;
-import org.jclouds.ec2.options.DescribeRegionsOptions;
-import org.jclouds.ec2.xml.DescribeAvailabilityZonesResponseHandler;
-import org.jclouds.ec2.xml.DescribeRegionsResponseHandler;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.reflect.Invokable;
-/**
- * Tests behavior of {@code AvailabilityZoneAndRegionAsyncClient}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "AvailabilityZoneAndRegionAsyncClientTest")
-public class AvailabilityZoneAndRegionAsyncClientTest extends
-      BaseEC2AsyncClientTest<AvailabilityZoneAndRegionAsyncClient> {
-
-   public void testDescribeAvailabilityZones() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(AvailabilityZoneAndRegionAsyncClient.class, "describeAvailabilityZonesInRegion",
-            String.class, DescribeAvailabilityZonesOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(Region.US_WEST_1));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-west-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-west-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=DescribeAvailabilityZones",
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, DescribeAvailabilityZonesResponseHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeAvailabilityZonesOptions() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(AvailabilityZoneAndRegionAsyncClient.class, "describeAvailabilityZonesInRegion",
-            String.class, DescribeAvailabilityZonesOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("us-east-1", availabilityZones("us-east-1a", "us-east-1b")));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request,
-            "Action=DescribeAvailabilityZones&ZoneName.1=us-east-1a&ZoneName.2=us-east-1b",
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, DescribeAvailabilityZonesResponseHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeRegions() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(AvailabilityZoneAndRegionAsyncClient.class, "describeRegions",
-            DescribeRegionsOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=DescribeRegions", "application/x-www-form-urlencoded",
-            false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, DescribeRegionsResponseHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeRegionsOptions() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(AvailabilityZoneAndRegionAsyncClient.class, "describeRegions",
-            DescribeRegionsOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(regions(Region.US_EAST_1, Region.US_WEST_1)));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request,
-            "Action=DescribeRegions&RegionName.1=us-east-1&RegionName.2=us-west-1",
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, DescribeRegionsResponseHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/apis/ec2/src/test/java/org/jclouds/ec2/services/AvailabilityZoneAndRegionClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/AvailabilityZoneAndRegionClientLiveTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/AvailabilityZoneAndRegionClientLiveTest.java
deleted file mode 100644
index 4caec98..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/services/AvailabilityZoneAndRegionClientLiveTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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.ec2.services;
-
-import static org.jclouds.ec2.options.DescribeAvailabilityZonesOptions.Builder.availabilityZones;
-import static org.jclouds.ec2.options.DescribeRegionsOptions.Builder.regions;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.net.URI;
-import java.util.Iterator;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.SortedMap;
-
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.ec2.EC2ApiMetadata;
-import org.jclouds.ec2.EC2Client;
-import org.jclouds.ec2.domain.AvailabilityZoneInfo;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Maps;
-
-/**
- * Tests behavior of {@code AvailabilityZoneAndRegionClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "AvailabilityZoneAndRegionClientLiveTest")
-public class AvailabilityZoneAndRegionClientLiveTest extends BaseComputeServiceContextLiveTest {
-   public AvailabilityZoneAndRegionClientLiveTest() {
-      provider = "ec2";
-   }
-   
-   private EC2Client ec2Client;
-   private AvailabilityZoneAndRegionClient client;
-
-   @Override
-   @BeforeClass(groups = { "integration", "live" })
-   public void setupContext() {
-      super.setupContext();
-      ec2Client = view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi();
-      client = ec2Client.getAvailabilityZoneAndRegionServices();
-   }
-
-   public void testDescribeAvailabilityZones() {
-      for (String region : ec2Client.getConfiguredRegions()) {
-         Set<AvailabilityZoneInfo> allResults = client.describeAvailabilityZonesInRegion(region);
-         assertNotNull(allResults);
-         assert allResults.size() >= 1 : allResults.size();
-         Iterator<AvailabilityZoneInfo> iterator = allResults.iterator();
-         String id1 = iterator.next().getZone();
-         Set<AvailabilityZoneInfo> oneResult = client.describeAvailabilityZonesInRegion(region,
-               availabilityZones(id1));
-         assertNotNull(oneResult);
-         assertEquals(oneResult.size(), 1);
-         iterator = allResults.iterator();
-         assertEquals(iterator.next().getZone(), id1);
-      }
-   }
-
-   public void testDescribeRegions() {
-      SortedMap<String, URI> allResults = Maps.newTreeMap();
-      allResults.putAll(client.describeRegions());
-      assertNotNull(allResults);
-      assert allResults.size() >= 1 : allResults.size();
-      Iterator<Entry<String, URI>> iterator = allResults.entrySet().iterator();
-      String r1 = iterator.next().getKey();
-      SortedMap<String, URI> oneResult = Maps.newTreeMap();
-      oneResult.putAll(client.describeRegions(regions(r1)));
-      assertNotNull(oneResult);
-      assertEquals(oneResult.size(), 1);
-      iterator = oneResult.entrySet().iterator();
-      assertEquals(iterator.next().getKey(), r1);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/apis/ec2/src/test/java/org/jclouds/ec2/services/BaseEC2AsyncClientTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/BaseEC2AsyncClientTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/BaseEC2AsyncClientTest.java
deleted file mode 100644
index af7b3df..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/services/BaseEC2AsyncClientTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * 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.ec2.services;
-
-import static com.google.common.collect.Maps.transformValues;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Singleton;
-
-import org.jclouds.apis.ApiMetadata;
-import org.jclouds.aws.domain.Region;
-import org.jclouds.aws.filters.FormSigner;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.date.DateService;
-import org.jclouds.ec2.EC2ApiMetadata;
-import org.jclouds.ec2.EC2AsyncClient;
-import org.jclouds.ec2.EC2Client;
-import org.jclouds.ec2.compute.domain.RegionAndName;
-import org.jclouds.ec2.config.EC2RestClientModule;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.location.config.LocationModule;
-import org.jclouds.location.suppliers.RegionIdToURISupplier;
-import org.jclouds.location.suppliers.RegionIdToZoneIdsSupplier;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.internal.BaseAsyncClientTest;
-import org.jclouds.util.Suppliers2;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Supplier;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-import com.google.inject.Provides;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "unit")
-public abstract class BaseEC2AsyncClientTest<T> extends BaseAsyncClientTest<T> {
-   @ConfiguresRestClient
-   protected static class StubEC2RestClientModule extends EC2RestClientModule<EC2Client, EC2AsyncClient> {
-
-      @Provides
-      @Singleton
-      LoadingCache<RegionAndName, Image> provide(){
-         return CacheBuilder.newBuilder().build(new CacheLoader<RegionAndName, Image>() {
-
-            @Override
-            public Image load(RegionAndName key) throws Exception {
-               return null;
-            }
-
-         });
-      }
-      
-      @Override
-      protected String provideTimeStamp(DateService dateService) {
-         return "2009-11-08T15:54:08.897Z";
-      }
-
-      static class Zones implements javax.inject.Provider<Map<String, String>> {
-         @Override
-         public Map<String, String> get() {
-            return ImmutableMap.<String, String> of("us-east-1a", "us-east-1");
-         }
-      }
-
-      @Override
-      protected void installLocations() {
-         install(new LocationModule());
-         bind(RegionIdToURISupplier.class).toInstance(new RegionIdToURISupplier() {
-
-            @Override
-            public Map<String, Supplier<URI>> get() {
-               return transformValues(ImmutableMap.<String, URI> of(Region.EU_WEST_1, URI
-                        .create("https://ec2.eu-west-1.amazonaws.com"), Region.US_EAST_1, URI
-                        .create("https://ec2.us-east-1.amazonaws.com"), Region.US_WEST_1, URI
-                        .create("https://ec2.us-west-1.amazonaws.com")), Suppliers2.<URI> ofInstanceFunction());
-            }
-
-         });
-         bind(RegionIdToZoneIdsSupplier.class).toInstance(new RegionIdToZoneIdsSupplier() {
-
-            @Override
-            public Map<String, Supplier<Set<String>>> get() {
-               return transformValues(ImmutableMap.<String, Set<String>> of("us-east-1", ImmutableSet.of(
-                        "us-east-1a", "us-east-1b", "us-east-1c", "us-east-1b")), Suppliers2
-                        .<Set<String>> ofInstanceFunction());
-            }
-
-         });
-      }
-   }
-
-   protected FormSigner filter;
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), FormSigner.class);
-   }
-
-   @Override
-   @BeforeTest
-   protected void setupFactory() throws IOException {
-      super.setupFactory();
-      this.filter = injector.getInstance(FormSigner.class);
-   }
-
-   @Override
-   protected Module createModule() {
-      return new StubEC2RestClientModule();
-   }
-   
-   @Override
-   protected ApiMetadata createApiMetadata() {
-      return new EC2ApiMetadata();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/apis/ec2/src/test/java/org/jclouds/ec2/services/EC2ElasticBlockStoreClientExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/EC2ElasticBlockStoreClientExpectTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/EC2ElasticBlockStoreClientExpectTest.java
deleted file mode 100644
index b0332c3..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/services/EC2ElasticBlockStoreClientExpectTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * 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.ec2.services;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.ec2.EC2Client;
-import org.jclouds.ec2.domain.Volume;
-import org.jclouds.ec2.internal.BaseEC2ClientExpectTest;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "EC2ElasticBlockStoreClientExpectTest")
-public class EC2ElasticBlockStoreClientExpectTest extends BaseEC2ClientExpectTest<EC2Client> {
-   Volume creating = Volume.builder()
-                           .id("vol-2a21e543")
-                           .status(Volume.Status.CREATING)
-                           .availabilityZone("us-east-1a")
-                           .region("us-east-1")
-                           .id("vol-2a21e543")
-                           .size(1)
-                           .createTime(dateService.iso8601DateParse("2009-12-28T05:42:53.000Z"))
-                           .build();
-   
-   public void testCreateVolumeInAvailabilityZone() {
-      Builder<HttpRequest, HttpResponse> builder = ImmutableMap.<HttpRequest, HttpResponse>builder();
-      builder.put(describeRegionsRequest, describeRegionsResponse);
-      builder.putAll(describeAvailabilityZonesRequestResponse);
-      builder.put(
-            HttpRequest.builder()
-                       .method("POST")
-                       .endpoint("https://ec2.us-east-1.amazonaws.com/")
-                       .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-                       .payload(payloadFromStringWithContentType("Action=CreateVolume&AvailabilityZone=us-east-1a&Signature=FB5hTZHKSAuiygoafIdJh1EnfTu0ogC2VfRQOar85mg%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Size=4&Timestamp=2012-04-16T15%3A54%3A08.897Z&Version=2010-06-15&AWSAccessKeyId=identity", "application/x-www-form-urlencoded")).build(),
-            HttpResponse.builder()
-                        .statusCode(200)
-                        .payload(payloadFromResource("/created_volume.xml")).build());
-      
-      ElasticBlockStoreClient client = requestsSendResponses(builder.build()).getElasticBlockStoreServices();
-
-      assertEquals(client.createVolumeInAvailabilityZone("us-east-1a", 4), creating);
-   }
-   
-   public void testCreateVolumeFromSnapshotInAvailabilityZoneEuSetsCorrectEndpoint() {
-      String region = "eu-west-1";
-      
-      Builder<HttpRequest, HttpResponse> builder = ImmutableMap.<HttpRequest, HttpResponse>builder();
-      builder.put(describeRegionsRequest, describeRegionsResponse);
-      builder.putAll(describeAvailabilityZonesRequestResponse);
-      builder.put(
-            formSigner.filter(HttpRequest.builder()
-                                         .method("POST")
-                                         .endpoint("https://ec2." + region + ".amazonaws.com/")
-                                         .addHeader("Host", "ec2." + region + ".amazonaws.com")
-                                         .addFormParam("Action", "CreateVolume")
-                                         .addFormParam("AvailabilityZone", "eu-west-1a")
-                                         .addFormParam("Size", "1")
-                                         .addFormParam("SnapshotId", "snap-8b7ffbdd").build()),
-            HttpResponse.builder()
-                        .statusCode(200)
-                        .payload(payloadFromResource("/created_volume.xml")).build());
-      
-      ElasticBlockStoreClient client = requestsSendResponses(builder.build()).getElasticBlockStoreServices();
-
-      assertEquals(client.createVolumeFromSnapshotInAvailabilityZone(region + "a", 1, "snap-8b7ffbdd"), creating.toBuilder().region(region).build());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticBlockStoreAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticBlockStoreAsyncClientTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticBlockStoreAsyncClientTest.java
deleted file mode 100644
index 5858889..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticBlockStoreAsyncClientTest.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- * 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.ec2.services;
-
-import static org.jclouds.ec2.options.DescribeSnapshotsOptions.Builder.ownedBy;
-import static org.jclouds.ec2.options.DetachVolumeOptions.Builder.fromInstance;
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.ec2.EC2Fallbacks.VoidOnVolumeAvailable;
-import org.jclouds.ec2.options.CreateSnapshotOptions;
-import org.jclouds.ec2.options.DescribeSnapshotsOptions;
-import org.jclouds.ec2.options.DetachVolumeOptions;
-import org.jclouds.ec2.xml.AttachmentHandler;
-import org.jclouds.ec2.xml.DescribeSnapshotsResponseHandler;
-import org.jclouds.ec2.xml.DescribeVolumesResponseHandler;
-import org.jclouds.ec2.xml.PermissionHandler;
-import org.jclouds.ec2.xml.SnapshotHandler;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.google.common.reflect.Invokable;
-/**
- * Tests behavior of {@code ElasticBlockStoreAsyncClient}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "ElasticBlockStoreAsyncClientTest")
-public class ElasticBlockStoreAsyncClientTest extends BaseEC2AsyncClientTest<ElasticBlockStoreAsyncClient> {
-
-   public void testDeleteVolume() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "deleteVolumeInRegion", String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "id"));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=DeleteVolume&VolumeId=id",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest describeVolumes = HttpRequest.builder().method("POST")
-                                            .endpoint("https://ec2.us-east-1.amazonaws.com/")
-                                            .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-                                            .addFormParam("Action", "DescribeVolumes")
-                                            .addFormParam("Signature", "hNuorhZQS%2BThX5dWXOvBkvnmTpgp6SvwHmgzjjfKyG8%3D")
-                                            .addFormParam("SignatureMethod", "HmacSHA256")
-                                            .addFormParam("SignatureVersion", "2")
-                                            .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
-                                            .addFormParam("Version", "2010-06-15")
-                                            .addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testDescribeVolumes() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "describeVolumesInRegion", String.class,
-            String[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList((String) null));
-
-      request = (GeneratedHttpRequest) request.getFilters().get(0).filter(request);
-      
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, describeVolumes.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-      
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, DescribeVolumesResponseHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeVolumesArgs() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "describeVolumesInRegion", String.class,
-               String[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "1", "2"));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=DescribeVolumes&VolumeId.1=1&VolumeId.2=2",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, DescribeVolumesResponseHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest attachVolume = HttpRequest.builder().method("POST")
-                                         .endpoint("https://ec2.us-east-1.amazonaws.com/")
-                                         .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-                                         .addFormParam("Action", "AttachVolume")
-                                         .addFormParam("Device", "/device")
-                                         .addFormParam("InstanceId", "instanceId")
-                                         .addFormParam("Signature", "LaOppR61eWpdNgMYJ3ccfo9vzbmUyJf9Ars%2Bbcu4OGI%3D")
-                                         .addFormParam("SignatureMethod", "HmacSHA256")
-                                         .addFormParam("SignatureVersion", "2")
-                                         .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
-                                         .addFormParam("Version", "2010-06-15")
-                                         .addFormParam("VolumeId", "id")
-                                         .addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testAttachVolume() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "attachVolumeInRegion", String.class, String.class,
-               String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "id", "instanceId", "/device"));
-
-      request = (GeneratedHttpRequest) request.getFilters().get(0).filter(request);
-      
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, attachVolume.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, AttachmentHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest detachVolume = HttpRequest.builder().method("POST")
-                                         .endpoint("https://ec2.us-east-1.amazonaws.com/")
-                                         .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-                                         .addFormParam("Action", "DetachVolume")
-                                         .addFormParam("Force", "false")
-                                         .addFormParam("Signature", "4c6EmHwCYbe%2BifuUV0PNXpKfReoZvJXyme37mKtnLk8%3D")
-                                         .addFormParam("SignatureMethod", "HmacSHA256")
-                                         .addFormParam("SignatureVersion", "2")
-                                         .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
-                                         .addFormParam("Version", "2010-06-15")
-                                         .addFormParam("VolumeId", "id")
-                                         .addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testDetachVolume() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "detachVolumeInRegion", String.class, String.class,
-               boolean.class, DetachVolumeOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "id", false));
-
-      request = (GeneratedHttpRequest) request.getFilters().get(0).filter(request);
-      
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, detachVolume.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-      
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, VoidOnVolumeAvailable.class);
-
-      checkFilters(request);
-   }
-
-   HttpRequest detachVolumeOptions = HttpRequest.builder().method("POST")
-                                                .endpoint("https://ec2.us-east-1.amazonaws.com/")
-                                                .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-                                                .addFormParam("Action", "DetachVolume")
-                                                .addFormParam("Device", "/device")
-                                                .addFormParam("Force", "true")
-                                                .addFormParam("InstanceId", "instanceId")
-                                                .addFormParam("Signature", "GrUGXc6H5W%2BNF8zcXU8gSRbt1ELt%2BTcCDEvbY1a88NE%3D")
-                                                .addFormParam("SignatureMethod", "HmacSHA256")
-                                                .addFormParam("SignatureVersion", "2")
-                                                .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
-                                                .addFormParam("Version", "2010-06-15")
-                                                .addFormParam("VolumeId", "id")
-                                                .addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testDetachVolumeOptions() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "detachVolumeInRegion", String.class, String.class,
-               boolean.class, DetachVolumeOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "id", true, fromInstance("instanceId").fromDevice(
-               "/device")));
-
-      request = (GeneratedHttpRequest) request.getFilters().get(0).filter(request);
-      
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, detachVolumeOptions.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-      
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, VoidOnVolumeAvailable.class);
-
-      checkFilters(request);
-   }
-
-   public void testCreateSnapshot() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "createSnapshotInRegion", String.class,
-               String.class, CreateSnapshotOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "volumeId"));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=CreateSnapshot&VolumeId=volumeId",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, SnapshotHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testCreateSnapshotOptions() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "createSnapshotInRegion", String.class,
-               String.class, CreateSnapshotOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "volumeId", CreateSnapshotOptions.Builder
-               .withDescription("description")));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request,
-               "Action=CreateSnapshot&VolumeId=volumeId&Description=description",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, SnapshotHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeSnapshots() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "describeSnapshotsInRegion", String.class,
-               DescribeSnapshotsOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList((String) null));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=DescribeSnapshots", "application/x-www-form-urlencoded",
-               false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, DescribeSnapshotsResponseHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeSnapshotsArgs() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "describeSnapshotsInRegion", String.class,
-               DescribeSnapshotsOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, ownedBy("o1", "o2").restorableBy("r1", "r2")
-               .snapshotIds("s1", "s2")));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(
-               request,
-               "Action=DescribeSnapshots&Owner.1=o1&Owner.2=o2&RestorableBy.1=r1&RestorableBy.2=r2&SnapshotId.1=s1&SnapshotId.2=s2",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, DescribeSnapshotsResponseHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testGetCreateVolumePermissionForSnapshot() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "getCreateVolumePermissionForSnapshotInRegion",
-               String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "snapshotId"));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(
-               request,
-               "Action=DescribeSnapshotAttribute&Attribute=createVolumePermission&SnapshotId=snapshotId",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, PermissionHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest addCreateVolumePermissionsToSnapshot = HttpRequest.builder().method("POST")
-                                                                 .endpoint("https://ec2.us-east-1.amazonaws.com/")
-                                                                 .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-                                                                 .addFormParam("Action", "ModifySnapshotAttribute")
-                                                                 .addFormParam("Attribute", "createVolumePermission")
-                                                                 .addFormParam("OperationType", "add")
-                                                                 .addFormParam("Signature", "AizV1N1rCCXi%2BbzXX/Vz7shFq9yAJAwcmAGyRQMH%2Bjs%3D")
-                                                                 .addFormParam("SignatureMethod", "HmacSHA256")
-                                                                 .addFormParam("SignatureVersion", "2")
-                                                                 .addFormParam("SnapshotId", "snapshotId")
-                                                                 .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
-                                                                 .addFormParam("UserGroup.1", "all")
-                                                                 .addFormParam("UserId.1", "bob")
-                                                                 .addFormParam("UserId.2", "sue")
-                                                                 .addFormParam("Version", "2010-06-15")
-                                                                 .addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testAddCreateVolumePermissionsToSnapshot() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "addCreateVolumePermissionsToSnapshotInRegion",
-               String.class, Iterable.class, Iterable.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, ImmutableList.of("bob", "sue"), ImmutableList
-               .of("all"), "snapshotId"));
-
-      request = (GeneratedHttpRequest) request.getFilters().get(0).filter(request);
-      
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, addCreateVolumePermissionsToSnapshot.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest removeCreateVolumePermissionsFromSnapshot = HttpRequest.builder().method("POST")
-                                                                      .endpoint("https://ec2.us-east-1.amazonaws.com/")
-                                                                      .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-                                                                      .addFormParam("Action", "ModifySnapshotAttribute")
-                                                                      .addFormParam("Attribute", "createVolumePermission")
-                                                                      .addFormParam("OperationType", "remove")
-                                                                      .addFormParam("Signature", "Lmlt2daM%2BJ4kIoU9HmCempwVGZP1fC6V%2Br9o8MQjYy8%3D")
-                                                                      .addFormParam("SignatureMethod", "HmacSHA256")
-                                                                      .addFormParam("SignatureVersion", "2")
-                                                                      .addFormParam("SnapshotId", "snapshotId")
-                                                                      .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
-                                                                      .addFormParam("UserGroup.1", "all")
-                                                                      .addFormParam("UserId.1", "bob")
-                                                                      .addFormParam("UserId.2", "sue")
-                                                                      .addFormParam("Version", "2010-06-15")
-                                                                      .addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testRemoveCreateVolumePermissionsFromSnapshot() throws SecurityException, NoSuchMethodException,
-            IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "removeCreateVolumePermissionsFromSnapshotInRegion",
-               String.class, Iterable.class, Iterable.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, ImmutableList.of("bob", "sue"), ImmutableList
-               .of("all"), "snapshotId"));
-
-      request = (GeneratedHttpRequest) request.getFilters().get(0).filter(request);
-      
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, removeCreateVolumePermissionsFromSnapshot.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testResetCreateVolumePermissionsOnSnapshot() throws SecurityException, NoSuchMethodException,
-            IOException {
-      Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "resetCreateVolumePermissionsOnSnapshotInRegion",
-               String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "snapshotId"));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(
-               request,
-               "Action=ResetSnapshotAttribute&Attribute=createVolumePermission&SnapshotId=snapshotId",
-               "application/x-www-form-urlencoded", false);
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticBlockStoreClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticBlockStoreClientLiveTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticBlockStoreClientLiveTest.java
deleted file mode 100644
index 7faeefb..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticBlockStoreClientLiveTest.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * 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.ec2.services;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.jclouds.ec2.options.DescribeSnapshotsOptions.Builder.snapshotIds;
-import static org.jclouds.util.Predicates2.retry;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Set;
-import java.util.SortedSet;
-
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.ec2.EC2ApiMetadata;
-import org.jclouds.ec2.EC2Client;
-import org.jclouds.ec2.domain.AvailabilityZoneInfo;
-import org.jclouds.ec2.domain.Snapshot;
-import org.jclouds.ec2.domain.Volume;
-import org.jclouds.ec2.predicates.SnapshotCompleted;
-import org.jclouds.ec2.predicates.VolumeAvailable;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Strings;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
-
-/**
- * Tests behavior of {@code ElasticBlockStoreClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "ElasticBlockStoreClientLiveTest")
-public class ElasticBlockStoreClientLiveTest extends BaseComputeServiceContextLiveTest {
-   public ElasticBlockStoreClientLiveTest() {
-      provider = "ec2";
-   }
-
-   private EC2Client ec2Client;
-   private ElasticBlockStoreClient client;
-
-   private String defaultRegion;
-   private String defaultZone;
-
-   private String volumeId;
-   private Snapshot snapshot;
-
-   @Override
-   @BeforeClass(groups = { "integration", "live" })
-   public void setupContext() {
-      super.setupContext();
-      ec2Client = view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi();
-      client = ec2Client.getElasticBlockStoreServices();
-      AvailabilityZoneInfo info = Iterables.get(ec2Client.getAvailabilityZoneAndRegionServices()
-            .describeAvailabilityZonesInRegion(defaultRegion), 0);
-      defaultRegion = checkNotNull(Strings.emptyToNull(info.getRegion()), "region of " + info);
-      defaultZone = checkNotNull(Strings.emptyToNull(info.getZone()), "zone of " + info);
-   }
-
-   @Test
-   void testDescribeVolumes() {
-      for (String region : ec2Client.getConfiguredRegions()) {
-         SortedSet<Volume> allResults = Sets.newTreeSet(client.describeVolumesInRegion(region));
-         assertNotNull(allResults);
-         if (allResults.size() >= 1) {
-            Volume volume = allResults.last();
-            SortedSet<Volume> result = Sets.newTreeSet(client.describeVolumesInRegion(region, volume.getId()));
-            assertNotNull(result);
-            Volume compare = result.last();
-            assertEquals(compare, volume);
-         }
-      }
-   }
-
-   @Test
-   void testCreateVolumeInAvailabilityZone() {
-      Volume expected = client.createVolumeInAvailabilityZone(defaultZone, 1);
-      assertNotNull(expected);
-      assertEquals(expected.getAvailabilityZone(), defaultZone);
-
-      this.volumeId = expected.getId();
-
-      Set<Volume> result = Sets.newLinkedHashSet(client.describeVolumesInRegion(defaultRegion, expected.getId()));
-      assertNotNull(result);
-      assertEquals(result.size(), 1);
-      Volume volume = result.iterator().next();
-      assertEquals(volume.getId(), expected.getId());
-   }
-
-   @Test(dependsOnMethods = "testCreateVolumeInAvailabilityZone")
-   void testCreateSnapshotInRegion() {
-      Snapshot snapshot = client.createSnapshotInRegion(defaultRegion, volumeId);
-      Predicate<Snapshot> snapshotted = retry(new SnapshotCompleted(client), 600, 10, SECONDS);
-      assert snapshotted.apply(snapshot);
-
-      Snapshot result = Iterables.getOnlyElement(client.describeSnapshotsInRegion(snapshot.getRegion(),
-            snapshotIds(snapshot.getId())));
-
-      assertEquals(result.getProgress(), 100);
-      this.snapshot = result;
-   }
-
-   @Test(dependsOnMethods = "testCreateSnapshotInRegion")
-   void testCreateVolumeFromSnapshotInAvailabilityZone() {
-      Volume volume = client.createVolumeFromSnapshotInAvailabilityZone(defaultZone, snapshot.getId());
-      assertNotNull(volume);
-
-      Predicate<Volume> availabile = retry(new VolumeAvailable(client), 600, 10, SECONDS);
-      assert availabile.apply(volume);
-
-      Volume result = Iterables.getOnlyElement(client.describeVolumesInRegion(snapshot.getRegion(), volume.getId()));
-      assertEquals(volume.getId(), result.getId());
-      assertEquals(volume.getSnapshotId(), snapshot.getId());
-      assertEquals(volume.getAvailabilityZone(), defaultZone);
-      assertEquals(result.getStatus(), Volume.Status.AVAILABLE);
-
-      client.deleteVolumeInRegion(snapshot.getRegion(), volume.getId());
-   }
-
-   @Test(dependsOnMethods = "testCreateSnapshotInRegion")
-   void testCreateVolumeFromSnapshotInAvailabilityZoneWithSize() {
-      Volume volume = client.createVolumeFromSnapshotInAvailabilityZone(defaultZone, 2, snapshot.getId());
-      assertNotNull(volume);
-
-      Predicate<Volume> availabile = retry(new VolumeAvailable(client), 600, 10, SECONDS);
-      assert availabile.apply(volume);
-
-      Volume result = Iterables.getOnlyElement(client.describeVolumesInRegion(snapshot.getRegion(), volume.getId()));
-      assertEquals(volume.getId(), result.getId());
-      assertEquals(volume.getSnapshotId(), snapshot.getId());
-      assertEquals(volume.getAvailabilityZone(), defaultZone);
-      assertEquals(volume.getSize(), 2);
-      assertEquals(result.getStatus(), Volume.Status.AVAILABLE);
-
-      client.deleteVolumeInRegion(snapshot.getRegion(), volume.getId());
-   }
-
-   @Test
-   void testAttachVolumeInRegion() {
-      // TODO: need an instance
-   }
-
-   @Test
-   void testDetachVolumeInRegion() {
-      // TODO: need an instance
-   }
-
-   @Test
-   void testDescribeSnapshots() {
-      for (String region : ec2Client.getConfiguredRegions()) {
-         SortedSet<Snapshot> allResults = Sets.newTreeSet(client.describeSnapshotsInRegion(region));
-         assertNotNull(allResults);
-         if (allResults.size() >= 1) {
-            Snapshot snapshot = allResults.last();
-            Snapshot result = Iterables.getOnlyElement(client.describeSnapshotsInRegion(region,
-                  snapshotIds(snapshot.getId())));
-            assertNotNull(result);
-            assertEquals(result, snapshot);
-         }
-      }
-   }
-
-   @Test(enabled = false)
-   public void testAddCreateVolumePermissionsToSnapshot() {
-      // TODO client.addCreateVolumePermissionsToSnapshotInRegion(defaultRegion,
-      // userIds,
-      // userGroups,
-      // snapshotId);
-   }
-
-   @Test(enabled = false)
-   public void testRemoveCreateVolumePermissionsFromSnapshot() {
-      // TODO
-      // client.removeCreateVolumePermissionsFromSnapshotInRegion(defaultRegion,
-      // userIds,
-      // userGroups,
-      // snapshotId);
-   }
-
-   @Test(enabled = false)
-   public void testResetCreateVolumePermissionsOnSnapshot() {
-      // TODO
-      // client.resetCreateVolumePermissionsOnSnapshotInRegion(defaultRegion,
-      // snapshotId);
-   }
-
-   @Test(dependsOnMethods = "testCreateSnapshotInRegion")
-   public void testGetCreateVolumePermissionForSnapshot() {
-      client.getCreateVolumePermissionForSnapshotInRegion(snapshot.getRegion(), snapshot.getId());
-   }
-
-   @Test(dependsOnMethods = "testCreateSnapshotInRegion")
-   void testDeleteVolumeInRegion() {
-      client.deleteVolumeInRegion(defaultRegion, volumeId);
-      Set<Volume> result = Sets.newLinkedHashSet(client.describeVolumesInRegion(defaultRegion, volumeId));
-      assertEquals(result.size(), 1);
-      Volume volume = result.iterator().next();
-      assertEquals(volume.getStatus(), Volume.Status.DELETING);
-   }
-
-   @Test(dependsOnMethods = "testGetCreateVolumePermissionForSnapshot")
-   void testDeleteSnapshotInRegion() {
-      client.deleteSnapshotInRegion(snapshot.getRegion(), snapshot.getId());
-      assert client.describeSnapshotsInRegion(snapshot.getRegion(), snapshotIds(snapshot.getId())).size() == 0;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticIPAddressAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticIPAddressAsyncClientTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticIPAddressAsyncClientTest.java
deleted file mode 100644
index 4ac89c2..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticIPAddressAsyncClientTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * 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.ec2.services;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.ec2.xml.AllocateAddressResponseHandler;
-import org.jclouds.ec2.xml.DescribeAddressesResponseHandler;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Lists;
-import com.google.common.reflect.Invokable;
-/**
- * Tests behavior of {@code ElasticIPAddressAsyncClient}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "ElasticIPAddressAsyncClientTest")
-public class ElasticIPAddressAsyncClientTest extends BaseEC2AsyncClientTest<ElasticIPAddressAsyncClient> {
-
-   public void testDisassociateAddress() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticIPAddressAsyncClient.class, "disassociateAddressInRegion", String.class,
-            String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "127.0.0.1"));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=DisassociateAddress&PublicIp=127.0.0.1",
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest associateAddress = HttpRequest.builder().method("POST")
-                                             .endpoint("https://ec2.us-east-1.amazonaws.com/")
-                                             .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-                                             .addFormParam("Action", "AssociateAddress")
-                                             .addFormParam("InstanceId", "me")
-                                             .addFormParam("PublicIp", "127.0.0.1")
-                                             .addFormParam("Signature", "YmPyvEljuFw0INSUbQx5xAhC/1GQ4a1Ht6TdoXeMc9Y%3D")
-                                             .addFormParam("SignatureMethod", "HmacSHA256")
-                                             .addFormParam("SignatureVersion", "2")
-                                             .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
-                                             .addFormParam("Version", "2010-06-15")
-                                             .addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testAssociateAddress() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticIPAddressAsyncClient.class, "associateAddressInRegion", String.class,
-            String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "127.0.0.1", "me"));
-
-      request = (GeneratedHttpRequest) request.getFilters().get(0).filter(request);
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, associateAddress.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testReleaseAddress() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticIPAddressAsyncClient.class, "releaseAddressInRegion", String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "127.0.0.1"));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=ReleaseAddress&PublicIp=127.0.0.1",
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeAddresses() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticIPAddressAsyncClient.class, "describeAddressesInRegion", String.class,
-            String[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "127.0.0.1"));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=DescribeAddresses&PublicIp.1=127.0.0.1",
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, DescribeAddressesResponseHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testAllocateAddress() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(ElasticIPAddressAsyncClient.class, "allocateAddressInRegion", String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList((String) null));
-
-      assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
-      assertPayloadEquals(request, "Action=AllocateAddress", "application/x-www-form-urlencoded",
-            false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, AllocateAddressResponseHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticIPAddressClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticIPAddressClientLiveTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticIPAddressClientLiveTest.java
deleted file mode 100644
index b225e05..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/services/ElasticIPAddressClientLiveTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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.ec2.services;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.SortedSet;
-
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.ec2.EC2ApiMetadata;
-import org.jclouds.ec2.EC2Client;
-import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Sets;
-
-/**
- * Tests behavior of {@code ElasticIPAddressClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "ElasticIPAddressClientLiveTest")
-public class ElasticIPAddressClientLiveTest extends BaseComputeServiceContextLiveTest {
-   public ElasticIPAddressClientLiveTest() {
-      provider = "ec2";
-   }
-
-   private EC2Client ec2Client;
-   private ElasticIPAddressClient client;
-
-   @Override
-   @BeforeClass(groups = { "integration", "live" })
-   public void setupContext() {
-      super.setupContext();
-      ec2Client = view.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi();
-      client = ec2Client.getElasticIPAddressServices();
-   }
-
-   @Test
-   void testDescribeAddresses() {
-      for (String region : ec2Client.getConfiguredRegions()) {
-         SortedSet<PublicIpInstanceIdPair> allResults = Sets.newTreeSet(client.describeAddressesInRegion(region));
-         assertNotNull(allResults);
-         if (allResults.size() >= 1) {
-            PublicIpInstanceIdPair pair = allResults.last();
-            SortedSet<PublicIpInstanceIdPair> result = Sets.newTreeSet(client.describeAddressesInRegion(region, pair
-                     .getPublicIp()));
-            assertNotNull(result);
-            PublicIpInstanceIdPair compare = result.last();
-            assertEquals(compare, pair);
-         }
-      }
-   }
-
-}