def test_write_assets(): from bigchaindb.backend import connect, query conn = connect() assets = [ { 'id': 1, 'data': '1' }, { 'id': 2, 'data': '2' }, { 'id': 3, 'data': '3' }, # Duplicated id. Should not be written to the database { 'id': 1, 'data': '1' }, ] # write the assets for asset in assets: query.store_asset(conn, deepcopy(asset)) # check that 3 assets were written to the database cursor = conn.db.assets.find({}, projection={'_id': False})\ .sort('id', pymongo.ASCENDING) assert cursor.count() == 3 assert list(cursor) == assets[:-1]
def test_delete_latest_block(signed_create_tx, signed_transfer_tx): from bigchaindb.backend import connect, query from bigchaindb.tendermint.lib import Block conn = connect() conn.db.transactions.insert_one(signed_create_tx.to_dict()) query.store_asset(conn, {'id': signed_create_tx.id}) block = Block(app_hash='random_utxo', height=51, transactions=[signed_create_tx.id]) query.store_block(conn, block._asdict()) query.delete_latest_block(conn) assert query.get_transaction(conn, signed_create_tx.id) is None assert query.get_asset(conn, signed_create_tx.id) is None assert query.get_block(conn, 51) is None
def test_write_assets(): from bigchaindb.backend import connect, query conn = connect() assets = [ {'id': 1, 'data': '1'}, {'id': 2, 'data': '2'}, {'id': 3, 'data': '3'}, # Duplicated id. Should not be written to the database {'id': 1, 'data': '1'}, ] # write the assets for asset in assets: query.store_asset(conn, deepcopy(asset)) # check that 3 assets were written to the database cursor = conn.db.assets.find({}, projection={'_id': False})\ .sort('id', pymongo.ASCENDING) assert cursor.count() == 3 assert list(cursor) == assets[:-1]