forked from LBRYCommunity/lbry-sdk
wallet tests and py3 compatibility
This commit is contained in:
parent
f2f212edba
commit
12ff7015cd
7 changed files with 30 additions and 14 deletions
|
@ -165,7 +165,7 @@ class ServerRequestHandler(object):
|
|||
return True
|
||||
|
||||
ds = []
|
||||
for query_handler, query_identifiers in self.query_handlers.iteritems():
|
||||
for query_handler, query_identifiers in self.query_handlers.items():
|
||||
queries = {q_i: msg[q_i] for q_i in query_identifiers if q_i in msg}
|
||||
d = query_handler.handle_queries(queries)
|
||||
d.addErrback(log_errors)
|
||||
|
|
|
@ -166,7 +166,7 @@ def DeferredDict(d, consumeErrors=False):
|
|||
keys = []
|
||||
dl = []
|
||||
response = {}
|
||||
for k, v in d.iteritems():
|
||||
for k, v in d.items():
|
||||
keys.append(k)
|
||||
dl.append(v)
|
||||
results = yield defer.DeferredList(dl, consumeErrors=consumeErrors)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import logging
|
||||
from twisted.internet import defer
|
||||
from twisted._threads import AlreadyQuit
|
||||
from ComponentManager import ComponentManager
|
||||
from .ComponentManager import ComponentManager
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ class ComponentManager(object):
|
|||
self.components = set()
|
||||
self.analytics_manager = analytics_manager
|
||||
|
||||
for component_name, component_class in self.default_component_classes.iteritems():
|
||||
for component_name, component_class in self.default_component_classes.items():
|
||||
if component_name in override_components:
|
||||
component_class = override_components.pop(component_name)
|
||||
if component_name not in self.skip_components:
|
||||
|
@ -52,7 +52,7 @@ class ComponentManager(object):
|
|||
if override_components:
|
||||
raise SyntaxError("unexpected components: %s" % override_components)
|
||||
|
||||
for component_class in self.component_classes.itervalues():
|
||||
for component_class in self.component_classes.values():
|
||||
self.components.add(component_class(self))
|
||||
|
||||
@defer.inlineCallbacks
|
||||
|
@ -117,7 +117,7 @@ class ComponentManager(object):
|
|||
:return: (defer.Deferred)
|
||||
"""
|
||||
|
||||
for component_name, cb in callbacks.iteritems():
|
||||
for component_name, cb in callbacks.items():
|
||||
if component_name not in self.component_classes:
|
||||
raise NameError("unknown component: %s" % component_name)
|
||||
if not callable(cb):
|
||||
|
|
|
@ -234,7 +234,7 @@ class Daemon(AuthJSONRPCServer):
|
|||
|
||||
@property
|
||||
def ledger(self):
|
||||
return self.session.wallet.default_account.ledger
|
||||
return self.wallet.default_account.ledger
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def setup(self):
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
from lbrynet import custom_logger
|
||||
import Components # register Component classes
|
||||
from . import custom_logger
|
||||
from . import Components # register Component classes
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import types
|
||||
|
||||
from twisted.internet import defer
|
||||
from orchstr8.testcase import IntegrationTestCase, d2f
|
||||
from torba.constants import COIN
|
||||
|
||||
|
@ -9,6 +10,7 @@ lbryschema.BLOCKCHAIN_NAME = 'lbrycrd_regtest'
|
|||
from lbrynet import conf as lbry_conf
|
||||
from lbrynet.daemon.Daemon import Daemon
|
||||
from lbrynet.wallet.manager import LbryWalletManager
|
||||
from lbrynet.daemon.Components import WalletComponent
|
||||
|
||||
|
||||
class FakeAnalytics:
|
||||
|
@ -41,16 +43,30 @@ class CommandTestCase(IntegrationTestCase):
|
|||
await self.blockchain.generate(1)
|
||||
await self.on_transaction_id(sendtxid)
|
||||
self.daemon = Daemon(FakeAnalytics())
|
||||
self.daemon.session = types.SimpleNamespace()
|
||||
self.daemon.session.wallet = self.manager
|
||||
self.daemon.wallet = self.manager
|
||||
wallet_component = WalletComponent(self.daemon.component_manager)
|
||||
wallet_component.wallet = self.manager
|
||||
wallet_component._running = True
|
||||
self.daemon.component_manager.components.add(wallet_component)
|
||||
|
||||
|
||||
class DaemonCommandsTests(CommandTestCase):
|
||||
|
||||
VERBOSE = True
|
||||
|
||||
async def test_new_channel(self):
|
||||
result = await d2f(self.daemon.jsonrpc_channel_new('@bar', 1*COIN))
|
||||
@defer.inlineCallbacks
|
||||
def test_new_channel(self):
|
||||
result = yield self.daemon.jsonrpc_channel_new('@bar', 1*COIN)
|
||||
self.assertIn('txid', result)
|
||||
await self.on_transaction_id(result['txid'])
|
||||
yield self.ledger.on_transaction.deferred_where(
|
||||
lambda e: e.tx.hex_id.decode() == result['txid']
|
||||
)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_wallet_balance(self):
|
||||
result = yield self.daemon.jsonrpc_wallet_balance()
|
||||
self.assertEqual(result, 10*COIN)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_publish(self):
|
||||
result = yield self.daemon.jsonrpc_publish('foo', 1*COIN)
|
||||
|
|
Loading…
Add table
Reference in a new issue