def test_delete_composite_indexes(self): db_batch = flexmock() db_batch.should_receive("batch_delete").and_return(None) dd = DatastoreDistributed(db_batch, self.get_zookeeper()) dd = flexmock(dd) dd.should_receive("get_composite_index_key").and_return("somekey") dd.should_receive("get_entity_kind").and_return("kind") item1 = self.get_new_entity_proto("appid", "kind", "ent_name", "prop1", "propvalue", ns="") item2 = self.get_new_entity_proto("appid", "kind", "ent_name1", "prop1", "propvalue", ns="") composite_index = entity_pb.CompositeIndex() composite_index.set_id(123) composite_index.set_app_id("appid") definition = composite_index.mutable_definition() definition.set_entity_type("kind") dd.delete_composite_indexes([item1, item2], [composite_index])
def test_get_indicies(self): db_batch = flexmock() db_batch.should_receive("range_query").and_return({}) dd = DatastoreDistributed(db_batch, self.get_zookeeper()) dd = flexmock(dd) dd.should_receive("get_meta_data_key").and_return("somekey").twice() self.assertEquals(dd.get_indices("appid"), [])
def test_delete_composite_index_metadata(self): db_batch = flexmock() db_batch.should_receive("batch_delete").and_return(None) dd = DatastoreDistributed(db_batch, self.get_zookeeper()) dd = flexmock(dd) dd.should_receive("get_meta_data_key").and_return("somekey") composite_indexes = datastore_pb.CompositeIndices() dd.delete_composite_index_metadata("appid", composite_indexes)
def test_delete_composite_indexes(self): db_batch = flexmock() db_batch.should_receive("batch_delete").and_return(None) dd = DatastoreDistributed(db_batch, self.get_zookeeper()) dd = flexmock(dd) dd.should_receive("get_composite_index_key").and_return("somekey") dd.should_receive("get_entity_kind").and_return("kind") item1 = self.get_new_entity_proto("appid" , "kind", "ent_name", "prop1", "propvalue", ns="") item2= self.get_new_entity_proto("appid" , "kind", "ent_name1", "prop1", "propvalue", ns="") composite_index = entity_pb.CompositeIndex() composite_index.set_id(123) composite_index.set_app_id("appid") definition = composite_index.mutable_definition() definition.set_entity_type("kind") dd.delete_composite_indexes([item1, item2], [composite_index])
def test_delete_composite_indexes(self): db_batch = flexmock() db_batch.should_receive("batch_delete").and_return(None) dd = DatastoreDistributed(db_batch, self.get_zookeeper()) dd = flexmock(dd) dd.should_receive("get_composite_index_key").and_return("somekey") dd.should_receive("get_entity_kind").and_return("kind") item1 = Item(key_name="Bob", name="Bob", _app="hello") item2 = Item(key_name="Sally", name="Sally", _app="hello") composite_index = entity_pb.CompositeIndex() composite_index.set_id(123) composite_index.set_app_id("appid") definition = composite_index.mutable_definition() definition.set_entity_type("kind") dd.delete_composite_indexes([item1, item2], [composite_index])
def test_create_composite_index(self): db_batch = flexmock() db_batch.should_receive("batch_put_entity").and_return(None) dd = DatastoreDistributed(db_batch, self.get_zookeeper()) dd = flexmock(dd) dd.should_receive("get_meta_data_key").and_return("somekey") index = entity_pb.CompositeIndex() index.set_app_id("appid") index.set_state(2) definition = index.mutable_definition() definition.set_entity_type("kind") definition.set_ancestor(0) prop1 = definition.add_property() prop1.set_name("prop1") prop1.set_direction(1) # ascending prop2 = definition.add_property() prop2.set_name("prop2") prop1.set_direction(1) # ascending dd.create_composite_index("appid", index) assert index.id() > 0