You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ab...@apache.org on 2013/07/01 21:13:07 UTC
[02/20] JCLOUDS-150 - Removal of async from AWS - specifically EC2
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSInstanceAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSInstanceAsyncClientTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSInstanceAsyncClientTest.java
deleted file mode 100644
index 6fa19d7..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSInstanceAsyncClientTest.java
+++ /dev/null
@@ -1,539 +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.aws.ec2.services;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.aws.ec2.options.AWSRunInstancesOptions;
-import org.jclouds.aws.ec2.xml.AWSDescribeInstancesResponseHandler;
-import org.jclouds.aws.ec2.xml.AWSRunInstancesResponseHandler;
-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.InstanceInitiatedShutdownBehaviorHandler;
-import org.jclouds.ec2.xml.InstanceStateChangeHandler;
-import org.jclouds.ec2.xml.InstanceTypeHandler;
-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.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.reflect.Invokable;
-/**
- * Tests behavior of {@code AWSInstanceAsyncClient}
- *
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during
-// surefire
-@Test(groups = "unit", testName = "AWSInstanceAsyncClientTest")
-public class AWSInstanceAsyncClientTest extends BaseAWSEC2AsyncClientTest<AWSInstanceAsyncClient> {
- public void testDescribeInstances() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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, AWSDescribeInstancesResponseHandler.class);
- assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testDescribeInstancesArgs() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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, AWSDescribeInstancesResponseHandler.class);
- assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testTerminateInstances() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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");
- assertPayloadEquals(request, "Action=RunInstances&ImageId=ami-voo&MinCount=1&MaxCount=1",
- "application/x-www-form-urlencoded", false);
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, AWSRunInstancesResponseHandler.class);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testRunInstancesOptions() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.class, "runInstancesInRegion", String.class, String.class,
- String.class, int.class, int.class, RunInstancesOptions[].class);
- GeneratedHttpRequest request = processor.createRequest(
- method,
- Lists.<Object> newArrayList("us-east-1",
- "us-east-1a",
- "ami-voo",
- 1,
- 5,
- new AWSRunInstancesOptions().withKernelId("kernelId").enableMonitoring()
- .withSecurityGroups("group1", "group2")));
-
- 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=RunInstances&ImageId=ami-voo&MinCount=1&MaxCount=5&KernelId=kernelId&Monitoring.Enabled=true&SecurityGroup.1=group1&SecurityGroup.2=group2&Placement.AvailabilityZone=us-east-1a",
- "application/x-www-form-urlencoded", false);
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, AWSRunInstancesResponseHandler.class);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testStopInstances() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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(AWSInstanceAsyncClient.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("Value", "dGVzdA%3D%3D").build();
-
- public void testSetUserDataForInstanceInRegion() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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, filter.filter(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("Value", "test").build();
-
- public void testSetRamdiskForInstanceInRegion() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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, filter.filter(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("Value", "test").build();
-
- public void testSetKernelForInstanceInRegion() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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, filter.filter(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("Value", "true").build();
-
- public void testSetApiTerminationDisabledForInstanceInRegion() throws SecurityException, NoSuchMethodException,
- IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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, filter.filter(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("Value", "c1.medium").build();
-
- public void testSetInstanceTypeForInstanceInRegion() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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, filter.filter(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("Value", "terminate").build();
-
- public void testSetInstanceInitiatedShutdownBehaviorForInstanceInRegion() throws SecurityException,
- NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSInstanceAsyncClient.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, filter.filter(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(AWSInstanceAsyncClient.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);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSInstanceClientLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSInstanceClientLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSInstanceClientLiveTest.java
deleted file mode 100644
index f2a3600..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSInstanceClientLiveTest.java
+++ /dev/null
@@ -1,61 +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.aws.ec2.services;
-
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Set;
-
-import org.jclouds.aws.ec2.AWSEC2ApiMetadata;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.ec2.domain.Reservation;
-import org.jclouds.ec2.domain.RunningInstance;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code EC2Client}
- *
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true)
-public class AWSInstanceClientLiveTest extends BaseComputeServiceContextLiveTest {
- public AWSInstanceClientLiveTest() {
- provider = "aws-ec2";
- }
-
- public static final String PREFIX = System.getProperty("user.name") + "-ec2";
-
- private AWSInstanceClient client;
-
- @Override
- @BeforeClass(groups = { "integration", "live" })
- public void setupContext() {
- super.setupContext();
- client = view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getInstanceServices();
- }
-
- @Test
- void testDescribeInstances() {
- for (String region : view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getAvailabilityZoneAndRegionServices().describeRegions().keySet()) {
- Set<? extends Reservation<? extends RunningInstance>> allResults = client.describeInstancesInRegion(region);
- assertNotNull(allResults);
- assert allResults.size() >= 0 : allResults.size();
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSKeyPairAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSKeyPairAsyncClientTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSKeyPairAsyncClientTest.java
deleted file mode 100644
index ef2a9e3..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSKeyPairAsyncClientTest.java
+++ /dev/null
@@ -1,134 +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.aws.ec2.services;
-
-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.ec2.xml.KeyPairResponseHandler;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Lists;
-import com.google.common.reflect.Invokable;
-/**
- * Tests behavior of {@code AWSKeyPairAsyncClient}
- *
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "AWSKeyPairAsyncClientTest")
-public class AWSKeyPairAsyncClientTest extends BaseAWSEC2AsyncClientTest<AWSKeyPairAsyncClient> {
-
- public void testCreateKeyPair() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSKeyPairAsyncClient.class, "createKeyPairInRegion", 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=CreateKeyPair&KeyName=mykey",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, KeyPairResponseHandler.class);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- HttpRequest importKeyPair = HttpRequest.builder().method("POST")
- .endpoint("https://ec2.us-east-1.amazonaws.com/")
- .addHeader("Host", "ec2.us-east-1.amazonaws.com")
- .addFormParam("Action", "ImportKeyPair")
- .addFormParam("KeyName", "mykey")
- .addFormParam("PublicKeyMaterial", "c3NoLXJzYSBBQQ%3D%3D").build();
-
- public void testImportKeyPair() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSKeyPairAsyncClient.class, "importKeyPairInRegion", String.class, String.class,
- String.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "mykey", "ssh-rsa AA"));
-
- 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(importKeyPair).getPayload().getRawContent().toString(),
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, KeyPairResponseHandler.class);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testDeleteKeyPair() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSKeyPairAsyncClient.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(AWSKeyPairAsyncClient.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(AWSKeyPairAsyncClient.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/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSKeyPairClientLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSKeyPairClientLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSKeyPairClientLiveTest.java
deleted file mode 100644
index 62cc313..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSKeyPairClientLiveTest.java
+++ /dev/null
@@ -1,209 +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.aws.ec2.services;
-
-import static com.google.common.collect.Iterables.get;
-import static com.google.common.collect.Iterables.getOnlyElement;
-import static com.google.common.collect.Sets.newTreeSet;
-import static org.jclouds.compute.options.TemplateOptions.Builder.overrideLoginCredentials;
-import static org.jclouds.compute.predicates.NodePredicates.inGroup;
-import static org.jclouds.compute.predicates.NodePredicates.runningInGroup;
-import static org.jclouds.scriptbuilder.domain.Statements.exec;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.fail;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedSet;
-
-import org.jclouds.aws.domain.Region;
-import org.jclouds.aws.ec2.AWSEC2ApiMetadata;
-import org.jclouds.aws.ec2.AWSEC2Client;
-import org.jclouds.aws.ec2.compute.AWSEC2TemplateOptions;
-import org.jclouds.aws.ec2.domain.AWSRunningInstance;
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.compute.ComputeTestUtils;
-import org.jclouds.compute.domain.ExecResponse;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.domain.LoginCredentials;
-import org.jclouds.ec2.domain.KeyPair;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * Tests behavior of {@code AWSKeyPairClient}
- *
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true)
-public class AWSKeyPairClientLiveTest extends BaseComputeServiceContextLiveTest {
- public AWSKeyPairClientLiveTest() {
- provider = "aws-ec2";
- }
-
- private AWSKeyPairClient client;
-
- @Override
- @BeforeClass(groups = { "integration", "live" })
- public void setupContext() {
- super.setupContext();
- client = view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getKeyPairServices();
- }
-
- public void testNoSsh() throws Exception {
-
- Map<String, String> keyPair = ComputeTestUtils.setupKeyPair();
-
- AWSInstanceClient instanceClient = AWSEC2Client.class.cast(view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi()).getInstanceServices();
-
- String group = PREFIX + "unssh";
- view.getComputeService().destroyNodesMatching(inGroup(group));
-
- TemplateOptions options = view.getComputeService().templateOptions();
-
- options.authorizePublicKey(keyPair.get("public")).as(AWSEC2TemplateOptions.class);
-
- ComputeServiceContext noSshContext = null;
- try {
- noSshContext = createView(setupProperties(), ImmutableSet.<Module> of(new Log4JLoggingModule()));
-
- Set<? extends NodeMetadata> nodes = noSshContext.getComputeService().createNodesInGroup(group, 1, options);
-
- NodeMetadata first = get(nodes, 0);
- assert first.getCredentials() != null : first;
- assert first.getCredentials().identity != null : first;
- // credentials should not be present as the import public key call doesn't have access to
- // the related private key
- assert first.getCredentials().credential == null : first;
-
- AWSRunningInstance instance = getInstance(instanceClient, first.getProviderId());
-
- assertEquals(instance.getKeyName(), "jclouds#" + group);
-
- Map<? extends NodeMetadata, ExecResponse> responses = view.getComputeService()
- .runScriptOnNodesMatching(
- runningInGroup(group),
- exec("echo hello"),
- overrideLoginCredentials(
- LoginCredentials.builder().user(first.getCredentials().identity)
- .privateKey(keyPair.get("private")).build()).wrapInInitScript(false).runAsRoot(false));
-
- ExecResponse hello = getOnlyElement(responses.values());
- assertEquals(hello.getOutput().trim(), "hello");
-
- } finally {
- noSshContext.close();
- view.getComputeService().destroyNodesMatching(inGroup(group));
- }
- }
-
- @Test
- void testDescribeAWSKeyPairs() {
- for (String region : Region.DEFAULT_REGIONS) {
-
- SortedSet<KeyPair> allResults = newTreeSet(client.describeKeyPairsInRegion(region));
- assertNotNull(allResults);
- if (allResults.size() >= 1) {
- KeyPair pair = allResults.last();
- SortedSet<KeyPair> result = newTreeSet(client.describeKeyPairsInRegion(region, pair.getKeyName()));
- assertNotNull(result);
- KeyPair compare = result.last();
- assertEquals(compare, pair);
- }
- }
- }
-
- public static final String PREFIX = System.getProperty("user.name") + "-ec2";
-
- @Test
- void testCreateKeyPair() {
- String keyName = PREFIX + "1";
- cleanupKeyPair(keyName);
- try {
- KeyPair keyPair = client.createKeyPairInRegion(null, keyName);
- checkKeyPair(keyName, keyPair);
- assertNotNull(keyPair.getKeyMaterial());
- } finally {
- cleanupKeyPair(keyName);
- }
- }
-
- protected void cleanupKeyPair(String keyName) {
- try {
- client.deleteKeyPairInRegion(null, keyName);
- } catch (Exception e) {
-
- }
- client.deleteKeyPairInRegion(null, keyName);
- }
-
- @Test
- void testImportKeyPair() throws FileNotFoundException, IOException {
- String keyName = PREFIX + "2";
- cleanupKeyPair(keyName);
- Map<String, String> myKey = ComputeTestUtils.setupKeyPair();
- try {
- KeyPair keyPair = client.importKeyPairInRegion(null, keyName, myKey.get("public"));
- checkKeyPair(keyName, keyPair);
- // TODO generate correct fingerprint and check
- // assertEquals(keyPair.getKeyFingerprint(),
- // CryptoStreams.hex(CryptoStreams.md5(myKey.get("public").getBytes())));
-
- // try again to see if there's an error
- try {
- client.importKeyPairInRegion(null, keyName, myKey.get("public"));
- fail("Expected IllegalStateException");
- } catch (IllegalStateException e) {
-
- }
- } finally {
- cleanupKeyPair(keyName);
- }
- }
-
- protected void checkKeyPair(String keyName, KeyPair keyPair) {
- assertNotNull(keyPair);
- assertNotNull(keyPair.getSha1OfPrivateKey());
- assertEquals(keyPair.getKeyName(), keyName);
-
- Set<KeyPair> twoResults = client.describeKeyPairsInRegion(null, keyName);
- assertNotNull(twoResults);
- assertEquals(twoResults.size(), 1);
- KeyPair listPair = twoResults.iterator().next();
- assertEquals(listPair.getKeyName(), keyPair.getKeyName());
- assertEquals(listPair.getSha1OfPrivateKey(), keyPair.getSha1OfPrivateKey());
- }
-
- protected AWSRunningInstance getInstance(AWSInstanceClient instanceClient, String id) {
- return getOnlyElement(getOnlyElement(instanceClient.describeInstancesInRegion(null, id)));
- }
-
- @Override
- protected Module getSshModule() {
- return new SshjSshClientModule();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupAsyncClientTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupAsyncClientTest.java
deleted file mode 100644
index 9ebead5..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupAsyncClientTest.java
+++ /dev/null
@@ -1,207 +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.aws.ec2.services;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.Fallbacks.VoidOnNotFoundOr404;
-import org.jclouds.ec2.util.IpPermissions;
-import org.jclouds.ec2.xml.DescribeSecurityGroupsResponseHandler;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.net.domain.IpPermission;
-import org.jclouds.net.domain.IpProtocol;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
-import com.google.common.reflect.Invokable;
-/**
- * Tests behavior of {@code AWSSecurityGroupAsyncClient}
- *
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during
-// surefire
-@Test(groups = "unit", testName = "AWSSecurityGroupAsyncClientTest")
-public class AWSSecurityGroupAsyncClientTest extends BaseAWSEC2AsyncClientTest<AWSSecurityGroupAsyncClient> {
- public AWSSecurityGroupAsyncClientTest() {
- provider = "aws-ec2";
- }
-
- public void testDeleteSecurityGroup() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSSecurityGroupAsyncClient.class, "deleteSecurityGroupInRegionById", String.class,
- String.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "id"));
-
- assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
- assertPayloadEquals(request, "Action=DeleteSecurityGroup&GroupId=id",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, VoidOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testDescribeSecurityGroups() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSSecurityGroupAsyncClient.class, "describeSecurityGroupsInRegionById", 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=DescribeSecurityGroups",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, DescribeSecurityGroupsResponseHandler.class);
- assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testDescribeSecurityGroupsArgs() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSSecurityGroupAsyncClient.class, "describeSecurityGroupsInRegionById", 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=DescribeSecurityGroups&GroupId.1=1&GroupId.2=2",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, DescribeSecurityGroupsResponseHandler.class);
- assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- HttpRequest createSecurityGroup = HttpRequest.builder().method("POST")
- .endpoint("https://ec2.us-east-1.amazonaws.com/")
- .addHeader("Host", "ec2.us-east-1.amazonaws.com")
- .addFormParam("Action", "CreateSecurityGroup")
- .addFormParam("GroupDescription", "description")
- .addFormParam("GroupName", "name").build();
-
- public void testCreateSecurityGroup() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSSecurityGroupAsyncClient.class, "createSecurityGroupInRegion", String.class,
- String.class, String.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "name", "description"));
-
- 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(createSecurityGroup).getPayload().getRawContent().toString(),
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testAuthorizeSecurityGroupIpPermission() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSSecurityGroupAsyncClient.class, "authorizeSecurityGroupIngressInRegion",
- String.class, String.class, IpPermission.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "group", IpPermissions.permitAnyProtocol()));
-
- 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=AuthorizeSecurityGroupIngress&GroupId=group&IpPermissions.0.IpProtocol=-1&IpPermissions.0.FromPort=1&IpPermissions.0.ToPort=65535&IpPermissions.0.IpRanges.0.CidrIp=0.0.0.0/0",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testAuthorizeSecurityGroupIpPermissions() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSSecurityGroupAsyncClient.class, "authorizeSecurityGroupIngressInRegion",
- String.class, String.class, Iterable.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "group", ImmutableSet.<IpPermission> of(IpPermissions
- .permit(IpProtocol.TCP).originatingFromCidrBlock("1.1.1.1/32"), IpPermissions.permitICMP().type(8).andCode(0)
- .originatingFromSecurityGroupId("groupId"))));
-
- 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=AuthorizeSecurityGroupIngress&GroupId=group&IpPermissions.0.IpProtocol=tcp&IpPermissions.0.FromPort=1&IpPermissions.0.ToPort=65535&IpPermissions.0.IpRanges.0.CidrIp=1.1.1.1/32&IpPermissions.1.IpProtocol=icmp&IpPermissions.1.FromPort=8&IpPermissions.1.ToPort=0&IpPermissions.1.Groups.0.GroupId=groupId",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testRevokeSecurityGroupIpPermission() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSSecurityGroupAsyncClient.class, "revokeSecurityGroupIngressInRegion", String.class,
- String.class, IpPermission.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "group", IpPermissions.permitAnyProtocol()));
-
- 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=RevokeSecurityGroupIngress&GroupId=group&IpPermissions.0.IpProtocol=-1&IpPermissions.0.FromPort=1&IpPermissions.0.ToPort=65535&IpPermissions.0.IpRanges.0.CidrIp=0.0.0.0/0",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testRevokeSecurityGroupIpPermissions() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(AWSSecurityGroupAsyncClient.class, "revokeSecurityGroupIngressInRegion", String.class,
- String.class, Iterable.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "group", ImmutableSet.<IpPermission> of(IpPermissions
- .permit(IpProtocol.TCP).originatingFromCidrBlock("1.1.1.1/32"), IpPermissions.permitICMP().type(8).andCode(0)
- .originatingFromSecurityGroupId("groupId"))));
-
- 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=RevokeSecurityGroupIngress&GroupId=group&IpPermissions.0.IpProtocol=tcp&IpPermissions.0.FromPort=1&IpPermissions.0.ToPort=65535&IpPermissions.0.IpRanges.0.CidrIp=1.1.1.1/32&IpPermissions.1.IpProtocol=icmp&IpPermissions.1.FromPort=8&IpPermissions.1.ToPort=0&IpPermissions.1.Groups.0.GroupId=groupId",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupClientLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupClientLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupClientLiveTest.java
deleted file mode 100644
index 76c7e91..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupClientLiveTest.java
+++ /dev/null
@@ -1,85 +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.aws.ec2.services;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Set;
-
-import org.jclouds.ec2.domain.SecurityGroup;
-import org.jclouds.ec2.services.SecurityGroupClientLiveTest;
-import org.jclouds.ec2.util.IpPermissions;
-import org.jclouds.net.domain.IpPermission;
-import org.jclouds.net.domain.IpProtocol;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableMultimap;
-
-/**
- *
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true)
-public class AWSSecurityGroupClientLiveTest extends SecurityGroupClientLiveTest {
- public AWSSecurityGroupClientLiveTest() {
- provider = "aws-ec2";
- }
-
- @Test
- void testAuthorizeSecurityGroupIngressIpPermission() throws InterruptedException {
- final String group1Name = PREFIX + "ingress11";
- String group2Name = PREFIX + "ingress12";
- cleanupAndSleep(group2Name);
- cleanupAndSleep(group1Name);
- try {
- String group1Id = AWSSecurityGroupClient.class.cast(client).createSecurityGroupInRegionAndReturnId(null,
- group1Name, group1Name);
- String group2Id = AWSSecurityGroupClient.class.cast(client).createSecurityGroupInRegionAndReturnId(null,
- group2Name, group2Name);
- Thread.sleep(100);// eventual consistent
- ensureGroupsExist(group1Name, group2Name);
- AWSSecurityGroupClient.class.cast(client).authorizeSecurityGroupIngressInRegion(null, group1Id,
- IpPermissions.permit(IpProtocol.TCP).port(80));
- 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);
- IpPermissions group2CanHttpGroup1 = IpPermissions.permit(IpProtocol.TCP).port(80)
- .originatingFromSecurityGroupId(group1Id);
- AWSSecurityGroupClient.class.cast(client).authorizeSecurityGroupIngressInRegion(null, group2Id,
- group2CanHttpGroup1);
- assertEventually(new GroupHasPermission(client, group2Name, new Predicate<IpPermission>() {
- @Override
- public boolean apply(IpPermission arg0) {
- return arg0.getTenantIdGroupNamePairs().equals(ImmutableMultimap.of(group.getOwnerId(), group1Name))
- && arg0.getFromPort() == 80 && arg0.getToPort() == 80 && arg0.getIpProtocol() == IpProtocol.TCP;
- }
- }));
-
- AWSSecurityGroupClient.class.cast(client).revokeSecurityGroupIngressInRegion(null, group2Id,
- group2CanHttpGroup1);
- assertEventually(new GroupHasNoPermissions(client, group2Name));
- } finally {
- client.deleteSecurityGroupInRegion(null, group2Name);
- client.deleteSecurityGroupInRegion(null, group1Name);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/BaseAWSEC2AsyncClientTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/BaseAWSEC2AsyncClientTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/BaseAWSEC2AsyncClientTest.java
deleted file mode 100644
index 3c712c1..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/BaseAWSEC2AsyncClientTest.java
+++ /dev/null
@@ -1,135 +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.aws.ec2.services;
-
-import static com.google.common.collect.Maps.transformValues;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Singleton;
-
-import org.jclouds.aws.domain.Region;
-import org.jclouds.aws.ec2.AWSEC2ProviderMetadata;
-import org.jclouds.aws.ec2.config.AWSEC2RestClientModule;
-import org.jclouds.aws.filters.FormSigner;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.date.DateService;
-import org.jclouds.ec2.compute.domain.RegionAndName;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.location.config.LocationModule;
-import org.jclouds.location.suppliers.RegionIdToURISupplier;
-import org.jclouds.location.suppliers.RegionIdToZoneIdsSupplier;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.internal.BaseAsyncClientTest;
-import org.jclouds.util.Suppliers2;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Supplier;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-import com.google.inject.Provides;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "unit")
-public abstract class BaseAWSEC2AsyncClientTest<T> extends BaseAsyncClientTest<T> {
-
- @ConfiguresRestClient
- protected static class StubAWSEC2RestClientModule extends AWSEC2RestClientModule {
-
- @Override
- protected String provideTimeStamp(DateService dateService) {
- return "2009-11-08T15:54:08.897Z";
- }
-
- @Provides
- @Singleton
- LoadingCache<RegionAndName, Image> provide() {
- return CacheBuilder.newBuilder().build(new CacheLoader<RegionAndName, Image>() {
-
- @Override
- public Image load(RegionAndName key) throws Exception {
- return null;
- }
-
- });
- }
-
- @Override
- protected void installLocations() {
- install(new LocationModule());
- bind(RegionIdToURISupplier.class).toInstance(new RegionIdToURISupplier() {
-
- @Override
- public Map<String, Supplier<URI>> get() {
- return transformValues(ImmutableMap.<String, URI> of(Region.EU_WEST_1, URI
- .create("https://ec2.eu-west-1.amazonaws.com"), Region.US_EAST_1, URI
- .create("https://ec2.us-east-1.amazonaws.com"), Region.US_WEST_1, URI
- .create("https://ec2.us-west-1.amazonaws.com")), Suppliers2.<URI> ofInstanceFunction());
- }
-
- });
- bind(RegionIdToZoneIdsSupplier.class).toInstance(new RegionIdToZoneIdsSupplier() {
-
- @Override
- public Map<String, Supplier<Set<String>>> get() {
- return transformValues(ImmutableMap.<String, Set<String>> of("us-east-1", ImmutableSet.of("us-east-1a",
- "us-east-1b", "us-east-1c", "us-east-1b")), Suppliers2.<Set<String>> ofInstanceFunction());
- }
-
- });
- }
- }
-
- protected FormSigner filter;
-
- @Override
- protected void checkFilters(HttpRequest request) {
- assertEquals(request.getFilters().size(), 1);
- assertEquals(request.getFilters().get(0).getClass(), FormSigner.class);
- }
-
- @Override
- @BeforeTest
- protected void setupFactory() throws IOException {
- super.setupFactory();
- this.filter = injector.getInstance(FormSigner.class);
- }
-
- @Override
- protected Module createModule() {
- return new StubAWSEC2RestClientModule();
- }
-
- protected String provider = "aws-ec2";
-
- @Override
- public AWSEC2ProviderMetadata createProviderMetadata(){
- return new AWSEC2ProviderMetadata();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/MonitoringAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/MonitoringAsyncClientTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/MonitoringAsyncClientTest.java
deleted file mode 100644
index 837ac70..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/MonitoringAsyncClientTest.java
+++ /dev/null
@@ -1,73 +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.aws.ec2.services;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.aws.ec2.xml.MonitoringStateHandler;
-import org.jclouds.http.functions.ParseSax;
-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 MonitoringAsyncClient}
- *
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "MonitoringAsyncClientTest")
-public class MonitoringAsyncClientTest extends BaseAWSEC2AsyncClientTest<MonitoringAsyncClient> {
-
- public void testUnmonitorInstances() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(MonitoringAsyncClient.class, "unmonitorInstancesInRegion", String.class, String.class,
- String[].class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "instance1", "instance2"));
-
- assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1");
- String payload = "Action=UnmonitorInstances&InstanceId.0=instance1&InstanceId.1=instance2";
- assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n");
- assertPayloadEquals(request, payload, "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, MonitoringStateHandler.class);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testMonitorInstances() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(MonitoringAsyncClient.class, "monitorInstancesInRegion", String.class, String.class,
- String[].class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "instance1", "instance2"));
-
- 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=MonitorInstances&InstanceId.0=instance1&InstanceId.1=instance2",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, MonitoringStateHandler.class);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/MonitoringClientLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/MonitoringClientLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/MonitoringClientLiveTest.java
deleted file mode 100644
index 1df3493..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/MonitoringClientLiveTest.java
+++ /dev/null
@@ -1,65 +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.aws.ec2.services;
-
-import static org.testng.Assert.assertEquals;
-
-import java.util.Map;
-
-import org.jclouds.aws.ec2.AWSEC2ApiMetadata;
-import org.jclouds.aws.ec2.domain.MonitoringState;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code MonitoringClient}
- *
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true)
-public class MonitoringClientLiveTest extends BaseComputeServiceContextLiveTest {
- public MonitoringClientLiveTest() {
- provider = "aws-ec2";
- }
-
- private MonitoringClient client;
- private static final String DEFAULT_INSTANCE = "i-TODO";
-
-
- @Override
- @BeforeClass(groups = { "integration", "live" })
- public void setupContext() {
- super.setupContext();
- client = view.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi().getMonitoringServices();
- }
-
- @Test(enabled = false)
- // TODO get instance
- public void testMonitorInstances() {
- Map<String, MonitoringState> monitoringState = client.monitorInstancesInRegion(null, DEFAULT_INSTANCE);
- assertEquals(monitoringState.get(DEFAULT_INSTANCE), MonitoringState.PENDING);
- }
-
- @Test(enabled = false)
- // TODO get instance
- public void testUnmonitorInstances() {
- Map<String, MonitoringState> monitoringState = client.unmonitorInstancesInRegion(null, DEFAULT_INSTANCE);
- assertEquals(monitoringState.get(DEFAULT_INSTANCE), MonitoringState.PENDING);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f3b8d3f/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/PlacementGroupAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/PlacementGroupAsyncClientTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/PlacementGroupAsyncClientTest.java
deleted file mode 100644
index 4f3eb18..0000000
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/PlacementGroupAsyncClientTest.java
+++ /dev/null
@@ -1,136 +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.aws.ec2.services;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404;
-import org.jclouds.Fallbacks.VoidOnNotFoundOr404;
-import org.jclouds.aws.ec2.xml.DescribePlacementGroupsResponseHandler;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Lists;
-import com.google.common.reflect.Invokable;
-/**
- * Tests behavior of {@code PlacementGroupAsyncClient}
- *
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "PlacementGroupAsyncClientTest")
-public class PlacementGroupAsyncClientTest extends BaseAWSEC2AsyncClientTest<PlacementGroupAsyncClient> {
-
- public void testDeletePlacementGroup() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(PlacementGroupAsyncClient.class, "deletePlacementGroupInRegion", String.class,
- String.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "name"));
-
- 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=DeletePlacementGroup&GroupName=name",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, VoidOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- HttpRequest createPlacementGroup = HttpRequest.builder().method("POST")
- .endpoint("https://ec2.us-east-1.amazonaws.com/")
- .addHeader("Host", "ec2.us-east-1.amazonaws.com")
- .addFormParam("Action", "CreatePlacementGroup")
- .addFormParam("GroupName", "name")
- .addFormParam("Strategy", "cluster").build();
-
- public void testCreatePlacementGroup() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(PlacementGroupAsyncClient.class, "createPlacementGroupInRegion", String.class,
- String.class, String.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "name", "cluster"));
-
- 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(createPlacementGroup).getPayload().getRawContent().toString(),
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testCreatePlacementGroupDefault() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(PlacementGroupAsyncClient.class, "createPlacementGroupInRegion", String.class,
- String.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "name"));
-
- 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=CreatePlacementGroup&Strategy=cluster&GroupName=name",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
- assertSaxResponseParserClassEquals(method, null);
- assertFallbackClassEquals(method, null);
-
- checkFilters(request);
- }
-
- public void testDescribePlacementGroups() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(PlacementGroupAsyncClient.class, "describePlacementGroupsInRegion", 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=DescribePlacementGroups",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, DescribePlacementGroupsResponseHandler.class);
- assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testDescribePlacementGroupsArgs() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(PlacementGroupAsyncClient.class, "describePlacementGroupsInRegion", 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=DescribePlacementGroups&GroupName.1=1&GroupName.2=2",
- "application/x-www-form-urlencoded", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, DescribePlacementGroupsResponseHandler.class);
- assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-}