You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2014/12/23 05:26:57 UTC
[33/51] [partial] stratos git commit: dropping jclouds 1.8.0 clone
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/AvailabilityZoneAndRegionApiLiveTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/AvailabilityZoneAndRegionApiLiveTest.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/AvailabilityZoneAndRegionApiLiveTest.java
deleted file mode 100644
index c2eb0df..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/AvailabilityZoneAndRegionApiLiveTest.java
+++ /dev/null
@@ -1,89 +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.features;
-
-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.EC2Api;
-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 AvailabilityZoneAndRegionApi}
- */
-@Test(groups = "live", singleThreaded = true, testName = "AvailabilityZoneAndRegionApiLiveTest")
-public class AvailabilityZoneAndRegionApiLiveTest extends BaseComputeServiceContextLiveTest {
- public AvailabilityZoneAndRegionApiLiveTest() {
- provider = "ec2";
- }
-
- private EC2Api ec2Api;
- private AvailabilityZoneAndRegionApi client;
-
- @Override
- @BeforeClass(groups = { "integration", "live" })
- public void setupContext() {
- super.setupContext();
- ec2Api = view.unwrapApi(EC2Api.class);
- client = ec2Api.getAvailabilityZoneAndRegionApi().get();
- }
-
- public void testDescribeAvailabilityZones() {
- for (String region : ec2Api.getConfiguredRegions()) {
- Set<AvailabilityZoneInfo> allResults = client.describeAvailabilityZonesInRegion(region);
- assertNotNull(allResults);
- assert !allResults.isEmpty() : 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.isEmpty() : 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/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/AvailabilityZoneAndRegionApiTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/AvailabilityZoneAndRegionApiTest.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/AvailabilityZoneAndRegionApiTest.java
deleted file mode 100644
index 6552dfa..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/AvailabilityZoneAndRegionApiTest.java
+++ /dev/null
@@ -1,114 +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.features;
-
-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 AvailabilityZoneAndRegionApi}
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "AvailabilityZoneAndRegionApiTest")
-public class AvailabilityZoneAndRegionApiTest extends
- BaseEC2ApiTest<AvailabilityZoneAndRegionApi> {
-
- public void testDescribeAvailabilityZones() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AvailabilityZoneAndRegionApi.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(AvailabilityZoneAndRegionApi.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(AvailabilityZoneAndRegionApi.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(AvailabilityZoneAndRegionApi.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/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/BaseEC2ApiTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/BaseEC2ApiTest.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/BaseEC2ApiTest.java
deleted file mode 100644
index 3a2e645..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/BaseEC2ApiTest.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.features;
-
-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.EC2Api;
-import org.jclouds.ec2.compute.domain.RegionAndName;
-import org.jclouds.ec2.config.BaseEC2HttpApiModule;
-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.ConfiguresHttpApi;
-import org.jclouds.rest.internal.BaseAsyncApiTest;
-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;
-
-@Test(groups = "unit")
-public abstract class BaseEC2ApiTest<T> extends BaseAsyncApiTest<T> {
- @ConfiguresHttpApi
- protected static class StubEC2HttpApiModule extends BaseEC2HttpApiModule<EC2Api> {
-
- protected StubEC2HttpApiModule() {
- super(EC2Api.class);
- }
-
- @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 StubEC2HttpApiModule();
- }
-
- @Override
- protected ApiMetadata createApiMetadata() {
- return new EC2ApiMetadata();
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/EC2ElasticBlockStoreApiExpectTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/EC2ElasticBlockStoreApiExpectTest.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/EC2ElasticBlockStoreApiExpectTest.java
deleted file mode 100644
index df71112..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/EC2ElasticBlockStoreApiExpectTest.java
+++ /dev/null
@@ -1,204 +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.features;
-
-import static com.google.common.collect.Iterables.getOnlyElement;
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.ec2.EC2Api;
-import org.jclouds.ec2.domain.Snapshot;
-import org.jclouds.ec2.domain.Volume;
-import org.jclouds.ec2.internal.BaseEC2ApiExpectTest;
-import org.jclouds.ec2.options.CreateVolumeOptions;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.rest.ResourceNotFoundException;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-
-@Test(groups = "unit", testName = "EC2ElasticBlockStoreApiExpectTest")
-public class EC2ElasticBlockStoreApiExpectTest extends BaseEC2ApiExpectTest<EC2Api> {
- Volume creating = Volume.builder()
- .id("vol-2a21e543")
- .status(Volume.Status.CREATING)
- .availabilityZone("us-east-1a")
- .region("us-east-1")
- .id("vol-2a21e543")
- .volumeType("standard")
- .iops(0)
- .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=NCu8HU8u0A385rTgj%2BN5lq606jkc1eu88jof9yAxb6s%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Size=4&Timestamp=2012-04-16T15%3A54%3A08.897Z&Version=2010-08-31&AWSAccessKeyId=identity", "application/x-www-form-urlencoded")).build(),
- HttpResponse.builder()
- .statusCode(200)
- .payload(payloadFromResource("/created_volume.xml")).build());
-
- ElasticBlockStoreApi client = requestsSendResponses(builder.build()).getElasticBlockStoreApi().get();
-
- assertEquals(client.createVolumeInAvailabilityZone("us-east-1a", 4), creating);
- }
-
- public void testCreateVolumeInAvailabilityZoneWithOptions() {
- 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" +
- "&Iops=0" +
- "&Signature=uI5tXrwV4zXB3uh0OP4RkfU2HMdQ2yICfpo4gKrajMI%3D" +
- "&SignatureMethod=HmacSHA256" +
- "&SignatureVersion=2" +
- "&Size=4" +
- "&Timestamp=2012-04-16T15%3A54%3A08.897Z" +
- "&Version=2010-08-31" +
- "&VolumeType=standard" +
- "&AWSAccessKeyId=identity", "application/x-www-form-urlencoded")).build(),
- HttpResponse.builder()
- .statusCode(200)
- .payload(payloadFromResource("/created_volume.xml")).build());
-
- ElasticBlockStoreApi client = requestsSendResponses(builder.build()).getElasticBlockStoreApi().get();
-
- assertEquals(client.createVolumeInAvailabilityZone("us-east-1a",
- CreateVolumeOptions.Builder.withSize(4).isEncrypted(false).volumeType("standard").withIops(0)),
- 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());
-
- ElasticBlockStoreApi client = requestsSendResponses(builder.build()).getElasticBlockStoreApi().get();
-
- assertEquals(client.createVolumeFromSnapshotInAvailabilityZone(region + "a", 1, "snap-8b7ffbdd"), creating.toBuilder().region(region).build());
- }
-
- HttpRequest filterVolumes = HttpRequest.builder().method("POST")
- .endpoint("https://ec2.us-east-1.amazonaws.com/")
- .addHeader("Host", "ec2.us-east-1.amazonaws.com")
- .addFormParam("Action", "DescribeVolumes")
- .addFormParam("Filter.1.Name", "snapshot-id")
- .addFormParam("Filter.1.Value.1", "snap-536d1b3a")
- .addFormParam("Signature", "7g2ySW39nIVfxtIbuVttUBom7sssmQknxX/9SThkm2Y%3D")
- .addFormParam("SignatureMethod", "HmacSHA256")
- .addFormParam("SignatureVersion", "2")
- .addFormParam("Timestamp", "2012-04-16T15%3A54%3A08.897Z")
- .addFormParam("Version", "2010-08-31")
- .addFormParam("AWSAccessKeyId", "identity").build();
-
- public void testFilterVolumesWhenResponseIs2xx() {
- HttpResponse filterResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResourceWithContentType("/describe_volumes_single.xml", "text/xml")).build();
-
- EC2Api apiWhenExist = requestsSendResponses(describeRegionsRequest, describeRegionsResponse, filterVolumes, filterResponse);
-
- Volume volume = getOnlyElement(apiWhenExist.getElasticBlockStoreApi().get().describeVolumesInRegionWithFilter("us-east-1",
- ImmutableMultimap.<String, String>builder()
- .put("snapshot-id", "snap-536d1b3a")
- .build()));
-
- assertEquals(volume.getId(), "vol-4282672b");
- }
-
- @Test(expectedExceptions = ResourceNotFoundException.class)
- public void testFilterVolumesWhenResponseIs404() {
- HttpResponse filterResponse = HttpResponse.builder().statusCode(404).build();
-
- EC2Api apiWhenNotExist = requestsSendResponses(describeRegionsRequest, describeRegionsResponse, filterVolumes, filterResponse);
-
- assertEquals(apiWhenNotExist.getElasticBlockStoreApi().get().describeVolumesInRegionWithFilter("us-east-1",
- ImmutableMultimap.<String, String>builder()
- .put("snapshot-id", "snap-536d1b3a")
- .build()),
- ImmutableSet.of());
- }
-
- HttpRequest filterSnapshots = HttpRequest.builder().method("POST")
- .endpoint("https://ec2.us-east-1.amazonaws.com/")
- .addHeader("Host", "ec2.us-east-1.amazonaws.com")
- .addFormParam("Action", "DescribeSnapshots")
- .addFormParam("Filter.1.Name", "volume-id")
- .addFormParam("Filter.1.Value.1", "4d826724")
- .addFormParam("Signature", "vT7R4YmfQJPNLSojXEMY1qcErMh0OzrOTYxbGYSZ4Uw%3D")
- .addFormParam("SignatureMethod", "HmacSHA256")
- .addFormParam("SignatureVersion", "2")
- .addFormParam("Timestamp", "2012-04-16T15%3A54%3A08.897Z")
- .addFormParam("Version", "2010-08-31")
- .addFormParam("AWSAccessKeyId", "identity").build();
-
- public void testFilterSnapshotsWhenResponseIs2xx() {
- HttpResponse filterResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResourceWithContentType("/describe_snapshots.xml", "text/xml")).build();
-
- EC2Api apiWhenExist = requestsSendResponses(describeRegionsRequest, describeRegionsResponse, filterSnapshots, filterResponse);
-
- Snapshot snapshot = getOnlyElement(apiWhenExist.getElasticBlockStoreApi().get().describeSnapshotsInRegionWithFilter("us-east-1",
- ImmutableMultimap.<String, String>builder()
- .put("volume-id", "4d826724")
- .build()));
-
- assertEquals(snapshot.getId(), "snap-78a54011");
- }
-
- public void testFilterSnapshotsWhenResponseIs404() {
- HttpResponse filterResponse = HttpResponse.builder().statusCode(404).build();
-
- EC2Api apiWhenNotExist = requestsSendResponses(describeRegionsRequest, describeRegionsResponse, filterSnapshots, filterResponse);
-
- assertEquals(apiWhenNotExist.getElasticBlockStoreApi().get().describeSnapshotsInRegionWithFilter("us-east-1",
- ImmutableMultimap.<String, String>builder()
- .put("volume-id", "4d826724")
- .build()),
- ImmutableSet.of());
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticBlockStoreApiLiveTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticBlockStoreApiLiveTest.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticBlockStoreApiLiveTest.java
deleted file mode 100644
index ac3cf29..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticBlockStoreApiLiveTest.java
+++ /dev/null
@@ -1,311 +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.features;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.jclouds.ec2.options.CreateVolumeOptions.Builder.fromSnapshotId;
-import static org.jclouds.ec2.options.CreateVolumeOptions.Builder.withSize;
-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.assertFalse;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Set;
-import java.util.SortedSet;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Strings;
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
-import org.jclouds.aws.AWSResponseException;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.ec2.EC2Api;
-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.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code ElasticBlockStoreApi}
- */
-@Test(groups = "live", singleThreaded = true)
-public class ElasticBlockStoreApiLiveTest extends BaseComputeServiceContextLiveTest {
- public ElasticBlockStoreApiLiveTest() {
- provider = "ec2";
- }
-
- protected EC2Api ec2Api;
- protected ElasticBlockStoreApi client;
-
- protected String defaultRegion;
- protected String defaultZone;
-
- protected String volumeId;
- protected Snapshot snapshot;
-
- @Override
- @BeforeClass(groups = { "integration", "live" })
- public void setupContext() {
- super.setupContext();
- ec2Api = view.unwrapApi(EC2Api.class);
- client = ec2Api.getElasticBlockStoreApi().get();
- AvailabilityZoneInfo info = Iterables.get(ec2Api.getAvailabilityZoneAndRegionApi().get()
- .describeAvailabilityZonesInRegion(defaultRegion), 0);
- defaultRegion = checkNotNull(Strings.emptyToNull(info.getRegion()), "region of " + info);
- defaultZone = checkNotNull(Strings.emptyToNull(info.getZone()), "zone of " + info);
- }
-
- @Test
- void testDescribeVolumes() {
- String region = defaultRegion;
- SortedSet<Volume> allResults = Sets.newTreeSet(client.describeVolumesInRegion(region));
- assertNotNull(allResults);
- assertFalse(allResults.isEmpty());
- 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 testDescribeVolumesWithFilter() {
- String region = defaultRegion;
- SortedSet<Volume> allResults = Sets.newTreeSet(client.describeVolumesInRegion(region));
- assertNotNull(allResults);
- assertFalse(allResults.isEmpty());
- Volume volume = allResults.last();
- SortedSet<Volume> result = Sets.newTreeSet(client.describeVolumesInRegionWithFilter(region,
- ImmutableMultimap.<String, String>builder()
- .put("volume-id", volume.getId()).build()));
- assertNotNull(result);
- Volume compare = result.last();
- assertEquals(compare, volume);
- }
-
- @Test(expectedExceptions = AWSResponseException.class)
- void testDescribeVolumesWithInvalidFilter() {
- String region = defaultRegion;
- SortedSet<Volume> allResults = Sets.newTreeSet(client.describeVolumesInRegion(region));
- assertNotNull(allResults);
- assertFalse(allResults.isEmpty());
- Volume volume = allResults.last();
- SortedSet<Volume> result = Sets.newTreeSet(client.describeVolumesInRegionWithFilter(region,
- ImmutableMultimap.<String, String>builder()
- .put("invalid-filter", volume.getId()).build()));
- }
-
- @Test
- void testCreateVolumeInAvailabilityZone() {
- Volume expected = client.createVolumeInAvailabilityZone(defaultZone,
- withSize(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());
- assertEquals(volume.getVolumeType(), expected.getVolumeType());
- }
-
- @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(), result.getId());
- }
-
- @Test(dependsOnMethods = "testCreateVolumeFromSnapshotInAvailabilityZone")
- void testCreateVolumeFromSnapshotInAvailabilityZoneWithOptions() {
- Volume volume = client.createVolumeInAvailabilityZone(defaultZone,
- fromSnapshotId(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(), result.getId());
- }
-
- @Test(dependsOnMethods = "testCreateVolumeFromSnapshotInAvailabilityZoneWithOptions")
- 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(), result.getId());
- }
-
- @Test
- void testAttachVolumeInRegion() {
- // TODO: need an instance
- }
-
- @Test
- void testDetachVolumeInRegion() {
- // TODO: need an instance
- }
-
- @Test
- void testDescribeSnapshots() {
- String region = defaultRegion;
- SortedSet<Snapshot> allResults = Sets.newTreeSet(client.describeSnapshotsInRegion(region));
- assertNotNull(allResults);
- if (!allResults.isEmpty()) {
- Snapshot snapshot = allResults.last();
- Snapshot result = Iterables.getOnlyElement(client.describeSnapshotsInRegion(region,
- snapshotIds(snapshot.getId())));
- assertNotNull(result);
- assertEquals(result, snapshot);
- }
- }
-
- @Test
- void testDescribeSnapshotsWithFilter() {
- String region = defaultRegion;
- SortedSet<Snapshot> allResults = Sets.newTreeSet(client.describeSnapshotsInRegion(region));
- assertNotNull(allResults);
- if (!allResults.isEmpty()) {
- Snapshot snapshot = allResults.last();
- Snapshot result = Iterables.getOnlyElement(client.describeSnapshotsInRegionWithFilter(region,
- ImmutableMultimap.<String, String>builder()
- .put("snapshot-id", snapshot.getId()).build()));
- assertNotNull(result);
- assertEquals(result, snapshot);
- }
- }
-
- @Test(expectedExceptions = AWSResponseException.class)
- void testDescribeSnapshotsWithFilterInvalid() {
- String region = defaultRegion;
- SortedSet<Snapshot> allResults = Sets.newTreeSet(client.describeSnapshotsInRegion(region));
- assertNotNull(allResults);
- if (!allResults.isEmpty()) {
- Snapshot snapshot = allResults.last();
- Snapshot result = Iterables.getOnlyElement(client.describeSnapshotsInRegionWithFilter(region,
- ImmutableMultimap.<String, String>builder()
- .put("invalid-filter", snapshot.getId()).build()));
- }
- }
-
- @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 = "testCreateVolumeFromSnapshotInAvailabilityZoneWithSize")
- public void testGetCreateVolumePermissionForSnapshot() {
- client.getCreateVolumePermissionForSnapshotInRegion(snapshot.getRegion(), snapshot.getId());
- }
-
- @Test(dependsOnMethods = "testGetCreateVolumePermissionForSnapshot")
- void testDeleteVolumeInRegion() {
- client.deleteVolumeInRegion(defaultRegion, volumeId);
- assertEquals(client.describeVolumesInRegionWithFilter(defaultRegion,
- ImmutableMultimap.<String, String>builder()
- .put("volume-id", volumeId).build()),
- ImmutableSet.of());
- }
-
- @Test(dependsOnMethods = "testDeleteVolumeInRegion")
- void testDeleteSnapshotInRegion() {
- client.deleteSnapshotInRegion(snapshot.getRegion(), snapshot.getId());
- assert client.describeSnapshotsInRegion(snapshot.getRegion(), snapshotIds(snapshot.getId())).size() == 0;
- }
-
- @AfterClass(groups = { "integration", "live" })
- @Override
- protected void tearDownContext() {
- try {
- client.deleteSnapshotInRegion(snapshot.getRegion(), snapshot.getId());
- client.deleteVolumeInRegion(defaultRegion, volumeId);
- } catch (Exception e) {
- // we don't really care about any exception here, so just delete away.
- }
-
- super.tearDownContext();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticBlockStoreApiTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticBlockStoreApiTest.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticBlockStoreApiTest.java
deleted file mode 100644
index f47e65b..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticBlockStoreApiTest.java
+++ /dev/null
@@ -1,399 +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.features;
-
-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 ElasticBlockStoreApi}
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "ElasticBlockStoreApiTest")
-public class ElasticBlockStoreApiTest extends BaseEC2ApiTest<ElasticBlockStoreApi> {
-
- public void testDeleteVolume() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ElasticBlockStoreApi.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", "nNxWg5dwYZEQu1QCzCtNp7iDmPR8wXXdKhWmLEKFLGI%3D")
- .addFormParam("SignatureMethod", "HmacSHA256")
- .addFormParam("SignatureVersion", "2")
- .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
- .addFormParam("Version", "2010-08-31")
- .addFormParam("AWSAccessKeyId", "identity").build();
-
- public void testDescribeVolumes() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ElasticBlockStoreApi.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(ElasticBlockStoreApi.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", "0%2BUY5oCQzoJapEHq4Dl2R/0nAA8uXEHqvHbnnNI5NcA%3D")
- .addFormParam("SignatureMethod", "HmacSHA256")
- .addFormParam("SignatureVersion", "2")
- .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
- .addFormParam("Version", "2010-08-31")
- .addFormParam("VolumeId", "id")
- .addFormParam("AWSAccessKeyId", "identity").build();
-
- public void testAttachVolume() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ElasticBlockStoreApi.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", "tfNB1g2WVqb3EwvBJlk4duU1H1fDOa1SBstsm1elpbg%3D")
- .addFormParam("SignatureMethod", "HmacSHA256")
- .addFormParam("SignatureVersion", "2")
- .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
- .addFormParam("Version", "2010-08-31")
- .addFormParam("VolumeId", "id")
- .addFormParam("AWSAccessKeyId", "identity").build();
-
- public void testDetachVolume() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ElasticBlockStoreApi.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", "VFhgwdkKBKXr/dEn2gvk6Vqq3JIunw4zZgM2Tt/ouME%3D")
- .addFormParam("SignatureMethod", "HmacSHA256")
- .addFormParam("SignatureVersion", "2")
- .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
- .addFormParam("Version", "2010-08-31")
- .addFormParam("VolumeId", "id")
- .addFormParam("AWSAccessKeyId", "identity").build();
-
- public void testDetachVolumeOptions() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ElasticBlockStoreApi.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(ElasticBlockStoreApi.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(ElasticBlockStoreApi.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(ElasticBlockStoreApi.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(ElasticBlockStoreApi.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(ElasticBlockStoreApi.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", "s8m8DqQRXmecWguuRjxfl3Ibd%2B1AjjktGzTlJLUTcPc%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-08-31")
- .addFormParam("AWSAccessKeyId", "identity").build();
-
- public void testAddCreateVolumePermissionsToSnapshot() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ElasticBlockStoreApi.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", "RzxHUIWV80cyhQDtrMiHDWUosS1g8cn1%2B7ONLJCe1dg%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-08-31")
- .addFormParam("AWSAccessKeyId", "identity").build();
-
- public void testRemoveCreateVolumePermissionsFromSnapshot() throws SecurityException, NoSuchMethodException,
- IOException {
- Invokable<?, ?> method = method(ElasticBlockStoreApi.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(ElasticBlockStoreApi.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/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiExpectTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiExpectTest.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiExpectTest.java
deleted file mode 100644
index f96610b..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiExpectTest.java
+++ /dev/null
@@ -1,101 +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.features;
-
-import static com.google.common.collect.Iterables.getOnlyElement;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Properties;
-
-import org.jclouds.Constants;
-import org.jclouds.ec2.EC2Api;
-import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
-import org.jclouds.ec2.internal.BaseEC2ApiExpectTest;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.rest.internal.BaseRestApiExpectTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- *
- * @see org.jclouds.ec2.features.ElasticIPAddressApi
- */
-@Test(groups = "unit")
-public class ElasticIPAddressApiExpectTest extends BaseEC2ApiExpectTest<EC2Api> {
-
- protected Properties setupProperties() {
- Properties props = super.setupProperties();
- props.put(Constants.PROPERTY_API_VERSION, "2010-08-31");
- return props;
- }
-
- HttpRequest filter =
- HttpRequest.builder()
- .method("POST")
- .endpoint("https://ec2.us-east-1.amazonaws.com/")
- .addHeader("Host", "ec2.us-east-1.amazonaws.com")
- .payload(BaseRestApiExpectTest.payloadFromStringWithContentType(
- "Action=DescribeAddresses" +
- "&Filter.1.Name=instance-id" +
- "&Filter.1.Value.1=i-f15ebb98" +
- "&Signature=dJbTUsBGHSrarQQAwmLm8LLI255R/lzdE7ZcYJucOzI%3D" +
- "&SignatureMethod=HmacSHA256" +
- "&SignatureVersion=2" +
- "&Timestamp=2012-04-16T15%3A54%3A08.897Z" +
- "&Version=2010-08-31" +
- "&AWSAccessKeyId=identity",
- "application/x-www-form-urlencoded"))
- .build();
-
- public void testFilterWhenResponseIs2xx() throws Exception {
-
- HttpResponse filterResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResourceWithContentType("/describe_addresses_single.xml", "text/xml")).build();
-
-
- EC2Api apiWhenExist = requestsSendResponses(describeRegionsRequest, describeRegionsResponse,
- filter, filterResponse);
-
- PublicIpInstanceIdPair address = getOnlyElement(apiWhenExist.getElasticIPAddressApi()
- .get().describeAddressesInRegionWithFilter("us-east-1",
- ImmutableMultimap.<String, String>builder()
- .put("instance-id", "i-f15ebb98")
- .build()));
- assertNotNull(address, "address should not be null");
-
- assertEquals(address.getPublicIp(), "67.202.55.255");
- }
-
- public void testFilterWhenResponseIs404() throws Exception {
-
- HttpResponse filterResponse = HttpResponse.builder().statusCode(404).build();
-
- EC2Api apiWhenDontExist = requestsSendResponses(describeRegionsRequest, describeRegionsResponse,
- filter, filterResponse);
-
- assertEquals(apiWhenDontExist.getElasticIPAddressApi()
- .get().describeAddressesInRegionWithFilter("us-east-1",
- ImmutableMultimap.<String, String>builder()
- .put("instance-id", "i-f15ebb98")
- .build()), ImmutableSet.of());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiLiveTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiLiveTest.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiLiveTest.java
deleted file mode 100644
index f2e7c69..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiLiveTest.java
+++ /dev/null
@@ -1,75 +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.features;
-
-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.EC2Api;
-import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.Sets;
-
-/**
- * Tests behavior of {@code ElasticIPAddressApi}
- */
-@Test(groups = "live", singleThreaded = true, testName = "ElasticIPAddressApiLiveTest")
-public class ElasticIPAddressApiLiveTest extends BaseComputeServiceContextLiveTest {
- public ElasticIPAddressApiLiveTest() {
- provider = "ec2";
- }
-
- private EC2Api ec2Api;
- private ElasticIPAddressApi client;
-
- @Override
- @BeforeClass(groups = { "integration", "live" })
- public void setupContext() {
- super.setupContext();
- ec2Api = view.unwrapApi(EC2Api.class);
- client = ec2Api.getElasticIPAddressApi().get();
- }
-
- @Test
- void testDescribeAddresses() {
- for (String region : ec2Api.getConfiguredRegions()) {
- SortedSet<PublicIpInstanceIdPair> allResults = Sets.newTreeSet(client.describeAddressesInRegion(region));
- assertNotNull(allResults);
- if (!allResults.isEmpty()) {
- PublicIpInstanceIdPair pair = allResults.last();
- SortedSet<PublicIpInstanceIdPair> result = Sets.newTreeSet(client.describeAddressesInRegion(region, pair
- .getPublicIp()));
- assertNotNull(result);
- PublicIpInstanceIdPair compare = result.last();
- assertEquals(compare, pair);
-
- SortedSet<PublicIpInstanceIdPair> filterResult = Sets.newTreeSet(client.describeAddressesInRegionWithFilter(
- region, ImmutableMultimap.<String, String>builder().put("public-ip", pair.getPublicIp()).build()));
- assertNotNull(filterResult);
- PublicIpInstanceIdPair filterCompare = filterResult.last();
- assertEquals(filterCompare, pair);
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiTest.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiTest.java
deleted file mode 100644
index 48f7b4c..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/test/java/org/jclouds/ec2/features/ElasticIPAddressApiTest.java
+++ /dev/null
@@ -1,138 +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.features;
-
-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 ElasticIPAddressApi}
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "ElasticIPAddressApiTest")
-public class ElasticIPAddressApiTest extends BaseEC2ApiTest<ElasticIPAddressApi> {
-
- public void testDisassociateAddress() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ElasticIPAddressApi.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", "nLU6xGLqXtT/dmyAvkN4BdL/3CxQlDWJYeskikhl54k%3D")
- .addFormParam("SignatureMethod", "HmacSHA256")
- .addFormParam("SignatureVersion", "2")
- .addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
- .addFormParam("Version", "2010-08-31")
- .addFormParam("AWSAccessKeyId", "identity").build();
-
- public void testAssociateAddress() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ElasticIPAddressApi.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(ElasticIPAddressApi.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(ElasticIPAddressApi.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(ElasticIPAddressApi.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);
- }
-}