package me.prettyprint.cassandra.model; import static org.junit.Assert.assertEquals; import java.util.HashMap; import java.util.Map; import me.prettyprint.cassandra.service.OperationType; import me.prettyprint.hector.api.HConsistencyLevel; import org.junit.Before; import org.junit.Test; public class ConfigurableConsistencyLevelTest { private ConfigurableConsistencyLevel configurableConsistencyLevel; private Map<String, HConsistencyLevel> clmap; @Before public void setup() { configurableConsistencyLevel = new ConfigurableConsistencyLevel(); clmap = new HashMap<String, HConsistencyLevel>(); clmap.put("MyColumnFamily", HConsistencyLevel.ONE); configurableConsistencyLevel.setReadCfConsistencyLevels(clmap); configurableConsistencyLevel.setWriteCfConsistencyLevels(clmap); } @Test public void testReadWriteSame() { assertEquals(HConsistencyLevel.ONE, configurableConsistencyLevel.get(OperationType.READ, "MyColumnFamily")); } @Test public void testDefaults() { configurableConsistencyLevel.setDefaultWriteConsistencyLevel(HConsistencyLevel.ALL); configurableConsistencyLevel.setWriteCfConsistencyLevels(new HashMap<String, HConsistencyLevel>()); assertEquals(HConsistencyLevel.ALL, configurableConsistencyLevel.get(OperationType.WRITE, "MyColumnFamily")); } @Test public void testSetRuntimeCl() { configurableConsistencyLevel.setConsistencyLevelForCfOperation(HConsistencyLevel.ANY, "OtherCf", OperationType.READ); assertEquals(HConsistencyLevel.ANY, configurableConsistencyLevel.get(OperationType.READ, "OtherCf")); } }