package me.prettyprint.cassandra.model; import me.prettyprint.cassandra.BaseEmbededServerSetupTest; import me.prettyprint.cassandra.serializers.StringSerializer; import me.prettyprint.hector.api.Cluster; import me.prettyprint.hector.api.Keyspace; import me.prettyprint.hector.api.beans.CounterRow; import me.prettyprint.hector.api.beans.OrderedCounterRows; import me.prettyprint.hector.api.factory.HFactory; import me.prettyprint.hector.api.query.QueryResult; import me.prettyprint.hector.api.query.RangeSlicesCounterQuery; import org.junit.Before; import org.junit.Test; import static me.prettyprint.hector.api.factory.HFactory.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; public class RangeSlicesCounterQueryTest extends BaseEmbededServerSetupTest { private final static String KEYSPACE = "Keyspace1"; private static final StringSerializer se = new StringSerializer(); private Cluster cluster; private Keyspace keyspace; private String cf = "Counter2"; @Before public void setupCase() { cluster = getOrCreateCluster("MyCluster", "127.0.0.1:9170"); keyspace = createKeyspace(KEYSPACE, cluster); createMutator(keyspace, se) .addCounter("ranageSlicesCounterTest_key1", cf, createCounterColumn("alpha", 1L)) .addCounter("ranageSlicesCounterTest_key1", cf, createCounterColumn("beta", 2L)) .addCounter("ranageSlicesCounterTest_key2", cf, createCounterColumn("alpha", 1L)) .addCounter("ranageSlicesCounterTest_key2", cf, createCounterColumn("beta", 2L)) .addCounter("ranageSlicesCounterTest_key3", cf, createCounterColumn("alpha", 1L)) .addCounter("ranageSlicesCounterTest_key3", cf, createCounterColumn("beta", 2L)) .addCounter("ranageSlicesCounterTest_key4", cf, createCounterColumn("alpha", 1L)) .addCounter("ranageSlicesCounterTest_key4", cf, createCounterColumn("beta", 2L)) .addCounter("ranageSlicesCounterTest_key5", cf, createCounterColumn("alpha", 1L)) .addCounter("ranageSlicesCounterTest_key5", cf, createCounterColumn("beta", 2L)) .addCounter("ranageSlicesCounterTest_key6", cf, createCounterColumn("alpha", 1L)) .addCounter("ranageSlicesCounterTest_key6", cf, createCounterColumn("beta", 2L)) .execute(); } @Test public void testKeysOnlyPredicate() { RangeSlicesCounterQuery<String, String> rangeSlicesQuery = HFactory.createRangeSlicesCounterQuery(keyspace, se, se); QueryResult<OrderedCounterRows<String, String>> result = rangeSlicesQuery.setColumnFamily(cf).setKeys("", "").setReturnKeysOnly().execute(); OrderedCounterRows<String, String> orderedRows = result.get(); CounterRow<String, String> row = orderedRows.iterator().next(); assertNotNull(row.getKey()); assertEquals(0,row.getColumnSlice().getColumns().size()); result = rangeSlicesQuery.setColumnNames("alpha","beta").setRowCount(5).execute(); orderedRows = result.get(); row = orderedRows.iterator().next(); assertNotNull(row.getKey()); assertEquals(2,row.getColumnSlice().getColumns().size()); } }