Skip to content

Commit

Permalink
Python bindings (#1515)
Browse files Browse the repository at this point in the history
* updated cassandra test (#1512)

* merge with master
  • Loading branch information
Nik Gil authored and mawhitby committed Feb 10, 2019
1 parent 45e17f1 commit d897fb8
Show file tree
Hide file tree
Showing 11 changed files with 249 additions and 292 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -263,17 +263,17 @@ public static int timeByteLength(final long time) {
*/
public static void writeTime(final long time, final ByteBuffer buffer) {
writeSignedLong(time - TIME_EPOCH, buffer);
}
}

/**
* Encode a timestamp using varint encoding.
*
* @param time the timestamp
* @param buffer the {@code ByteBuffer} to write the timestamp to
*/
public static byte[] writeTime(final long time) {
return writeSignedLong(time - TIME_EPOCH);
}
*
* @param time the timestamp
* @param buffer the {@code ByteBuffer} to write the timestamp to
*/
public static byte[] writeTime(final long time) {
return writeSignedLong(time - TIME_EPOCH);
}

/**
* Read a timestamp from a {@code ByteBuffer} that was previously encoded with {@link #writeTime}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,8 @@ public <T> void addType(final DataTypeAdapter<T> dataTypeAdapter, final Index...
new InternalDataAdapterWrapper<>(
dataTypeAdapter,
internalAdapterStore.addTypeName(dataTypeAdapter.getTypeName()));
final Index[] initialIndicesUnique = Arrays.stream(initialIndices).distinct().toArray(size -> new Index[size]);
final Index[] initialIndicesUnique =
Arrays.stream(initialIndices).distinct().toArray(size -> new Index[size]);
internalAddIndices(adapter, initialIndicesUnique, false);
store(adapter);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,154 +3,152 @@
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import org.locationtech.geowave.core.store.adapter.MockComponents.MockAbstractDataAdapter;
import org.locationtech.geowave.core.store.index.NullIndex;
import org.locationtech.geowave.core.store.memory.MemoryRequiredOptions;

import static org.junit.Assert.*;

public class DataStoreTest {

private DataStore dataStore;
private final String MOCK_DATA_TYPE_1 = "Some Data Type";
private final String MOCK_DATA_TYPE_2 = "Another Data Type";

@Before
public void createStore() {
dataStore = DataStoreFactory.createDataStore(new MemoryRequiredOptions());
}

@After
public void tearDown() {
dataStore.deleteAll();
}

@Test
public void addIndex_Basic() {
NullIndex index1 = new NullIndex("index1");
NullIndex index2 = new NullIndex("index2");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1);
dataStore.addIndex(MOCK_DATA_TYPE_1, index2);
assertEquals(2, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addIndex_MultiIndexAdd() {
NullIndex index1 = new NullIndex("index1");
NullIndex index2 = new NullIndex("index2");
NullIndex index3 = new NullIndex("index3");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1);
dataStore.addIndex(MOCK_DATA_TYPE_1, index2, index3);
assertEquals(3, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addIndex_SameIndexVarArgs() {
NullIndex index1 = new NullIndex("index1");
NullIndex index2 = new NullIndex("index2");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1);
dataStore.addIndex(MOCK_DATA_TYPE_1, index2, index2, index2);
assertEquals(2, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addIndex_IndexAlreadyAdded() {
NullIndex index1 = new NullIndex("index1");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1);
dataStore.addIndex(MOCK_DATA_TYPE_1, index1);
assertEquals(1, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addType_Basic() {
NullIndex index = new NullIndex("myIndex");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index);
DataTypeAdapter<?>[] registeredTypes = dataStore.getTypes();
assertEquals(1, registeredTypes.length);
assertTrue(registeredTypes[0] instanceof MockAbstractDataAdapter);
}

@Test
public void addType_MultiIndex() {
NullIndex index1 = new NullIndex("index1");
NullIndex index2 = new NullIndex("index2");
NullIndex index3 = new NullIndex("index3");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1, index2, index3);
DataTypeAdapter<?>[] registeredTypes = dataStore.getTypes();
assertEquals(1, registeredTypes.length);
assertTrue(registeredTypes[0] instanceof MockAbstractDataAdapter);
assertEquals(3, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addType_SameIndexVarArgs() {
NullIndex index1 = new NullIndex("index1");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1, index1, index1);
DataTypeAdapter<?>[] registeredTypes = dataStore.getTypes();
assertEquals(1, registeredTypes.length);
assertTrue(registeredTypes[0] instanceof MockAbstractDataAdapter);
assertEquals(1, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addType_MultiIndexAndMultiTypeSameAdapter() {
NullIndex mockType1Index1 = new NullIndex("mock1index1");
NullIndex mockType1Index2 = new NullIndex("mock1index2");
NullIndex mockType1Index3 = new NullIndex("mock1index3");
MockAbstractDataAdapter adapter1 = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter1, mockType1Index1, mockType1Index2, mockType1Index3);
NullIndex mockType2Index1 = new NullIndex("mock2index1");
NullIndex mockType2Index2 = new NullIndex("mock2index2");
MockAbstractDataAdapter adapter2 = new MockAbstractDataAdapter(MOCK_DATA_TYPE_2);
dataStore.addType(adapter2, mockType2Index1, mockType2Index2);
DataTypeAdapter<?>[] registeredTypes = dataStore.getTypes();
assertEquals(2, registeredTypes.length);
assertTrue(registeredTypes[0] instanceof MockAbstractDataAdapter);
assertTrue(registeredTypes[1] instanceof MockAbstractDataAdapter);
assertEquals(3, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
assertEquals(2, dataStore.getIndices(MOCK_DATA_TYPE_2).length);
}

@Test
public void createWriter_NonNullForSeenType() {
NullIndex index = new NullIndex("myIndex");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index);
Writer<Integer> writer = dataStore.createWriter(MOCK_DATA_TYPE_1);
assertNotNull(writer);
}

@Test
public void createWriter_SeenTypeWriteNoError() {
NullIndex index = new NullIndex("myIndex");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index);
Writer<Integer> writer = dataStore.createWriter(MOCK_DATA_TYPE_1);
writer.write(15);
writer.write(0);
writer.close();
}

@Test
public void createWriter_NullForUnseenType() {
Writer<Object> writer = dataStore.createWriter(MOCK_DATA_TYPE_1);
assertNull(writer);
}

@Test
public void createWriter_NullForUnseenType2() {
NullIndex index = new NullIndex("myIndex");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index);
Writer<Integer> writer = dataStore.createWriter(MOCK_DATA_TYPE_2);
assertNull(writer);
}
}
private DataStore dataStore;
private final String MOCK_DATA_TYPE_1 = "Some Data Type";
private final String MOCK_DATA_TYPE_2 = "Another Data Type";

@Before
public void createStore() {
dataStore = DataStoreFactory.createDataStore(new MemoryRequiredOptions());
}

@After
public void tearDown() {
dataStore.deleteAll();
}

@Test
public void addIndex_Basic() {
NullIndex index1 = new NullIndex("index1");
NullIndex index2 = new NullIndex("index2");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1);
dataStore.addIndex(MOCK_DATA_TYPE_1, index2);
assertEquals(2, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addIndex_MultiIndexAdd() {
NullIndex index1 = new NullIndex("index1");
NullIndex index2 = new NullIndex("index2");
NullIndex index3 = new NullIndex("index3");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1);
dataStore.addIndex(MOCK_DATA_TYPE_1, index2, index3);
assertEquals(3, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addIndex_SameIndexVarArgs() {
NullIndex index1 = new NullIndex("index1");
NullIndex index2 = new NullIndex("index2");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1);
dataStore.addIndex(MOCK_DATA_TYPE_1, index2, index2, index2);
assertEquals(2, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addIndex_IndexAlreadyAdded() {
NullIndex index1 = new NullIndex("index1");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1);
dataStore.addIndex(MOCK_DATA_TYPE_1, index1);
assertEquals(1, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addType_Basic() {
NullIndex index = new NullIndex("myIndex");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index);
DataTypeAdapter<?>[] registeredTypes = dataStore.getTypes();
assertEquals(1, registeredTypes.length);
assertTrue(registeredTypes[0] instanceof MockAbstractDataAdapter);
}

@Test
public void addType_MultiIndex() {
NullIndex index1 = new NullIndex("index1");
NullIndex index2 = new NullIndex("index2");
NullIndex index3 = new NullIndex("index3");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1, index2, index3);
DataTypeAdapter<?>[] registeredTypes = dataStore.getTypes();
assertEquals(1, registeredTypes.length);
assertTrue(registeredTypes[0] instanceof MockAbstractDataAdapter);
assertEquals(3, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addType_SameIndexVarArgs() {
NullIndex index1 = new NullIndex("index1");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index1, index1, index1);
DataTypeAdapter<?>[] registeredTypes = dataStore.getTypes();
assertEquals(1, registeredTypes.length);
assertTrue(registeredTypes[0] instanceof MockAbstractDataAdapter);
assertEquals(1, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
}

@Test
public void addType_MultiIndexAndMultiTypeSameAdapter() {
NullIndex mockType1Index1 = new NullIndex("mock1index1");
NullIndex mockType1Index2 = new NullIndex("mock1index2");
NullIndex mockType1Index3 = new NullIndex("mock1index3");
MockAbstractDataAdapter adapter1 = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter1, mockType1Index1, mockType1Index2, mockType1Index3);
NullIndex mockType2Index1 = new NullIndex("mock2index1");
NullIndex mockType2Index2 = new NullIndex("mock2index2");
MockAbstractDataAdapter adapter2 = new MockAbstractDataAdapter(MOCK_DATA_TYPE_2);
dataStore.addType(adapter2, mockType2Index1, mockType2Index2);
DataTypeAdapter<?>[] registeredTypes = dataStore.getTypes();
assertEquals(2, registeredTypes.length);
assertTrue(registeredTypes[0] instanceof MockAbstractDataAdapter);
assertTrue(registeredTypes[1] instanceof MockAbstractDataAdapter);
assertEquals(3, dataStore.getIndices(MOCK_DATA_TYPE_1).length);
assertEquals(2, dataStore.getIndices(MOCK_DATA_TYPE_2).length);
}

@Test
public void createWriter_NonNullForSeenType() {
NullIndex index = new NullIndex("myIndex");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index);
Writer<Integer> writer = dataStore.createWriter(MOCK_DATA_TYPE_1);
assertNotNull(writer);
}

@Test
public void createWriter_SeenTypeWriteNoError() {
NullIndex index = new NullIndex("myIndex");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index);
Writer<Integer> writer = dataStore.createWriter(MOCK_DATA_TYPE_1);
writer.write(15);
writer.write(0);
writer.close();
}

@Test
public void createWriter_NullForUnseenType() {
Writer<Object> writer = dataStore.createWriter(MOCK_DATA_TYPE_1);
assertNull(writer);
}

@Test
public void createWriter_NullForUnseenType2() {
NullIndex index = new NullIndex("myIndex");
MockAbstractDataAdapter adapter = new MockAbstractDataAdapter(MOCK_DATA_TYPE_1);
dataStore.addType(adapter, index);
Writer<Integer> writer = dataStore.createWriter(MOCK_DATA_TYPE_2);
assertNull(writer);
}
}
Loading

0 comments on commit d897fb8

Please sign in to comment.