Exemple #1
0
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
Exemple #3
0
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)
Exemple #5
0
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)
Exemple #6
0
def insert_notice(data, db_conn):
    """
    Create a new notice.
    """

    schema = notice_schema
    return insert_document(schema, data, db_conn)
Exemple #7
0
def insert_response(data, db_conn):
    """
    Create a new response.
    """

    schema = response_schema
    return insert_document(schema, data, db_conn)
Exemple #8
0
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
Exemple #9
0
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
Exemple #10
0
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
Exemple #11
0
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
Exemple #12
0
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)
Exemple #13
0
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
Exemple #14
0
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
Exemple #15
0
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
Exemple #16
0
def insert_card_parameters(data, db_conn):
    """
    """

    schema = card_parameters_schema
    return insert_document(schema, data, db_conn)