Problem: FastQuery not working (#2153)

Solution: Fix FastQuery Class
This commit is contained in:
Vanshdeep Singh 2018-03-23 21:46:00 +05:30 committed by vrde
parent cffd68f7cf
commit 283f685f07
3 changed files with 30 additions and 1 deletions

View File

@ -7,6 +7,8 @@ class FastQuery():
"""
Database queries that join on block results from a single node.
"""
def __init__(self, connection):
self.connection = connection
def get_outputs_by_public_key(self, public_key):
"""

View File

@ -330,7 +330,7 @@ class BigchainDB(Bigchain):
@property
def fastquery(self):
return fastquery.FastQuery(self.connection, self.me)
return fastquery.FastQuery(self.connection)
Block = namedtuple('Block', ('app_hash', 'height', 'transactions'))

View File

@ -0,0 +1,27 @@
import pytest
from bigchaindb.common.transaction import TransactionLink
from bigchaindb.models import Transaction
pytestmark = [pytest.mark.bdb, pytest.mark.tendermint]
@pytest.fixture
def txns(b, user_pk, user_sk, user2_pk, user2_sk):
txs = [Transaction.create([user_pk], [([user2_pk], 1)]).sign([user_sk]),
Transaction.create([user2_pk], [([user_pk], 1)]).sign([user2_sk]),
Transaction.create([user_pk], [([user_pk], 1), ([user2_pk], 1)])
.sign([user_sk])]
b.store_bulk_transactions(txs)
return txs
def test_get_outputs_by_public_key(b, user_pk, user2_pk, txns):
assert b.fastquery.get_outputs_by_public_key(user_pk) == [
TransactionLink(txns[1].id, 0),
TransactionLink(txns[2].id, 0)
]
assert b.fastquery.get_outputs_by_public_key(user2_pk) == [
TransactionLink(txns[0].id, 0),
TransactionLink(txns[2].id, 1),
]