예제 #1
0
def test_delete_zero_unspent_outputs(db_context, utxoset):
    from bigchaindb.backend import query
    unspent_outputs, utxo_collection = utxoset
    delete_res = query.delete_unspent_outputs(db_context.conn)
    assert delete_res is None
    assert utxo_collection.count() == 3
    assert utxo_collection.find(
        {'$or': [
            {'transaction_id': 'a', 'output_index': 0},
            {'transaction_id': 'b', 'output_index': 0},
            {'transaction_id': 'a', 'output_index': 1},
        ]}
    ).count() == 3
예제 #2
0
def test_delete_many_unspent_outputs(db_context, utxoset):
    from bigchaindb.backend import query
    unspent_outputs, utxo_collection = utxoset
    delete_res = query.delete_unspent_outputs(db_context.conn,
                                              *unspent_outputs[::2])
    assert delete_res['n'] == 2
    assert utxo_collection.find(
        {'$or': [
            {'transaction_id': 'a', 'output_index': 0},
            {'transaction_id': 'b', 'output_index': 0},
        ]}
    ).count() == 0
    assert utxo_collection.find(
            {'transaction_id': 'a', 'output_index': 1}).count() == 1
예제 #3
0
def test_delete_one_unspent_outputs(db_context, utxoset):
    from bigchaindb.backend import query
    unspent_outputs, utxo_collection = utxoset
    delete_res = query.delete_unspent_outputs(db_context.conn,
                                              unspent_outputs[0])
    assert delete_res['n'] == 1
    assert utxo_collection.find(
        {'$or': [
            {'transaction_id': 'a', 'output_index': 1},
            {'transaction_id': 'b', 'output_index': 0},
        ]}
    ).count() == 2
    assert utxo_collection.find(
            {'transaction_id': 'a', 'output_index': 0}).count() == 0
예제 #4
0
def test_delete_many_unspent_outputs(db_context, utxoset):
    from bigchaindb.backend import query
    unspent_outputs, utxo_collection = utxoset
    delete_res = query.delete_unspent_outputs(db_context.conn,
                                              *unspent_outputs[::2])
    assert delete_res.raw_result['n'] == 2
    assert utxo_collection.count_documents(
        {'$or': [
            {'transaction_id': 'a', 'output_index': 0},
            {'transaction_id': 'b', 'output_index': 0},
        ]}
    ) == 0
    assert utxo_collection.count_documents(
            {'transaction_id': 'a', 'output_index': 1}) == 1
예제 #5
0
def test_delete_one_unspent_outputs(db_context, utxoset):
    from bigchaindb.backend import query
    unspent_outputs, utxo_collection = utxoset
    delete_res = query.delete_unspent_outputs(db_context.conn,
                                              unspent_outputs[0])
    assert delete_res.raw_result['n'] == 1
    assert utxo_collection.count_documents(
        {'$or': [
            {'transaction_id': 'a', 'output_index': 1},
            {'transaction_id': 'b', 'output_index': 0},
        ]}
    ) == 2
    assert utxo_collection.count_documents(
            {'transaction_id': 'a', 'output_index': 0}) == 0
예제 #6
0
def test_delete_zero_unspent_outputs(db_context, utxoset):
    from bigchaindb.backend import query
    unspent_outputs, utxo_collection = utxoset
    delete_res = query.delete_unspent_outputs(db_context.conn)
    assert delete_res is None
    assert utxo_collection.count_documents({}) == 3
    assert utxo_collection.count_documents({
        '$or': [
            {
                'transaction_id': 'a',
                'output_index': 0
            },
            {
                'transaction_id': 'b',
                'output_index': 0
            },
            {
                'transaction_id': 'a',
                'output_index': 1
            },
        ]
    }) == 3