74 lines
1.5 KiB
Python
74 lines
1.5 KiB
Python
|
# standard imports
|
||
|
import os
|
||
|
import datetime
|
||
|
import logging
|
||
|
import json
|
||
|
|
||
|
# third-party imports
|
||
|
import pytest
|
||
|
|
||
|
# local imports
|
||
|
from cic_cache import db
|
||
|
from cic_cache import BloomCache
|
||
|
|
||
|
logg = logging.getLogger()
|
||
|
|
||
|
|
||
|
def test_cache(
|
||
|
init_database,
|
||
|
list_defaults,
|
||
|
list_actors,
|
||
|
list_tokens,
|
||
|
):
|
||
|
|
||
|
session = init_database
|
||
|
|
||
|
tx_number = 13
|
||
|
tx_hash_first = '0x' + os.urandom(32).hex()
|
||
|
val = 15000
|
||
|
nonce = 1
|
||
|
dt = datetime.datetime.utcnow()
|
||
|
db.add_transaction(
|
||
|
session,
|
||
|
tx_hash_first,
|
||
|
list_defaults['block'],
|
||
|
tx_number,
|
||
|
list_actors['alice'],
|
||
|
list_actors['bob'],
|
||
|
list_tokens['foo'],
|
||
|
list_tokens['foo'],
|
||
|
True,
|
||
|
dt.timestamp(),
|
||
|
)
|
||
|
|
||
|
|
||
|
tx_number = 42
|
||
|
tx_hash_second = '0x' + os.urandom(32).hex()
|
||
|
tx_signed_second = '0x' + os.urandom(128).hex()
|
||
|
nonce = 1
|
||
|
dt -= datetime.timedelta(hours=1)
|
||
|
db.add_transaction(
|
||
|
session,
|
||
|
tx_hash_second,
|
||
|
list_defaults['block']-1,
|
||
|
tx_number,
|
||
|
list_actors['diane'],
|
||
|
list_actors['alice'],
|
||
|
list_tokens['foo'],
|
||
|
list_tokens['foo'],
|
||
|
False,
|
||
|
dt.timestamp(),
|
||
|
)
|
||
|
|
||
|
session.commit()
|
||
|
|
||
|
c = BloomCache(session)
|
||
|
b = c.load_transactions(0, 100)
|
||
|
|
||
|
assert b[0] == list_defaults['block'] - 1
|
||
|
|
||
|
c = BloomCache(session)
|
||
|
c.load_transactions_account(list_actors['alice'],0, 100)
|
||
|
|
||
|
assert b[0] == list_defaults['block'] - 1
|