package me.prettyprint.cassandra.model; import static me.prettyprint.hector.api.factory.HFactory.createColumn; import static me.prettyprint.hector.api.factory.HFactory.createKeyspace; import static me.prettyprint.hector.api.factory.HFactory.createMutator; import static me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; import me.prettyprint.cassandra.BaseEmbededServerSetupTest; import me.prettyprint.cassandra.serializers.LongSerializer; import me.prettyprint.cassandra.serializers.StringSerializer; import me.prettyprint.hector.api.Cluster; import me.prettyprint.hector.api.Keyspace; import me.prettyprint.hector.api.beans.Rows; import me.prettyprint.hector.api.factory.HFactory; import me.prettyprint.hector.api.query.MultigetSliceQuery; import me.prettyprint.hector.api.query.QueryResult; public class MultigetSliceQueryTest extends BaseEmbededServerSetupTest { private final static String KEYSPACE = "Keyspace1"; private static final StringSerializer se = new StringSerializer(); private static final LongSerializer le = new LongSerializer(); private Cluster cluster; private Keyspace keyspace; private String cf = "Standard1"; @Before public void setupCase() { cluster = getOrCreateCluster("MyCluster", "127.0.0.1:9170"); keyspace = createKeyspace(KEYSPACE, cluster); createMutator(keyspace, se) .addInsertion("multigetSliceTest_key1", cf, createColumn("birthyear", 1974L, se, le)) .addInsertion("multigetSliceTest_key1", cf, createColumn("birthmonth", 4L, se, le)) .addInsertion("multigetSliceTest_key2", cf, createColumn("birthyear", 1975L, se, le)) .addInsertion("multigetSliceTest_key2", cf, createColumn("birthmonth", 4L, se, le)) .addInsertion("multigetSliceTest_key3", cf, createColumn("birthyear", 1975L, se, le)) .addInsertion("multigetSliceTest_key3", cf, createColumn("birthmonth", 5L, se, le)) .addInsertion("multigetSliceTest_key4", cf, createColumn("birthyear", 1975L, se, le)) .addInsertion("multigetSliceTest_key4", cf, createColumn("birthmonth", 6L, se, le)) .addInsertion("multigetSliceTest_key5", cf, createColumn("birthyear", 1975L, se, le)) .addInsertion("multigetSliceTest_key5", cf, createColumn("birthmonth", 7L, se, le)) .addInsertion("multigetSliceTest_key6", cf, createColumn("birthyear", 1976L, se, le)) .addInsertion("multigetSliceTest_key6", cf, createColumn("birthmonth", 6L, se, le)) .execute(); } @Test public void testNullKeyInList() { MultigetSliceQuery<String, String, Long> msq = HFactory.createMultigetSliceQuery(keyspace, se, se, le); msq.setColumnFamily(cf); msq.setKeys("multigetSliceTest_key1",null); msq.setColumnNames("birthyear"); QueryResult<Rows<String, String, Long>> result = msq.execute(); assertEquals(1,result.get().getCount()); } }