package com.hmsonline.virgil; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.List; import org.apache.cassandra.thrift.Column; import org.apache.cassandra.thrift.ColumnOrSuperColumn; import org.apache.cassandra.utils.ByteBufferUtil; import org.eclipse.jetty.util.ajax.JSON; import org.json.simple.JSONObject; import org.junit.Test; import com.hmsonline.virgil.JsonMarshaller; public class MarshallingTest { @Test public void testColumn() throws Exception { Column column = new Column(ByteBufferUtil.bytes("ADDR1")); column.setValue(ByteBufferUtil.bytes("1234 Fun St.")); column.setTimestamp(System.currentTimeMillis() * 1000); ColumnOrSuperColumn col = new ColumnOrSuperColumn(); col.setColumn(column); String json = JsonMarshaller.marshallColumn(col); assertEquals("{\"ADDR1\":\"1234 Fun St.\"}", json); } @Test public void testSlice() throws Exception { Column column1 = new Column(ByteBufferUtil.bytes("ADDR1")); column1.setValue(ByteBufferUtil.bytes("1234 Fun St.")); column1.setTimestamp(System.currentTimeMillis() * 1000); ColumnOrSuperColumn col1 = new ColumnOrSuperColumn(); col1.setColumn(column1); Column column2 = new Column(ByteBufferUtil.bytes("CITY")); column2.setValue(ByteBufferUtil.bytes("Souderton.")); column2.setTimestamp(System.currentTimeMillis() * 1000); ColumnOrSuperColumn col2 = new ColumnOrSuperColumn(); col2.setColumn(column2); List<ColumnOrSuperColumn> slice = new ArrayList<ColumnOrSuperColumn>(); slice.add(col1); slice.add(col2); JSONObject json = JsonMarshaller.marshallSlice(slice); assertEquals(JSON.parse("{\"ADDR1\":\"1234 Fun St.\",\"CITY\":\"Souderton.\"}"), json); } }