def insert_notice(data, db_conn): """ Create a new notice. """ schema = notice_schema return insert_document(schema, data, db_conn)
def test_insert_document(db_conn, vases_table): schema = vases_schema data = { 'id': 'haxxor', 'name': 'celestial', 'plants': [ { 'species': 'zzplant', 'quantity': 2 }, { 'species': 'rubbertree', 'quantity': 1 }, ], 'soil': { 'color': 'black' } } document, errors = util.insert_document(schema, data, db_conn) subdoc = pick(document, ('name', 'plants', 'soil')) subdata = pick(data, ('name', 'plants', 'soil')) assert document['id'] != data['id'] assert len(errors) == 0 assert subdoc == subdata
def insert_user_subjects(data, db_conn): """ Add a new user subjects entry to the database. """ schema = user_subjects_schema return insert_document(schema, data, db_conn)
def test_update_document(db_conn): schema = vases_schema data1 = { 'name': 'celestial', 'plants': [ { 'species': 'zzplant', 'quantity': 2 }, { 'species': 'rubbertree', 'quantity': 1 }, ], 'soil': { 'color': 'black' } } document1, errors1 = util.insert_document(schema, data1, db_conn) subdoc1 = pick(document1, ('name', 'plants', 'soil')) subdata1 = pick(data1, ('name', 'plants', 'soil')) data2 = { 'id': 'haxxor', 'name': 'zen', } document2, errors2 = util.update_document(schema, document1, data2, db_conn) subdoc2 = pick(document2, ('name', 'plants', 'soil')) subdata2 = pick(data2, ('name', 'plants', 'soil')) assert len(errors1) == 0 assert subdoc1 == subdata1 assert document1['id'] == document2['id'] assert len(errors2) == 0 assert subdoc2 == extend({}, subdata1, subdata2)
def test_update_document(db_conn): schema = vases_schema data1 = { 'name': 'celestial', 'plants': [ {'species': 'zzplant', 'quantity': 2}, {'species': 'rubbertree', 'quantity': 1}, ], 'soil': {'color': 'black'} } document1, errors1 = util.insert_document(schema, data1, db_conn) subdoc1 = pick(document1, ('name', 'plants', 'soil')) subdata1 = pick(data1, ('name', 'plants', 'soil')) data2 = { 'id': 'haxxor', 'name': 'zen', } document2, errors2 = util.update_document(schema, document1, data2, db_conn) subdoc2 = pick(document2, ('name', 'plants', 'soil')) subdata2 = pick(data2, ('name', 'plants', 'soil')) assert len(errors1) == 0 assert subdoc1 == subdata1 assert document1['id'] == document2['id'] assert len(errors2) == 0 assert subdoc2 == extend({}, subdata1, subdata2)
def insert_response(data, db_conn): """ Create a new response. """ schema = response_schema return insert_document(schema, data, db_conn)
def insert_topic(data, db_conn): """ Create a new topic. """ schema = topic_schema data, errors = insert_document(schema, data, db_conn) if not errors: add_topic_to_es(data) return data, errors
def insert_user(data, db_conn): """ Save the user to the database. """ schema = user_schema data, errors = insert_document(schema, data, db_conn) if not errors: add_user_to_es(data) return data, errors
def insert_post(data, db_conn): """ Create a new post. """ schema = get_post_schema(data) data, errors = validate_post(data, db_conn) if errors: return data, errors data, errors = insert_document(schema, data, db_conn) if not errors: add_post_to_es(data, db_conn) return data, errors
def insert_follow(data, db_conn): """ Create a new follow (user <-> entity). """ schema = follow_schema data, errors = prepare_document(schema, data, db_conn) if errors: return None, errors errors = validate_uniqueness(data, db_conn) if errors: return None, errors errors = is_valid_entity(data, db_conn) if errors: return None, errors return insert_document(schema, data, db_conn)
def test_insert_document(db_conn, vases_table): schema = vases_schema data = { 'id': 'haxxor', 'name': 'celestial', 'plants': [ {'species': 'zzplant', 'quantity': 2}, {'species': 'rubbertree', 'quantity': 1}, ], 'soil': {'color': 'black'} } document, errors = util.insert_document(schema, data, db_conn) subdoc = pick(document, ('name', 'plants', 'soil')) subdata = pick(data, ('name', 'plants', 'soil')) assert document['id'] != data['id'] assert len(errors) == 0 assert subdoc == subdata
def create_test_data_set(db_conn, vases_table): """ Create a set of fake data. """ schema = vases_schema data = [{ 'name': 'celestial', 'shape': 'round', 'plants': [ {'species': 'zzplant', 'quantity': 2}, {'species': 'rubbertree', 'quantity': 1}, ], 'soil': {'color': 'black'} }, { 'name': 'kitch', 'shape': 'round', 'plants': [ {'species': 'sunflower', 'quantity': 1}, {'species': 'geranium', 'quantity': 3}, ], 'soil': {'color': 'brown'} }, { 'name': 'modern', 'shape': 'square', 'plants': [ {'species': 'fiddle-leaf-fig', 'quantity': 1}, {'species': 'rubbertree', 'quantity': 3}, ], 'soil': {'color': 'black'} }] errors = [] docs = [] for d in data: doc, e = util.insert_document(schema, d, db_conn) if e: errors.append(e) docs.append(doc) assert not errors return docs
def create_test_data_set(db_conn, vases_table): """ Create a set of fake data. """ schema = vases_schema data = [{ 'name': 'celestial', 'shape': 'round', 'plants': [ { 'species': 'zzplant', 'quantity': 2 }, { 'species': 'rubbertree', 'quantity': 1 }, ], 'soil': { 'color': 'black' } }, { 'name': 'kitch', 'shape': 'round', 'plants': [ { 'species': 'sunflower', 'quantity': 1 }, { 'species': 'geranium', 'quantity': 3 }, ], 'soil': { 'color': 'brown' } }, { 'name': 'modern', 'shape': 'square', 'plants': [ { 'species': 'fiddle-leaf-fig', 'quantity': 1 }, { 'species': 'rubbertree', 'quantity': 3 }, ], 'soil': { 'color': 'black' } }] errors = [] docs = [] for d in data: doc, e = util.insert_document(schema, d, db_conn) if e: errors.append(e) docs.append(doc) assert not errors return docs
def insert_card_parameters(data, db_conn): """ """ schema = card_parameters_schema return insert_document(schema, data, db_conn)