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);
- }
- }
- }
-
-}