package io.teknek.nibiru;
import java.util.HashMap;
import java.util.Map;
import io.teknek.nibiru.engine.DefaultColumnFamily;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
public class TombstoneReaperTest {
@Rule
public TemporaryFolder testFolder = new TemporaryFolder();
@SuppressWarnings("deprecation")
@Ignore
public void testTombstoneGrace(){
String ks = "testks";
String cf = "testcf";
Configuration c = new Configuration();
c.setDataDirectory("sstable");
Server s = new Server(c);
s.init();
s.getMetaDataManager().createOrUpdateKeyspace(ks, null);
s.getMetaDataManager().createOrUpdateStore(ks, cf, null);
s.getKeyspaces().get(ks).getStores().get(cf).getStoreMetadata().setTombstoneGraceMillis(2);
((DefaultColumnFamily) s.getKeyspaces().get(ks).getStores().get(cf)).getMemtable().setTimeSource(
new TimeSource(){
public long getTimeInMillis() {
return 2;
}}
);
s.put(ks, cf, "mykey", "mycolumn", "abc", 1L);
s.put(ks, cf, "mykey", "mycolumn2", "abc", 1L);
s.delete(ks, cf, "mykey", "mycolumn", 3);
//s.getTombstoneReaper().processColumnFamily(s.getKeyspaces().get(keyspace).getColumnFamilies().get(columnFamily), 3);
{
Map<String, Val> results = new HashMap<>();
results.put("mycolumn", new Val(null, 3, 2, 0));
results.put("mycolumn2", new Val("abc", 1, 2, 0));
//Assert.assertEquals(results, s.slice(keyspace, columnFamily, "mykey", "a", "z"));
}
//s.getTombstoneReaper().processColumnFamily(s.getKeyspaces().get(keyspace).getColumnFamilies().get(columnFamily), 5);
{
Map<String, Val> results = new HashMap<>();
results.put("mycolumn2", new Val("abc", 1, 2, 0));
//Assert.assertEquals(results, s.slice(keyspace, columnFamily, "mykey", "a", "z"));
}
}
}