package io.teknek.nibiru.client; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.SortedMap; import io.teknek.nibiru.ServerShutdown; import io.teknek.nibiru.Configuration; import io.teknek.nibiru.Server; import io.teknek.nibiru.TestUtil; import io.teknek.nibiru.TraceTo; import io.teknek.nibiru.Val; import io.teknek.nibiru.engine.atom.AtomValue; import io.teknek.nibiru.engine.atom.ColumnValue; import io.teknek.nibiru.transport.BaseMessage; import io.teknek.nibiru.transport.Response; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; public class BasicTransportTest extends ServerShutdown { @Rule public TemporaryFolder testFolder = new TemporaryFolder(); @Rule public TemporaryFolder testFolder2 = new TemporaryFolder(); @Test public void doIt() throws IllegalStateException, UnsupportedEncodingException, IOException, RuntimeException, ClientException { Server s = registerServer(TestUtil.aBasicServer(testFolder)); s.put(TestUtil.DATA_KEYSPACE, TestUtil.PETS_COLUMN_FAMILY, "jack", "name", "bunnyjack", 1); s.put(TestUtil.DATA_KEYSPACE, TestUtil.PETS_COLUMN_FAMILY, "jack", "age", "6", 1); AtomValue x = s.get(TestUtil.DATA_KEYSPACE, TestUtil.PETS_COLUMN_FAMILY, "jack", "age"); Assert.assertEquals("6", ((ColumnValue) x).getValue()); ColumnFamilyClient c = new ColumnFamilyClient(new Client("127.0.0.1", s.getConfiguration().getTransportPort(),10000,10000)); Session session = c.createBuilder().withKeyspace(TestUtil.DATA_KEYSPACE) .withStore(TestUtil.PETS_COLUMN_FAMILY) .build(); Assert.assertEquals("6", session.get("jack", "age").getValue()); Session sessionTrace = c.createBuilder().withKeyspace(TestUtil.DATA_KEYSPACE) .withStore(TestUtil.PETS_COLUMN_FAMILY).withTracing(TraceTo.LOGGER) .build(); Assert.assertEquals("6", sessionTrace.get("jack", "age").getValue()); Assert.assertEquals("bunnyjack", session.get("jack", "name").getValue()); session.delete("jack", "name", 2L); Assert.assertEquals(null, session.get("jack", "name").getValue()); session.put("jack", "weight", "6lbds", 2L); Assert.assertEquals("6lbds", session.get("jack", "weight").getValue()); session.put("jack", "height", "7in", 10L); Assert.assertEquals("7in", session.get("jack", "height").getValue()); SortedMap<String,Val> slice = session.slice("jack", "a", "z"); Assert.assertEquals("6", slice.get(slice.firstKey()).getValue()); Assert.assertEquals("7in", slice.get("height").getValue()); Assert.assertEquals("6lbds", slice.get("weight").getValue()); { Client cl = new Client("127.0.0.1", s.getConfiguration().getTransportPort(), 10000, 10000); Response r = cl.post(new BaseMessage()); Assert.assertTrue(r.containsKey("exception")); } } @Test public void testBindHost(){ Configuration configuration = TestUtil.aBasicConfiguration(testFolder); configuration.setTransportHost("127.0.0.1"); Server s = registerServer(new Server(configuration)); s.init(); Configuration configuration2 = TestUtil.aBasicConfiguration(testFolder2); configuration2.setTransportHost("127.0.0.2"); Server s2 = registerServer(new Server(configuration2)); s2.init(); } }