mirror of https://github.com/apache/jclouds.git
allowed regions to be unspecified so that untargetted apis can be tested
This commit is contained in:
parent
7c294e8c55
commit
522d94f5ec
|
@ -26,11 +26,13 @@ import java.net.URI;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import org.jclouds.location.Region;
|
import org.jclouds.location.Region;
|
||||||
|
import org.jclouds.logging.Logger;
|
||||||
|
|
||||||
import com.google.common.base.Splitter;
|
import com.google.common.base.Splitter;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
@ -53,6 +55,9 @@ public class ProvideRegionToURIViaProperties implements javax.inject.Provider<Ma
|
||||||
private final Injector injector;
|
private final Injector injector;
|
||||||
private final Multimap<String, String> constants;
|
private final Multimap<String, String> constants;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
protected Logger logger = Logger.NULL;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
protected ProvideRegionToURIViaProperties(Injector injector, @Named("CONSTANTS") Multimap<String, String> constants) {
|
protected ProvideRegionToURIViaProperties(Injector injector, @Named("CONSTANTS") Multimap<String, String> constants) {
|
||||||
this.injector = injector;
|
this.injector = injector;
|
||||||
|
@ -77,8 +82,7 @@ public class ProvideRegionToURIViaProperties implements javax.inject.Provider<Ma
|
||||||
}
|
}
|
||||||
return regions.build();
|
return regions.build();
|
||||||
} catch (ConfigurationException e) {
|
} catch (ConfigurationException e) {
|
||||||
// this happens if regions property isn't set
|
logger.warn("no region name to endpoint mappings configured!");
|
||||||
// services not run by AWS may not have regions, so this is ok.
|
|
||||||
return ImmutableMap.of();
|
return ImmutableMap.of();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,6 @@ public class RegionToEndpointOrProviderIfNull implements Function<Object, URI> {
|
||||||
this.defaultProvider = checkNotNull(defaultProvider, "defaultProvider");
|
this.defaultProvider = checkNotNull(defaultProvider, "defaultProvider");
|
||||||
this.defaultUri = checkNotNull(defaultUri, "defaultUri");
|
this.defaultUri = checkNotNull(defaultUri, "defaultUri");
|
||||||
this.regionToEndpoint = checkNotNull(regionToEndpoint, "regionToEndpoint");
|
this.regionToEndpoint = checkNotNull(regionToEndpoint, "regionToEndpoint");
|
||||||
checkArgument(regionToEndpoint.size() > 0, "no region name to endpoint mappings configured!");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -22,14 +22,11 @@ import static org.testng.Assert.assertEquals;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.net.URI;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
|
|
||||||
import org.jclouds.Constants;
|
import org.jclouds.Constants;
|
||||||
import org.jclouds.aws.domain.Region;
|
|
||||||
import org.jclouds.aws.filters.FormSigner;
|
import org.jclouds.aws.filters.FormSigner;
|
||||||
import org.jclouds.date.DateService;
|
import org.jclouds.date.DateService;
|
||||||
import org.jclouds.elb.config.ELBRestClientModule;
|
import org.jclouds.elb.config.ELBRestClientModule;
|
||||||
|
@ -49,7 +46,6 @@ import org.jclouds.rest.functions.ReturnEmptySetOnNotFoundOr404;
|
||||||
import org.jclouds.rest.internal.RestAnnotationProcessor;
|
import org.jclouds.rest.internal.RestAnnotationProcessor;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
|
||||||
import com.google.inject.Module;
|
import com.google.inject.Module;
|
||||||
import com.google.inject.TypeLiteral;
|
import com.google.inject.TypeLiteral;
|
||||||
|
|
||||||
|
@ -174,20 +170,6 @@ public class ELBAsyncClientTest extends RestClientTest<ELBAsyncClient> {
|
||||||
@Named(Constants.PROPERTY_SESSION_INTERVAL) int expiration) {
|
@Named(Constants.PROPERTY_SESSION_INTERVAL) int expiration) {
|
||||||
return "2009-11-08T15:54:08.897Z";
|
return "2009-11-08T15:54:08.897Z";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void bindRegionsToProvider() {
|
|
||||||
bindRegionsToProvider(Regions.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
static class Regions implements javax.inject.Provider<Map<String, URI>> {
|
|
||||||
@Override
|
|
||||||
public Map<String, URI> get() {
|
|
||||||
return ImmutableMap.<String, URI> of(Region.EU_WEST_1, URI.create("https://elb.eu-west-1.amazonaws.com"),
|
|
||||||
Region.US_EAST_1, URI.create("https://elb.us-east-1.amazonaws.com"), Region.US_WEST_1,
|
|
||||||
URI.create("https://elb.us-west-1.amazonaws.com"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -22,11 +22,9 @@ import static org.testng.Assert.assertEquals;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.net.URI;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import org.jclouds.aws.domain.Region;
|
|
||||||
import org.jclouds.aws.filters.FormSigner;
|
import org.jclouds.aws.filters.FormSigner;
|
||||||
import org.jclouds.http.HttpRequest;
|
import org.jclouds.http.HttpRequest;
|
||||||
import org.jclouds.http.RequiresHttp;
|
import org.jclouds.http.RequiresHttp;
|
||||||
|
@ -42,7 +40,6 @@ import org.jclouds.simpledb.options.ListDomainsOptions;
|
||||||
import org.jclouds.simpledb.xml.ListDomainsResponseHandler;
|
import org.jclouds.simpledb.xml.ListDomainsResponseHandler;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
|
||||||
import com.google.inject.Module;
|
import com.google.inject.Module;
|
||||||
import com.google.inject.TypeLiteral;
|
import com.google.inject.TypeLiteral;
|
||||||
|
|
||||||
|
@ -60,24 +57,6 @@ public class SimpleDBAsyncClientTest extends RestClientTest<SimpleDBAsyncClient>
|
||||||
@RequiresHttp
|
@RequiresHttp
|
||||||
@ConfiguresRestClient
|
@ConfiguresRestClient
|
||||||
private static final class TestSimpleDBRestClientModule extends SimpleDBRestClientModule {
|
private static final class TestSimpleDBRestClientModule extends SimpleDBRestClientModule {
|
||||||
@Override
|
|
||||||
protected void configure() {
|
|
||||||
super.configure();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void bindRegionsToProvider() {
|
|
||||||
bindRegionsToProvider(Regions.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
static class Regions implements javax.inject.Provider<Map<String, URI>> {
|
|
||||||
@Override
|
|
||||||
public Map<String, URI> get() {
|
|
||||||
return ImmutableMap.<String, URI> of(Region.EU_WEST_1, URI.create("https://sdb.eu-west-1.amazonaws.com"),
|
|
||||||
Region.US_EAST_1, URI.create("https://sdb.us-east-1.amazonaws.com"), Region.US_WEST_1,
|
|
||||||
URI.create("https://sdb.us-west-1.amazonaws.com"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testListDomainsInRegion() throws SecurityException, NoSuchMethodException, IOException {
|
public void testListDomainsInRegion() throws SecurityException, NoSuchMethodException, IOException {
|
||||||
|
|
|
@ -59,10 +59,6 @@ public class SQSAsyncClientTest extends RestClientTest<SQSAsyncClient> {
|
||||||
@RequiresHttp
|
@RequiresHttp
|
||||||
@ConfiguresRestClient
|
@ConfiguresRestClient
|
||||||
private static final class TestSQSRestClientModule extends SQSRestClientModule {
|
private static final class TestSQSRestClientModule extends SQSRestClientModule {
|
||||||
@Override
|
|
||||||
protected void configure() {
|
|
||||||
super.configure();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String provideTimeStamp(final DateService dateService,
|
protected String provideTimeStamp(final DateService dateService,
|
||||||
|
|
|
@ -23,6 +23,7 @@ import java.lang.reflect.Method;
|
||||||
|
|
||||||
import org.jclouds.aws.domain.Region;
|
import org.jclouds.aws.domain.Region;
|
||||||
import org.jclouds.elb.ELBAsyncClient;
|
import org.jclouds.elb.ELBAsyncClient;
|
||||||
|
import org.jclouds.elb.ELBAsyncClientTest;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -31,10 +32,10 @@ import org.testng.annotations.Test;
|
||||||
* @author Adrian Cole
|
* @author Adrian Cole
|
||||||
*/
|
*/
|
||||||
// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
|
// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
|
||||||
@Test(groups = "unit", testName = "aws.ELBAsyncClientTest")
|
@Test(groups = "unit", testName = "AWSELBAsyncClientTest")
|
||||||
public class ELBAsyncClientTest extends org.jclouds.elb.ELBAsyncClientTest {
|
public class AWSELBAsyncClientTest extends ELBAsyncClientTest {
|
||||||
|
|
||||||
public ELBAsyncClientTest() {
|
public AWSELBAsyncClientTest() {
|
||||||
this.provider = "aws-elb";
|
this.provider = "aws-elb";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue