You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2011/06/08 15:16:34 UTC
svn commit: r1133390 -
/cassandra/branches/cassandra-0.8/test/unit/org/apache/cassandra/locator/EC2SnitchTest.java
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));
+ }
+}