def create_classes(client): # # Create an class to hold customers and transactions # res = client.query( [ q.create_class({"name": "customers"}), q.create_class({"name": "transactions"}) ] ) print('Create \'customer\' and \'transaction\' classes.') pprint.pprint(res)
def schema(event, context): create_todos = query.create_class({ 'name': 'todos' }) create_all_todos = query.create_index({ 'name': 'all_todos', 'source': TODOS }) client.query(query.if_expr( query.exists(TODOS), query.get(TODOS), create_todos )) client.query(query.if_expr( query.exists(ALL_TODOS), query.get(ALL_TODOS), create_all_todos )) # create a response response = { "statusCode": 200 } return response
def schema(event, context): create_todos = query.create_class({'name': 'todos'}) create_all_todos = query.create_index({ 'name': 'all_todos', 'source': TODOS }) client.query( query.if_expr(query.exists(TODOS), query.get(TODOS), create_todos)) client.query( query.if_expr(query.exists(ALL_TODOS), query.get(ALL_TODOS), create_all_todos)) # create a response response = {"statusCode": 200} return response
def create_schema(client): # # Create an class to hold customers # res = client.query(q.create_class({"name": "customers"})) print('Create \'customer\' class: {0}'.format(res)) # # Create an index to access customer records by id # res = client.query( q.create_index({ "name": "customer_by_id", "source": q.class_("customers"), "unique": True, "terms": { "field": ["data", "id"] } })) print('Create \'customer_by_id\' index: {0}'.format(res))
def create_schema(client): # # Create an class to hold customers # res = client.query(q.create_class({"name": "customers"})) print('Create \'customer\' class: {0}'.format(res)) # # Create two indexes here. The first index is to query customers when you know specific id's. # The second is used to query customers by range. Examples of each type of query are presented # below. # res = client.query([ q.create_index({ "name": "customer_by_id", "source": q.class_("customers"), "unique": True, "terms": { "field": ["data", "id"] } }), q.create_index({ "name": "customer_id_filter", "source": q.class_("customers"), "unique": True, "values": [{ "field": ["data", "id"] }, { "field": ["ref"] }] }) ]) print( 'Create \'customer_by_id\' index & \'customer_id_filter\' index : {0}'. format(res))
def test_queries_are_made(): # The client mock is used by both the # database and annotation database # so here we assert calls for both # could maybe be improved by changing the way databases are created? create_annotation_database_queries = [ q.create_database({'name': '1234-annotations'}), q.create_key( {'database': q.database('1234-annotations'), 'role': 'server'} ) ] mock_dependencies.database.client.query.assert_has_calls( [call(query) for query in create_annotation_database_queries] ) setup_annotation_database_queries = [ q.create_class({'name': 'SpanLabel'}), q.create_class({'name': 'DocumentLabel'}), q.create_class({'name': 'RelationLabel'}), q.create_class({'name': 'Relation'}), q.create_class({'name': 'Span'}), q.create_class({'name': 'Document'}), q.create_index( {'name': 'documents', 'source': q.class_('Document')}), q.create_index( {'name': 'span_labels', 'source': q.class_('SpanLabel')} ), q.create_index( {'name': 'relation_labels', 'source': q.class_('RelationLabel')} ), q.create_index( {'name': 'document_labels', 'source': q.class_('DocumentLabel')} ) ] mock_dependencies.database.client.query.assert_has_calls( [call(query) for query in setup_annotation_database_queries] ) event = event_reader('post_confirmation_event.json') handle(event, {}, dependencies=mock_dependencies) assert event == event test_buckets_are_created() test_queries_are_made() test_user_attributes_are_updated()
def _create_class(self, class_: Type[T]): self.client.query(q.create_class({'name': class_.name()}))