You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2014/09/06 17:54:42 UTC
[25/51] [partial] merging master branch to 4.0.0-grouping - 6th Sept
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";
-
-}