def test_copy(test_ds): # given options = RocksDBOptions() options.set_geowave_namespace("geowave.tests") options.set_directory(os.path.join(TEST_DIR, "datastore2")) ds2 = DataStoreFactory.create_data_store(options) adapter = POINT_TYPE_ADAPTER index = SpatialIndexBuilder().create_index() test_ds.add_type(adapter, index) write_test_data(test_ds, index) # when test_ds.copy_to(ds2) indices = ds2.get_indices() types = ds2.get_types() query = VectorQueryBuilder().build() res = results_as_list(ds2.query(query)) # then assert len(test_ds.get_indices()) == 1 assert len(indices) == 1 assert indices[0].get_name() == index.get_name() assert indices[0].get_index_strategy() == index.get_index_strategy() assert indices[0].get_index_model() == index.get_index_model() assert len(types) == 1 assert types[0].get_type_name() == adapter.get_type_name() assert len(res) == len(TEST_DATA) ds2.delete_all()
def test_remove_index(test_ds): # given index = SpatialIndexBuilder().set_name("idx1").create_index() index2 = SpatialIndexBuilder().set_name("idx2").create_index() adapter = POINT_TYPE_ADAPTER test_ds.add_type(adapter, index) test_ds.add_type(adapter, index2) # when test_ds.remove_index(adapter.get_type_name(), index.get_name()) indices = test_ds.get_indices() # then assert len(indices) == 1 assert indices[0].get_name() == index2.get_name() assert indices[0].get_index_strategy() == index2.get_index_strategy() assert indices[0].get_index_model() == index2.get_index_model()
def test_remove_index_last(test_ds): with pytest.raises(Exception) as exec: # given index = SpatialIndexBuilder().create_index() adapter = POINT_TYPE_ADAPTER test_ds.add_type(adapter, index) # when test_ds.remove_index(index.get_name()) # then assert 'Adapters require at least one index' in str(exec.value)
def test_add_existing_type(test_ds): # given index = SpatialIndexBuilder().create_index() adapter = POINT_TYPE_ADAPTER test_ds.add_type(adapter, index) # when test_ds.add_type(adapter, index) indices = test_ds.get_indices(adapter.get_type_name()) # then assert len(indices) == 1 assert indices[0].get_name() == index.get_name() assert indices[0].get_index_strategy() == index.get_index_strategy() assert indices[0].get_index_model() == index.get_index_model()
def test_copy_by_query(test_ds): # given options = RocksDBOptions() options.set_geowave_namespace("geowave.tests") options.set_directory(os.path.join(TEST_DIR, "datastore2")) ds2 = DataStoreFactory.create_data_store(options) adapter = POINT_TYPE_ADAPTER index = SpatialIndexBuilder().create_index() test_ds.add_type(adapter, index) write_test_data(test_ds, index) # when qbldr = VectorQueryBuilder() constraints_factory = qbldr.constraints_factory() # filter encompasses 10 features (1, 1) - (10, 10) constraints = constraints_factory.cql_constraints( "BBOX(the_geom, 0.5, 0.5, 10.5, 10.5)") qbldr.all_indices().constraints(constraints) test_ds.copy_to(ds2, qbldr.build()) indices = ds2.get_indices() types = ds2.get_types() query = VectorQueryBuilder().build() res = results_as_list(ds2.query(query)) # then assert len(test_ds.get_indices()) == 1 assert len(indices) == 1 assert indices[0].get_name() == index.get_name() assert indices[0].get_index_strategy() == index.get_index_strategy() assert indices[0].get_index_model() == index.get_index_model() assert len(types) == 1 assert types[0].get_type_name() == adapter.get_type_name() assert len(res) == 10 ds2.delete_all()