/* * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed 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://aws.amazon.com/apache2.0 * * This file 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 com.amazonaws.regions; import static org.junit.Assert.assertEquals; import com.amazonaws.AmazonWebServiceClient; import com.amazonaws.ClientConfiguration; import org.junit.Assert; import org.junit.Test; public class RegionsTest { @Test public void testDefaultDomain() { Region region = new Region("region", null); Assert.assertEquals("amazonaws.com", region.getDomain()); } @Test public void testSetEndpointByRegion() { Region region = new Region("region", "example.com"); region.getServiceEndpoints().put("service", "service-region.example.com"); // This should use the configured region. AmazonServiceClient service = new AmazonServiceClient(); service.setRegion(region); Assert.assertEquals("https://service-region.example.com", service.getEndpoint()); // This should guess at an endpoint based on the region's domain. AmazonUnknownServiceClient unknown = new AmazonUnknownServiceClient(); unknown.setRegion(region); Assert.assertEquals("https://unknownservice.region.example.com", unknown.getEndpoint()); } @Test public void testFromName() { Regions usEast1 = Regions.fromName("us-east-1"); assertEquals(usEast1, Regions.US_EAST_1); Regions cn1 = Regions.fromName("cn-north-1"); assertEquals(cn1, Regions.CN_NORTH_1); Regions govCloud = Regions.fromName("us-gov-west-1"); assertEquals(govCloud, Regions.GovCloud); assertEquals(usEast1.getName(), "us-east-1"); } private static class AmazonServiceClient extends AmazonWebServiceClient { public AmazonServiceClient() { super(new ClientConfiguration()); } public String getEndpoint() { return endpoint.toString(); } } private static class AmazonUnknownServiceClient extends AmazonWebServiceClient { public AmazonUnknownServiceClient() { super(new ClientConfiguration()); } public String getEndpoint() { return endpoint.toString(); } } }