http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/InstanceApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/InstanceApiLiveTest.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/InstanceApiLiveTest.java
deleted file mode 100644
index 6b7818a..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/InstanceApiLiveTest.java
+++ /dev/null
@@ -1,97 +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.getFirst;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.util.Set;
-
-import org.jclouds.aws.AWSResponseException;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.ec2.EC2Api;
-import org.jclouds.ec2.domain.Reservation;
-import org.jclouds.ec2.domain.RunningInstance;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMultimap;
-
-/**
- * Tests behavior of {@code EC2Api}
- * 
- * @author Adrian Cole, Andrew Bayer
- */
-@Test(groups = "live", singleThreaded = true, testName = "InstanceApiLiveTest")
-public class InstanceApiLiveTest extends BaseComputeServiceContextLiveTest {
-   public InstanceApiLiveTest() {
-      provider = "ec2";
-   }
-
-   private EC2Api ec2Api;
-   private InstanceApi client;
-
-   @Override
-   @BeforeClass(groups = { "integration", "live" })
-   public void setupContext() {
-      super.setupContext();
-      ec2Api = view.unwrapApi(EC2Api.class);
-      client = ec2Api.getInstanceApi().get();
-   }
-
-   @Test
-   void testDescribeInstances() {
-      for (String region : ec2Api.getConfiguredRegions()) {
-         Set<? extends Reservation<? extends RunningInstance>> allResults = 
client.describeInstancesInRegion(region);
-         assertNotNull(allResults);
-      }
-   }
-
-   @Test
-   void testFilterInstances() {
-      for (String region : 
view.unwrapApi(EC2Api.class).getAvailabilityZoneAndRegionApi().get().describeRegions().keySet())
 {
-         Set<? extends Reservation<? extends RunningInstance>> allResults = 
client.describeInstancesInRegion(region);
-         assertNotNull(allResults);
-
-         if (!allResults.isEmpty())  {
-            RunningInstance instance = getFirst(getFirst(allResults, null), 
null);
-
-            assertNotNull(instance);
-
-            Set<? extends Reservation<? extends RunningInstance>> 
filterResults = client.describeInstancesInRegionWithFilter(region,
-                    ImmutableMultimap.<String, String>builder()
-                            .put("key-name", instance.getKeyName())
-                            .build());
-
-            assertNotNull(filterResults);
-            assertTrue(!filterResults.isEmpty(), "No results found for filter, 
but there should be.");
-
-         }
-      }
-   }
-
-   @Test(expectedExceptions = AWSResponseException.class)
-   void testInvalidFilterInstances() {
-      for (String region : 
view.unwrapApi(EC2Api.class).getAvailabilityZoneAndRegionApi().get().describeRegions().keySet())
 {
-         Set<? extends Reservation<? extends RunningInstance>> filterResults = 
client.describeInstancesInRegionWithFilter(region,
-                 ImmutableMultimap.<String, String>builder()
-                         .put("invalid-key", "some-value")
-                         .build());
-
-      }
-   }}

http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/InstanceApiTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/InstanceApiTest.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/InstanceApiTest.java
deleted file mode 100644
index fbeb57a..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/InstanceApiTest.java
+++ /dev/null
@@ -1,593 +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 java.util.Map;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.ec2.domain.BlockDevice;
-import org.jclouds.ec2.domain.InstanceType;
-import org.jclouds.ec2.domain.Volume.InstanceInitiatedShutdownBehavior;
-import org.jclouds.ec2.options.RunInstancesOptions;
-import org.jclouds.ec2.xml.BlockDeviceMappingHandler;
-import org.jclouds.ec2.xml.BooleanValueHandler;
-import org.jclouds.ec2.xml.DescribeInstancesResponseHandler;
-import org.jclouds.ec2.xml.GetConsoleOutputResponseHandler;
-import org.jclouds.ec2.xml.InstanceInitiatedShutdownBehaviorHandler;
-import org.jclouds.ec2.xml.InstanceStateChangeHandler;
-import org.jclouds.ec2.xml.InstanceTypeHandler;
-import org.jclouds.ec2.xml.RunInstancesResponseHandler;
-import org.jclouds.ec2.xml.StringValueHandler;
-import org.jclouds.ec2.xml.UnencodeStringValueHandler;
-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.collect.Maps;
-import com.google.common.reflect.Invokable;
-/**
- * Tests behavior of {@code InstanceApi}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during 
surefire
-@Test(groups = "unit", testName = "InstanceApiTest")
-public class InstanceApiTest extends BaseEC2ApiTest<InstanceApi> {
-   public void testDescribeInstances() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"describeInstancesInRegion", String.class, 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=DescribeInstances", 
"application/x-www-form-urlencoded",
-               false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
DescribeInstancesResponseHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeInstancesArgs() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"describeInstancesInRegion", 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=DescribeInstances&InstanceId.1=1&InstanceId.2=2",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
DescribeInstancesResponseHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testTerminateInstances() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"terminateInstancesInRegion", 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=TerminateInstances&InstanceId.1=1&InstanceId.2=2",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
InstanceStateChangeHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testRunInstances() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"runInstancesInRegion", String.class, String.class,
-               String.class, int.class, int.class, 
RunInstancesOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, null, "ami-voo", 1, 1));
-
-      assertRequestLineEquals(request, "POST 
https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: 
ec2.us-east-1.amazonaws.com\n");
-      try {
-         assertPayloadEquals(request, 
"Action=RunInstances&ImageId=ami-voo&MinCount=1&MaxCount=1",
-                  "application/x-www-form-urlencoded", false);
-      } catch (AssertionError e) {
-         // mvn 3.0 osx 10.6.5 somehow sorts differently
-         assertPayloadEquals(request, 
"Action=RunInstances&ImageId=ami-voo&MaxCount=1&MinCount=1",
-                  "application/x-www-form-urlencoded", false);
-      }
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
RunInstancesResponseHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testRunInstancesOptions() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"runInstancesInRegion", String.class, String.class,
-               String.class, int.class, int.class, 
RunInstancesOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
ImmutableList.<Object> of("eu-west-1", "eu-west-1a", "ami-voo",
-               1, 5, new 
RunInstancesOptions().withKernelId("kernelId").withSecurityGroups("group1", 
"group2")));
-
-      assertRequestLineEquals(request, "POST 
https://ec2.eu-west-1.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: 
ec2.eu-west-1.amazonaws.com\n");
-      try {
-         assertPayloadEquals(
-                  request,
-                  
"Action=RunInstances&ImageId=ami-voo&MinCount=1&MaxCount=5&KernelId=kernelId&SecurityGroup.1=group1&SecurityGroup.2=group2&Placement.AvailabilityZone=eu-west-1a",
-                  "application/x-www-form-urlencoded", false);
-      } catch (AssertionError e) {
-         // mvn 3.0 osx 10.6.5 somehow sorts differently
-         assertPayloadEquals(
-                  request,
-                  
"Action=RunInstances&ImageId=ami-voo&MaxCount=5&MinCount=1&KernelId=kernelId&SecurityGroup.1=group1&SecurityGroup.2=group2&Placement.AvailabilityZone=eu-west-1a",
-                  "application/x-www-form-urlencoded", false);
-      }
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
RunInstancesResponseHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testStopInstances() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"stopInstancesInRegion", String.class, boolean.class,
-               String[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, true, "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=StopInstances&Force=true&InstanceId.1=1&InstanceId.2=2",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
InstanceStateChangeHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testRebootInstances() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"rebootInstancesInRegion", 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=RebootInstances&InstanceId.1=1&InstanceId.2=2",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testStartInstances() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"startInstancesInRegion", 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=StartInstances&InstanceId.1=1&InstanceId.2=2",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
InstanceStateChangeHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetUserDataForInstanceInRegion() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"getUserDataForInstanceInRegion", String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "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=DescribeInstanceAttribute&Attribute=userData&InstanceId=1",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
UnencodeStringValueHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetRootDeviceNameForInstanceInRegion() throws 
SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"getRootDeviceNameForInstanceInRegion", String.class,
-               String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "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=DescribeInstanceAttribute&Attribute=rootDeviceName&InstanceId=1",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, StringValueHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetRamdiskForInstanceInRegion() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"getRamdiskForInstanceInRegion", String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "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=DescribeInstanceAttribute&Attribute=ramdisk&InstanceId=1",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, StringValueHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetDisableApiTerminationForInstanceInRegion() throws 
SecurityException, NoSuchMethodException,
-            IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"isApiTerminationDisabledForInstanceInRegion", String.class,
-               String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "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=DescribeInstanceAttribute&Attribute=disableApiTermination&InstanceId=1",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, BooleanValueHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetKernelForInstanceInRegion() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"getKernelForInstanceInRegion", String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "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=DescribeInstanceAttribute&Attribute=kernel&InstanceId=1",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, StringValueHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetInstanceTypeForInstanceInRegion() throws 
SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"getInstanceTypeForInstanceInRegion", String.class,
-               String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "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=DescribeInstanceAttribute&Attribute=instanceType&InstanceId=1",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, InstanceTypeHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetInstanceInitiatedShutdownBehaviorForInstanceInRegion() 
throws SecurityException,
-            NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"getInstanceInitiatedShutdownBehaviorForInstanceInRegion",
-               String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "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=DescribeInstanceAttribute&Attribute=instanceInitiatedShutdownBehavior&InstanceId=1",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
InstanceInitiatedShutdownBehaviorHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetBlockDeviceMappingForInstanceInRegion() throws 
SecurityException, NoSuchMethodException,
-            IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"getBlockDeviceMappingForInstanceInRegion", String.class,
-               String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "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=DescribeInstanceAttribute&Attribute=blockDeviceMapping&InstanceId=1",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
BlockDeviceMappingHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest setUserDataForInstance = HttpRequest.builder().method("POST")
-                                                   
.endpoint("https://ec2.us-east-1.amazonaws.com/";)
-                                                   .addHeader("Host", 
"ec2.us-east-1.amazonaws.com")
-                                                   .addFormParam("Action", 
"ModifyInstanceAttribute")
-                                                   .addFormParam("Attribute", 
"userData")
-                                                   .addFormParam("InstanceId", 
"1")
-                                                   .addFormParam("Signature", 
"SfxT/1i/WokibleyEHo0zHizHisLzbDzzRxfOdnr1vY%3D")
-                                                   
.addFormParam("SignatureMethod", "HmacSHA256")
-                                                   
.addFormParam("SignatureVersion", "2")
-                                                   .addFormParam("Timestamp", 
"2009-11-08T15%3A54%3A08.897Z")
-                                                   .addFormParam("Value", 
"dGVzdA%3D%3D")
-                                                   .addFormParam("Version", 
"2010-08-31")
-                                                   
.addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testSetUserDataForInstanceInRegion() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"setUserDataForInstanceInRegion", String.class, String.class,
-               byte[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "1", "test".getBytes()));
-
-      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, 
setUserDataForInstance.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest setRamdiskForInstance = HttpRequest.builder().method("POST")
-                                                  
.endpoint("https://ec2.us-east-1.amazonaws.com/";)
-                                                  .addHeader("Host", 
"ec2.us-east-1.amazonaws.com")
-                                                  .addFormParam("Action", 
"ModifyInstanceAttribute")
-                                                  .addFormParam("Attribute", 
"ramdisk")
-                                                  .addFormParam("InstanceId", 
"1")
-                                                  .addFormParam("Signature", 
"aMQzFsknmQt1OA8Rb8aIzZoFXGK23UvrMIy8imNVUeQ%3D")
-                                                  
.addFormParam("SignatureMethod", "HmacSHA256")
-                                                  
.addFormParam("SignatureVersion", "2")
-                                                  .addFormParam("Timestamp", 
"2009-11-08T15%3A54%3A08.897Z")
-                                                  .addFormParam("Value", 
"test")
-                                                  .addFormParam("Version", 
"2010-08-31")
-                                                  
.addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testSetRamdiskForInstanceInRegion() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"setRamdiskForInstanceInRegion", String.class, String.class,
-               String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "1", "test"));
-
-      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, 
setRamdiskForInstance.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest setKernelForInstance = HttpRequest.builder().method("POST")
-                                                 
.endpoint("https://ec2.us-east-1.amazonaws.com/";)
-                                                 .addHeader("Host", 
"ec2.us-east-1.amazonaws.com")
-                                                 .addFormParam("Action", 
"ModifyInstanceAttribute")
-                                                 .addFormParam("Attribute", 
"kernel")
-                                                 .addFormParam("InstanceId", 
"1")
-                                                 .addFormParam("Signature", 
"GaQ9sC0uXHlN5JAMWQpYx%2Bc3XaF38qZgJex/kyqdR1E%3D")
-                                                 
.addFormParam("SignatureMethod", "HmacSHA256")
-                                                 
.addFormParam("SignatureVersion", "2")
-                                                 .addFormParam("Timestamp", 
"2009-11-08T15%3A54%3A08.897Z")
-                                                 .addFormParam("Value", "test")
-                                                 .addFormParam("Version", 
"2010-08-31")
-                                                 
.addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testSetKernelForInstanceInRegion() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"setKernelForInstanceInRegion", String.class, String.class,
-               String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "1", "test"));
-
-      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, 
setKernelForInstance.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest setApiTerminationDisabled = HttpRequest.builder().method("POST")
-                                                      
.endpoint("https://ec2.us-east-1.amazonaws.com/";)
-                                                      .addHeader("Host", 
"ec2.us-east-1.amazonaws.com")
-                                                      .addFormParam("Action", 
"ModifyInstanceAttribute")
-                                                      
.addFormParam("Attribute", "disableApiTermination")
-                                                      
.addFormParam("InstanceId", "1")
-                                                      
.addFormParam("Signature", "hErzi%2Bf4jBADviJ%2BLVTTGhlHWhMR/pyPUSBZgaHC79I%3D")
-                                                      
.addFormParam("SignatureMethod", "HmacSHA256")
-                                                      
.addFormParam("SignatureVersion", "2")
-                                                      
.addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
-                                                      .addFormParam("Value", 
"true")
-                                                      .addFormParam("Version", 
"2010-08-31")
-                                                      
.addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testSetApiTerminationDisabledForInstanceInRegion() throws 
SecurityException, NoSuchMethodException,
-            IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"setApiTerminationDisabledForInstanceInRegion", String.class,
-               String.class, boolean.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "1", true));
-
-      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, 
setApiTerminationDisabled.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest instanceTypeForInstance = HttpRequest.builder().method("POST")
-                                                    
.endpoint("https://ec2.us-east-1.amazonaws.com/";)
-                                                    .addHeader("Host", 
"ec2.us-east-1.amazonaws.com")
-                                                    .addFormParam("Action", 
"ModifyInstanceAttribute")
-                                                    .addFormParam("Attribute", 
"instanceType")
-                                                    
.addFormParam("InstanceId", "1")
-                                                    .addFormParam("Signature", 
"OYJQ1w79NoxkcrawNK6U71k3Wl78kqz2ikzTXmQCX2E%3D")
-                                                    
.addFormParam("SignatureMethod", "HmacSHA256")
-                                                    
.addFormParam("SignatureVersion", "2")
-                                                    .addFormParam("Timestamp", 
"2009-11-08T15%3A54%3A08.897Z")
-                                                    .addFormParam("Value", 
"c1.medium")
-                                                    .addFormParam("Version", 
"2010-08-31")
-                                                    
.addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testSetInstanceTypeForInstanceInRegion() throws 
SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"setInstanceTypeForInstanceInRegion", String.class,
-               String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "1", InstanceType.C1_MEDIUM));
-
-      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, 
instanceTypeForInstance.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest setInstanceInitiatedShutdownBehavior = 
HttpRequest.builder().method("POST")
-                                                                 
.endpoint("https://ec2.us-east-1.amazonaws.com/";)
-                                                                 
.addHeader("Host", "ec2.us-east-1.amazonaws.com")
-                                                                 
.addFormParam("Action", "ModifyInstanceAttribute")
-                                                                 
.addFormParam("Attribute", "instanceInitiatedShutdownBehavior")
-                                                                 
.addFormParam("InstanceId", "1")
-                                                                 
.addFormParam("Signature", "2Tgi9M9AcCv5Y%2BEXwq0SD6g8bBGtPPEgjdTtfdGZQlI%3D")
-                                                                 
.addFormParam("SignatureMethod", "HmacSHA256")
-                                                                 
.addFormParam("SignatureVersion", "2")
-                                                                 
.addFormParam("Timestamp", "2009-11-08T15%3A54%3A08.897Z")
-                                                                 
.addFormParam("Value", "terminate")
-                                                                 
.addFormParam("Version", "2010-08-31")
-                                                                 
.addFormParam("AWSAccessKeyId", "identity").build();
-
-   public void testSetInstanceInitiatedShutdownBehaviorForInstanceInRegion() 
throws SecurityException,
-            NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"setInstanceInitiatedShutdownBehaviorForInstanceInRegion",
-               String.class, String.class, 
InstanceInitiatedShutdownBehavior.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "1", 
InstanceInitiatedShutdownBehavior.TERMINATE));
-
-      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, 
setInstanceInitiatedShutdownBehavior.getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   HttpRequest setBlockDeviceMapping = HttpRequest.builder().method("POST")
-                                                           
.endpoint("https://ec2.us-east-1.amazonaws.com/";)
-                                                           .addHeader("Host", 
"ec2.us-east-1.amazonaws.com")
-                                                           
.addFormParam("Action", "ModifyInstanceAttribute")
-                                                           
.addFormParam("BlockDeviceMapping.1.DeviceName", "/dev/sda1")
-                                                           
.addFormParam("BlockDeviceMapping.1.Ebs.DeleteOnTermination", "true")
-                                                           
.addFormParam("BlockDeviceMapping.1.Ebs.VolumeId", "vol-test1")
-                                                           
.addFormParam("InstanceId", "1").build();
-
-   public void testSetBlockDeviceMappingForInstanceInRegion() throws 
SecurityException, NoSuchMethodException,
-            IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"setBlockDeviceMappingForInstanceInRegion", String.class,
-               String.class, Map.class);
-
-      Map<String, BlockDevice> mapping = Maps.newLinkedHashMap();
-      mapping.put("/dev/sda1", new BlockDevice("vol-test1", true));
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "1", mapping));
-
-      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, 
filter.filter(setBlockDeviceMapping).getPayload().getRawContent().toString(),
-            "application/x-www-form-urlencoded", false);
-
-
-      checkFilters(request);
-   }
-
-   public void testGetConsoleOutputForInstanceInRegion() throws 
SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(InstanceApi.class, 
"getConsoleOutputForInstanceInRegion", String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "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=GetConsoleOutput&InstanceId=1",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
GetConsoleOutputResponseHandler.class);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiExpectTest.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiExpectTest.java
deleted file mode 100644
index 8c1c3d8..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiExpectTest.java
+++ /dev/null
@@ -1,76 +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.KeyPair;
-import org.jclouds.ec2.internal.BaseEC2ApiExpectTest;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * @author Andrew Bayer
- */
-@Test(groups = "unit", testName = "KeyPairApiExpectTest")
-public class KeyPairApiExpectTest extends BaseEC2ApiExpectTest<EC2Api> {
-
-   HttpRequest filter = HttpRequest.builder().method("POST")
-           .endpoint("https://ec2.us-east-1.amazonaws.com/";)
-           .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-           .addFormParam("Action", "DescribeKeyPairs")
-           .addFormParam("Filter.1.Name", "key-name")
-           .addFormParam("Filter.1.Value.1", "gsg-keypair")
-           .addFormParam("Signature", 
"xg8vGx%2Bv9UEG0%2BFGy%2BhincdI2ziWLbwPJvW85l%2Bvqwg%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 testFilterWhenResponseIs2xx() {
-      HttpResponse filterResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResourceWithContentType("/describe_keypairs.xml", 
"text/xml")).build();
-
-      EC2Api apiWhenExist = requestsSendResponses(describeRegionsRequest, 
describeRegionsResponse, filter, filterResponse);
-
-      KeyPair keyPair = 
getOnlyElement(apiWhenExist.getKeyPairApi().get().describeKeyPairsInRegionWithFilter("us-east-1",
-              ImmutableMultimap.<String, String>builder()
-                      .put("key-name", "gsg-keypair")
-                      .build()));
-
-      assertEquals(keyPair.getKeyName(), "gsg-keypair");
-   }
-
-   public void testFilterWhenResponseIs404() {
-      HttpResponse filterResponse = 
HttpResponse.builder().statusCode(404).build();
-
-      EC2Api apiWhenNotExist = requestsSendResponses(describeRegionsRequest, 
describeRegionsResponse, filter, filterResponse);
-
-      
assertEquals(apiWhenNotExist.getKeyPairApi().get().describeKeyPairsInRegionWithFilter("us-east-1",
-              ImmutableMultimap.<String, String>builder()
-                      .put("key-name", "gsg-keypair")
-                      .build()),
-              ImmutableSet.of());
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiLiveTest.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiLiveTest.java
deleted file mode 100644
index b9219a5..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiLiveTest.java
+++ /dev/null
@@ -1,143 +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.Set;
-import java.util.SortedSet;
-
-import org.jclouds.aws.AWSResponseException;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.ec2.EC2Api;
-import org.jclouds.ec2.domain.KeyPair;
-import org.testng.annotations.AfterClass;
-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 KeyPairApi}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "KeyPairApiLiveTest")
-public class KeyPairApiLiveTest extends BaseComputeServiceContextLiveTest {
-   public KeyPairApiLiveTest() {
-      provider = "ec2";
-   }
-
-   private EC2Api ec2Api;
-   private KeyPairApi client;
-   
-   @Override
-   @BeforeClass(groups = { "integration", "live" })
-   public void setupContext() {
-      super.setupContext();
-      ec2Api = view.unwrapApi(EC2Api.class);
-      client = ec2Api.getKeyPairApi().get();
-   }
-
-   @Test
-   void testDescribeKeyPairs() {
-      for (String region : ec2Api.getConfiguredRegions()) {
-         SortedSet<KeyPair> allResults = 
Sets.newTreeSet(client.describeKeyPairsInRegion(region));
-         assertNotNull(allResults);
-         if (!allResults.isEmpty()) {
-            KeyPair pair = allResults.last();
-            SortedSet<KeyPair> result = 
Sets.newTreeSet(client.describeKeyPairsInRegion(region, pair.getKeyName()));
-            assertNotNull(result);
-            KeyPair compare = result.last();
-            assertEquals(compare, pair);
-         }
-      }
-   }
-
-   @Test
-   void testDescribeKeyPairsWithFilter() {
-      for (String region : ec2Api.getConfiguredRegions()) {
-         SortedSet<KeyPair> allResults = 
Sets.newTreeSet(client.describeKeyPairsInRegion(region));
-         assertNotNull(allResults);
-         if (!allResults.isEmpty()) {
-            KeyPair pair = allResults.last();
-            SortedSet<KeyPair> result = 
Sets.newTreeSet(client.describeKeyPairsInRegionWithFilter(region,
-                    ImmutableMultimap.<String, String>builder()
-                            .put("key-name", pair.getKeyName()).build()));
-            assertNotNull(result);
-            KeyPair compare = result.last();
-            assertEquals(compare, pair);
-         }
-      }
-   }
-
-   @Test(expectedExceptions = AWSResponseException.class)
-   void testDescribeKeyPairsWithInvalidFilter() {
-      for (String region : ec2Api.getConfiguredRegions()) {
-         SortedSet<KeyPair> allResults = 
Sets.newTreeSet(client.describeKeyPairsInRegion(region));
-         assertNotNull(allResults);
-         if (!allResults.isEmpty()) {
-            KeyPair pair = allResults.last();
-            SortedSet<KeyPair> result = 
Sets.newTreeSet(client.describeKeyPairsInRegionWithFilter(region,
-                    ImmutableMultimap.<String, String>builder()
-                            .put("invalid-filter", 
pair.getKeyName()).build()));
-         }
-      }
-   }
-
-   public static final String PREFIX = System.getProperty("user.name") + 
"-ec2";
-
-   @Test
-   void testCreateKeyPair() {
-      String keyName = PREFIX + "1";
-      try {
-         client.deleteKeyPairInRegion(null, keyName);
-      } catch (Exception e) {
-
-      }
-      client.deleteKeyPairInRegion(null, keyName);
-
-      KeyPair result = client.createKeyPairInRegion(null, keyName);
-      assertNotNull(result);
-      assertNotNull(result.getKeyMaterial());
-      assertNotNull(result.getSha1OfPrivateKey());
-      assertEquals(result.getKeyName(), keyName);
-
-      Set<KeyPair> twoResults = 
Sets.newLinkedHashSet(client.describeKeyPairsInRegion(null, keyName));
-      assertNotNull(twoResults);
-      assertEquals(twoResults.size(), 1);
-      KeyPair listPair = twoResults.iterator().next();
-      assertEquals(listPair.getKeyName(), result.getKeyName());
-      assertEquals(listPair.getSha1OfPrivateKey(), 
result.getSha1OfPrivateKey());
-   }
-
-   @AfterClass(groups = { "integration", "live" })
-   @Override
-   protected void tearDownContext() {
-      String keyName = PREFIX + "1";
-      try {
-         client.deleteKeyPairInRegion(null, keyName);
-      } catch (Exception e) {
-
-      }
-
-      super.tearDownContext();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiTest.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiTest.java
deleted file mode 100644
index 1d42076..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/KeyPairApiTest.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.features;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.ec2.xml.DescribeKeyPairsResponseHandler;
-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 KeyPairApi}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during 
surefire
-@Test(groups = "unit", testName = "KeyPairApiTest")
-public class KeyPairApiTest extends BaseEC2ApiTest<KeyPairApi> {
-
-   public void testDeleteKeyPair() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(KeyPairApi.class, 
"deleteKeyPairInRegion", String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, 
Lists.<Object> newArrayList(null, "mykey"));
-
-      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=DeleteKeyPair&KeyName=mykey",
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeKeyPairs() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(KeyPairApi.class, 
"describeKeyPairsInRegion", String.class, 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=DescribeKeyPairs", 
"application/x-www-form-urlencoded",
-            false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
DescribeKeyPairsResponseHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testDescribeKeyPairsArgs() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(KeyPairApi.class, 
"describeKeyPairsInRegion", 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=DescribeKeyPairs&KeyName.1=1&KeyName.2=2",
-            "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, 
DescribeKeyPairsResponseHandler.class);
-      assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/SecurityGroupApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/SecurityGroupApiExpectTest.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/SecurityGroupApiExpectTest.java
deleted file mode 100644
index 5bef06f..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/SecurityGroupApiExpectTest.java
+++ /dev/null
@@ -1,76 +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.SecurityGroup;
-import org.jclouds.ec2.internal.BaseEC2ApiExpectTest;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * @author Andrew Bayer
- */
-@Test(groups = "unit", testName = "SecurityGroupApiExpectTest")
-public class SecurityGroupApiExpectTest extends BaseEC2ApiExpectTest<EC2Api> {
-
-   HttpRequest filter = HttpRequest.builder().method("POST")
-           .endpoint("https://ec2.us-east-1.amazonaws.com/";)
-           .addHeader("Host", "ec2.us-east-1.amazonaws.com")
-           .addFormParam("Action", "DescribeSecurityGroups")
-           .addFormParam("Filter.1.Name", "owner-id")
-           .addFormParam("Filter.1.Value.1", "993194456877")
-           .addFormParam("Signature", 
"zk8EEWkG9Hi0bBLPueF9WdTUKapxQqUXgyJTxeZHXBc%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 testFilterWhenResponseIs2xx() {
-      HttpResponse filterResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResourceWithContentType("/describe_securitygroups_extension_single.xml",
 "text/xml")).build();
-
-      EC2Api apiWhenExist = requestsSendResponses(describeRegionsRequest, 
describeRegionsResponse, filter, filterResponse);
-
-      SecurityGroup group = 
getOnlyElement(apiWhenExist.getSecurityGroupApi().get().describeSecurityGroupsInRegionWithFilter("us-east-1",
-              ImmutableMultimap.<String, String>builder()
-                      .put("owner-id", "993194456877")
-                      .build()));
-
-      assertEquals(group.getId(), "sg-3c6ef654");
-   }
-
-   public void testFilterWhenResponseIs404() {
-      HttpResponse filterResponse = 
HttpResponse.builder().statusCode(404).build();
-
-      EC2Api apiWhenNotExist = requestsSendResponses(describeRegionsRequest, 
describeRegionsResponse, filter, filterResponse);
-
-      
assertEquals(apiWhenNotExist.getSecurityGroupApi().get().describeSecurityGroupsInRegionWithFilter("us-east-1",
-              ImmutableMultimap.<String, String>builder()
-                      .put("owner-id", "993194456877")
-                      .build()),
-              ImmutableSet.of());
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/397d9926/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/SecurityGroupApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/SecurityGroupApiLiveTest.java
 
b/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/SecurityGroupApiLiveTest.java
deleted file mode 100644
index edfc3ca..0000000
--- 
a/dependencies/jclouds/apis/ec2/1.7.1-stratos/src/test/java/org/jclouds/ec2/features/SecurityGroupApiLiveTest.java
+++ /dev/null
@@ -1,334 +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.Predicates.compose;
-import static com.google.common.base.Predicates.in;
-import static com.google.common.collect.Iterables.all;
-import static com.google.common.collect.Iterables.getLast;
-import static com.google.common.collect.Iterables.getOnlyElement;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.util.Set;
-
-import org.jclouds.aws.AWSResponseException;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.ec2.EC2Api;
-import org.jclouds.ec2.domain.SecurityGroup;
-import org.jclouds.ec2.domain.UserIdGroupPair;
-import org.jclouds.net.domain.IpPermission;
-import org.jclouds.net.domain.IpProtocol;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Tests behavior of {@code SecurityGroupApi}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = 
"SecurityGroupApiLiveTest")
-public class SecurityGroupApiLiveTest extends 
BaseComputeServiceContextLiveTest {
-   public SecurityGroupApiLiveTest() {
-      provider = "ec2";
-   }
-
-   private EC2Api ec2Api;
-   protected SecurityGroupApi client;
-
-   @Override
-   @BeforeClass(groups = { "integration", "live" })
-   public void setupContext() {
-      super.setupContext();
-      ec2Api = view.unwrapApi(EC2Api.class);
-      client = ec2Api.getSecurityGroupApi().get();
-   }
-
-   @Test
-   void testDescribe() {
-      for (String region : ec2Api.getConfiguredRegions()) {
-         Set<SecurityGroup> allResults = 
client.describeSecurityGroupsInRegion(region);
-         assertNotNull(allResults);
-         if (!allResults.isEmpty()) {
-            final SecurityGroup group = getLast(allResults);
-            // in case there are multiple groups with the same name, which is 
the case with VPC
-            ImmutableSet<SecurityGroup> expected = 
FluentIterable.from(allResults)
-                    .filter(new Predicate<SecurityGroup>() {
-                       @Override
-                       public boolean apply(SecurityGroup in) {
-                          return group.getName().equals(in.getName());
-                       }
-                    }).toSet();
-            ImmutableSet<SecurityGroup> result = 
ImmutableSet.copyOf(client.describeSecurityGroupsInRegion(region,
-                    group.getName()));
-            // the above command has a chance of returning less groups than 
the original
-            assertTrue(expected.containsAll(result), "group(s) for name not 
found");
-         }
-      }
-   }
-
-   @Test
-   void testFilter() {
-      for (String region : ec2Api.getConfiguredRegions()) {
-         Set<SecurityGroup> allResults = 
client.describeSecurityGroupsInRegion(region);
-         assertNotNull(allResults);
-         if (!allResults.isEmpty()) {
-            final SecurityGroup group = getLast(allResults);
-            // in case there are multiple groups with the same name, which is 
the case with VPC
-            ImmutableSet<SecurityGroup> expected = 
FluentIterable.from(allResults)
-                    .filter(new Predicate<SecurityGroup>() {
-                       @Override
-                       public boolean apply(SecurityGroup in) {
-                          return group.getName().equals(in.getName());
-                       }
-                    }).toSet();
-            ImmutableSet<SecurityGroup> result = 
ImmutableSet.copyOf(client.describeSecurityGroupsInRegionWithFilter(region,
-                    ImmutableMultimap.<String, String>builder()
-                            .put("group-name", group.getName()).build()));
-            // the above command has a chance of returning less groups than 
the original
-            assertTrue(expected.containsAll(result), "group(s) for name not 
found");
-         }
-      }
-   }
-
-   @Test(expectedExceptions = AWSResponseException.class)
-   void testFilterInvalid() {
-      for (String region : ec2Api.getConfiguredRegions()) {
-         Set<SecurityGroup> allResults = 
client.describeSecurityGroupsInRegion(region);
-         assertNotNull(allResults);
-         if (!allResults.isEmpty()) {
-            final SecurityGroup group = getLast(allResults);
-            // in case there are multiple groups with the same name, which is 
the case with VPC
-            ImmutableSet<SecurityGroup> expected = 
FluentIterable.from(allResults)
-                    .filter(new Predicate<SecurityGroup>() {
-                       @Override
-                       public boolean apply(SecurityGroup in) {
-                          return group.getName().equals(in.getName());
-                       }
-                    }).toSet();
-            ImmutableSet<SecurityGroup> result = 
ImmutableSet.copyOf(client.describeSecurityGroupsInRegionWithFilter(region,
-                    ImmutableMultimap.<String, String>builder()
-                            .put("invalid-filter", group.getName()).build()));
-         }
-      }
-   }
-
-   @Test
-   void testCreateSecurityGroup() {
-      String groupName = PREFIX + "1";
-      cleanupAndSleep(groupName);
-      try {
-         String groupDescription = PREFIX + "1 description";
-         client.deleteSecurityGroupInRegion(null, groupName);
-         client.createSecurityGroupInRegion(null, groupName, groupDescription);
-         verifySecurityGroup(groupName, groupDescription);
-      } finally {
-         client.deleteSecurityGroupInRegion(null, groupName);
-      }
-   }
-
-   protected void cleanupAndSleep(String groupName) {
-      try {
-         client.deleteSecurityGroupInRegion(null, groupName);
-         Thread.sleep(2000);
-      } catch (Exception e) {
-
-      }
-   }
-
-   @Test
-   void testAuthorizeSecurityGroupIngressCidr() {
-      String groupName = PREFIX + "ingress";
-      cleanupAndSleep(groupName);
-      try {
-         client.createSecurityGroupInRegion(null, groupName, groupName);
-         client.authorizeSecurityGroupIngressInRegion(null, groupName, 
IpProtocol.TCP, 80, 80, "0.0.0.0/0");
-         assertEventually(new GroupHasPermission(client, groupName, new 
TCPPort80AllIPs()));
-
-         client.revokeSecurityGroupIngressInRegion(null, groupName, 
IpProtocol.TCP, 80, 80, "0.0.0.0/0");
-         assertEventually(new GroupHasNoPermissions(client, groupName));
-      } finally {
-         client.deleteSecurityGroupInRegion(null, groupName);
-      }
-   }
-
-   @Test
-   void testAuthorizeSecurityGroupIngressSourcePort() {
-      String groupName = PREFIX + "ingress";
-      cleanupAndSleep(groupName);
-      try {
-         client.createSecurityGroupInRegion(null, groupName, groupName);
-         client.authorizeSecurityGroupIngressInRegion(null, groupName, 
IpProtocol.TCP, 80, 80, "0.0.0.0/0");
-         assertEventually(new GroupHasPermission(client, groupName, new 
TCPPort80AllIPs()));
-
-         client.revokeSecurityGroupIngressInRegion(null, groupName, 
IpProtocol.TCP, 80, 80, "0.0.0.0/0");
-         assertEventually(new GroupHasNoPermissions(client, groupName));
-      } finally {
-         client.deleteSecurityGroupInRegion(null, groupName);
-      }
-   }
-
-   private void verifySecurityGroup(String groupName, String description) {
-      Set<SecurityGroup> oneResult = 
client.describeSecurityGroupsInRegion(null, groupName);
-      assertNotNull(oneResult);
-      assertEquals(oneResult.size(), 1);
-      SecurityGroup listPair = oneResult.iterator().next();
-      assertEquals(listPair.getName(), groupName);
-      assertEquals(listPair.getDescription(), description);
-   }
-
-   @Test
-   void testAuthorizeSecurityGroupIngressSourceGroup() {
-      final String group1Name = PREFIX + "ingress1";
-      String group2Name = PREFIX + "ingress2";
-      cleanupAndSleep(group2Name);
-      cleanupAndSleep(group1Name);
-      try {
-         client.createSecurityGroupInRegion(null, group1Name, group1Name);
-         client.createSecurityGroupInRegion(null, group2Name, group2Name);
-         ensureGroupsExist(group1Name, group2Name);
-         client.authorizeSecurityGroupIngressInRegion(null, group1Name, 
IpProtocol.TCP, 80, 80, "0.0.0.0/0");
-         assertEventually(new GroupHasPermission(client, group1Name, new 
TCPPort80AllIPs()));
-         Set<SecurityGroup> oneResult = 
client.describeSecurityGroupsInRegion(null, group1Name);
-         assertNotNull(oneResult);
-         assertEquals(oneResult.size(), 1);
-         final SecurityGroup group = oneResult.iterator().next();
-         assertEquals(group.getName(), group1Name);
-         final UserIdGroupPair to = new UserIdGroupPair(group.getOwnerId(), 
group1Name);
-         client.authorizeSecurityGroupIngressInRegion(null, group2Name, to);
-         assertEventually(new GroupHasPermission(client, group2Name, new 
Predicate<IpPermission>() {
-            @Override
-            public boolean apply(IpPermission arg0) {
-               return 
arg0.getTenantIdGroupNamePairs().equals(ImmutableMultimap.of(group.getOwnerId(),
 group1Name));
-            }
-         }));
-
-         client.revokeSecurityGroupIngressInRegion(null, group2Name,
-               new UserIdGroupPair(group.getOwnerId(), group1Name));
-         assertEventually(new GroupHasNoPermissions(client, group2Name));
-      } finally {
-         client.deleteSecurityGroupInRegion(null, group2Name);
-         client.deleteSecurityGroupInRegion(null, group1Name);
-      }
-   }
-
-   public final class TCPPort80AllIPs implements Predicate<IpPermission> {
-      @Override
-      public boolean apply(IpPermission arg0) {
-         return arg0.getIpProtocol() == IpProtocol.TCP && arg0.getFromPort() 
== 80 && arg0.getToPort() == 80
-               && arg0.getCidrBlocks().equals(ImmutableSet.of("0.0.0.0/0"));
-      }
-   }
-
-   public static final class GroupHasPermission implements Runnable {
-      private final SecurityGroupApi client;
-      private final String group;
-      private final Predicate<IpPermission> permission;
-
-      public GroupHasPermission(SecurityGroupApi client, String group, 
Predicate<IpPermission> permission) {
-         this.client = client;
-         this.group = group;
-         this.permission = permission;
-      }
-
-      public void run() {
-         try {
-            Set<SecurityGroup> oneResult = 
client.describeSecurityGroupsInRegion(null, group);
-            assert all(getOnlyElement(oneResult), permission) : permission
-                  + ": " + oneResult;
-         } catch (Exception e) {
-            throw new AssertionError(e);
-         }
-      }
-   }
-
-   public static final class GroupHasNoPermissions implements Runnable {
-      private final SecurityGroupApi client;
-      private final String group;
-
-      public GroupHasNoPermissions(SecurityGroupApi client, String group) {
-         this.client = client;
-         this.group = group;
-      }
-
-      public void run() {
-         try {
-            Set<SecurityGroup> oneResult = 
client.describeSecurityGroupsInRegion(null, group);
-            assertNotNull(oneResult);
-            assertEquals(oneResult.size(), 1);
-            SecurityGroup listPair = oneResult.iterator().next();
-            assertEquals(listPair.size(), 0);
-         } catch (Exception e) {
-            throw new AssertionError(e);
-         }
-      }
-   }
-
-   protected void ensureGroupsExist(String group1Name, String group2Name) {
-      Set<SecurityGroup> twoResults = 
client.describeSecurityGroupsInRegion(null, group1Name, group2Name);
-      assertNotNull(twoResults);
-      assertTrue(twoResults.size() >= 2);// in VPC could be multiple groups 
with the same name
-
-      assertTrue(all(twoResults, compose(in(ImmutableSet.of(group1Name, 
group2Name)),
-            new Function<SecurityGroup, String>() {
-               @Override
-               public String apply(SecurityGroup in) {
-                  return in.getName();
-               }
-            })));
-   }
-
-   private static final int INCONSISTENCY_WINDOW = 5000;
-
-   /**
-    * Due to eventual consistency, container commands may not return correctly
-    * immediately. Hence, we will try up to the inconsistency window to see if
-    * the assertion completes.
-    */
-   protected static void assertEventually(Runnable assertion) {
-      long start = System.currentTimeMillis();
-      AssertionError error = null;
-      for (int i = 0; i < 30; i++) {
-         try {
-            assertion.run();
-            if (i > 0)
-               System.err.printf("%d attempts and %dms asserting %s%n", i + 1, 
System.currentTimeMillis() - start,
-                     assertion.getClass().getSimpleName());
-            return;
-         } catch (AssertionError e) {
-            error = e;
-         }
-         try {
-            Thread.sleep(INCONSISTENCY_WINDOW / 30);
-         } catch (InterruptedException e) {
-         }
-      }
-      if (error != null)
-         throw error;
-
-   }
-
-   public static final String PREFIX = System.getProperty("user.name") + 
"-ec2";
-
-}

Reply via email to