Author: jbellis Date: Wed Jun 8 13:16:34 2011 New Revision: 1133390 URL: http://svn.apache.org/viewvc?rev=1133390&view=rev Log: add EC2SnitchTest.java
Added: cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/locator/EC2SnitchTest.java Added: cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/locator/EC2SnitchTest.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/locator/EC2SnitchTest.java?rev=1133390&view=auto ============================================================================== --- cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/locator/EC2SnitchTest.java (added) +++ cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/locator/EC2SnitchTest.java Wed Jun 8 13:16:34 2011 @@ -0,0 +1,51 @@ +package org.apache.cassandra.locator; + +import static org.junit.Assert.assertEquals; + +import java.io.IOException; +import java.net.InetAddress; +import java.util.Map; + +import org.apache.cassandra.config.ConfigurationException; +import org.apache.cassandra.gms.ApplicationState; +import org.apache.cassandra.gms.Gossiper; +import org.apache.cassandra.gms.VersionedValue; +import org.apache.cassandra.service.StorageService; +import org.junit.Test; + +public class EC2SnitchTest +{ + + private class TestEC2Snitch extends Ec2Snitch + { + public TestEC2Snitch() throws IOException, ConfigurationException + { + super(); + } + + @Override + String awsApiCall(String url) throws IOException, ConfigurationException + { + return "us-east-1d"; + } + } + + @Test + public void testRac() throws IOException, ConfigurationException + { + Ec2Snitch snitch = new TestEC2Snitch(); + InetAddress local = InetAddress.getByName("127.0.0.1"); + InetAddress nonlocal = InetAddress.getByName("127.0.0.7"); + + Gossiper.instance.addSavedEndpoint(nonlocal); + Map<ApplicationState,VersionedValue> stateMap = Gossiper.instance.getEndpointStateForEndpoint(nonlocal).getApplicationStateMap(); + stateMap.put(ApplicationState.DC, StorageService.instance.valueFactory.datacenter("us-west")); + stateMap.put(ApplicationState.RACK, StorageService.instance.valueFactory.datacenter("1a")); + + assertEquals("us-west", snitch.getDatacenter(nonlocal)); + assertEquals("1a", snitch.getRack(nonlocal)); + + assertEquals("us-east", snitch.getDatacenter(local)); + assertEquals("1d", snitch.getRack(local)); + } +}