updated testcase to use api instead of daemon

This commit is contained in:
Lex Berezhny 2020-05-08 10:34:57 -04:00
parent 29ef4425b0
commit 4b172e4180

View file

@ -6,11 +6,11 @@ import logging
import tempfile import tempfile
import functools import functools
import asyncio import asyncio
import time
from asyncio.runners import _cancel_all_tasks # type: ignore from asyncio.runners import _cancel_all_tasks # type: ignore
import unittest import unittest
from unittest.case import _Outcome from unittest.case import _Outcome
from typing import Optional from typing import Optional
from time import time
from binascii import unhexlify from binascii import unhexlify
from functools import partial from functools import partial
@ -108,7 +108,7 @@ class AsyncioTestCase(unittest.TestCase):
# Implementation inspired by discussion: # Implementation inspired by discussion:
# https://bugs.python.org/issue32972 # https://bugs.python.org/issue32972
LOOP_SLOW_CALLBACK_DURATION = 0.2 LOOP_SLOW_CALLBACK_DURATION = 0.1
maxDiff = None maxDiff = None
@ -300,8 +300,8 @@ class FakeExchangeRateManager(ExchangeRateManager):
def __init__(self, market_feeds, rates): # pylint: disable=super-init-not-called def __init__(self, market_feeds, rates): # pylint: disable=super-init-not-called
self.market_feeds = market_feeds self.market_feeds = market_feeds
for feed in self.market_feeds: for feed in self.market_feeds:
feed.last_check = time() feed.last_check = time.time()
feed.rate = ExchangeRate(feed.market, rates[feed.market], time()) feed.rate = ExchangeRate(feed.market, rates[feed.market], time.time())
def start(self): def start(self):
pass pass
@ -551,32 +551,32 @@ class CommandTestCase(IntegrationTestCase):
if data is not None: if data is not None:
file_path = self.create_upload_file(data=data, prefix=prefix, suffix=suffix) file_path = self.create_upload_file(data=data, prefix=prefix, suffix=suffix)
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_stream_update(claim_id, file_path=file_path, **kwargs), confirm self.api.stream_update(claim_id, file_path=file_path, **kwargs), confirm
) )
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_stream_update(claim_id, **kwargs), confirm self.api.stream_update(claim_id, **kwargs), confirm
) )
async def stream_repost(self, claim_id, name='repost', bid='1.0', confirm=True, **kwargs): async def stream_repost(self, claim_id, name='repost', bid='1.0', confirm=True, **kwargs):
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_stream_repost(claim_id=claim_id, name=name, bid=bid, **kwargs), confirm self.api.stream_repost(claim_id=claim_id, name=name, bid=bid, **kwargs), confirm
) )
async def stream_abandon(self, *args, confirm=True, **kwargs): async def stream_abandon(self, *args, confirm=True, **kwargs):
if 'blocking' not in kwargs: if 'blocking' not in kwargs:
kwargs['blocking'] = False kwargs['blocking'] = False
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_stream_abandon(*args, **kwargs), confirm self.api.stream_abandon(*args, **kwargs), confirm
) )
async def purchase_create(self, *args, confirm=True, **kwargs): async def purchase_create(self, *args, confirm=True, **kwargs):
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_purchase_create(*args, **kwargs), confirm self.api.purchase_create(*args, **kwargs), confirm
) )
async def publish(self, name, *args, confirm=True, **kwargs): async def publish(self, name, *args, confirm=True, **kwargs):
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_publish(name, *args, **kwargs), confirm self.api.publish(name, *args, **kwargs), confirm
) )
async def channel_create(self, name='@arena', bid='1.0', confirm=True, **kwargs): async def channel_create(self, name='@arena', bid='1.0', confirm=True, **kwargs):
@ -586,54 +586,64 @@ class CommandTestCase(IntegrationTestCase):
async def channel_update(self, claim_id, confirm=True, **kwargs): async def channel_update(self, claim_id, confirm=True, **kwargs):
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_channel_update(claim_id, **kwargs), confirm self.api.channel_update(claim_id, **kwargs), confirm
) )
async def channel_abandon(self, *args, confirm=True, **kwargs): async def channel_abandon(self, *args, confirm=True, **kwargs):
if 'blocking' not in kwargs: if 'blocking' not in kwargs:
kwargs['blocking'] = False kwargs['blocking'] = False
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_channel_abandon(*args, **kwargs), confirm self.api.channel_abandon(*args, **kwargs), confirm
) )
async def collection_create( async def collection_create(
self, name='firstcollection', bid='1.0', confirm=True, **kwargs): self, name='firstcollection', bid='1.0', confirm=True, **kwargs):
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_collection_create(name, bid, **kwargs), confirm self.api.collection_create(name, bid, **kwargs), confirm
) )
async def collection_update( async def collection_update(
self, claim_id, confirm=True, **kwargs): self, claim_id, confirm=True, **kwargs):
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_collection_update(claim_id, **kwargs), confirm self.api.collection_update(claim_id, **kwargs), confirm
) )
async def collection_abandon(self, *args, confirm=True, **kwargs): async def collection_abandon(self, *args, confirm=True, **kwargs):
if 'blocking' not in kwargs: if 'blocking' not in kwargs:
kwargs['blocking'] = False kwargs['blocking'] = False
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_stream_abandon(*args, **kwargs), confirm self.api.stream_abandon(*args, **kwargs), confirm
) )
async def support_create(self, claim_id, bid='1.0', confirm=True, **kwargs): async def support_create(self, claim_id, bid='1.0', confirm=True, **kwargs):
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_support_create(claim_id, bid, **kwargs), confirm self.api.support_create(claim_id, bid, **kwargs), confirm
) )
async def support_abandon(self, *args, confirm=True, **kwargs): async def support_abandon(self, *args, confirm=True, **kwargs):
if 'blocking' not in kwargs: if 'blocking' not in kwargs:
kwargs['blocking'] = False kwargs['blocking'] = False
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_support_abandon(*args, **kwargs), confirm self.api.support_abandon(*args, **kwargs), confirm
)
async def account_fund(self, *args, confirm=True, **kwargs):
return await self.confirm_and_render(
self.api.account_fund(*args, **kwargs), confirm
)
async def account_send(self, *args, confirm=True, **kwargs):
return await self.confirm_and_render(
self.api.account_send(*args, **kwargs), confirm
) )
async def wallet_send(self, *args, confirm=True, **kwargs): async def wallet_send(self, *args, confirm=True, **kwargs):
return await self.confirm_and_render( return await self.confirm_and_render(
self.daemon.jsonrpc_wallet_send(*args, **kwargs), confirm self.api.wallet_send(*args, **kwargs), confirm
) )
async def txo_spend(self, *args, confirm=True, **kwargs): async def txo_spend(self, *args, confirm=True, **kwargs):
txs = await self.daemon.jsonrpc_txo_spend(*args, **kwargs) txs = await self.api.txo_spend(*args, **kwargs)
if confirm: if confirm:
await asyncio.wait([self.ledger.wait(tx) for tx in txs]) await asyncio.wait([self.ledger.wait(tx) for tx in txs])
await self.generate(1) await self.generate(1)
@ -641,38 +651,41 @@ class CommandTestCase(IntegrationTestCase):
return self.sout(txs) return self.sout(txs)
async def resolve(self, uri, **kwargs): async def resolve(self, uri, **kwargs):
return (await self.out(self.daemon.jsonrpc_resolve(uri, **kwargs)))[uri] return (await self.out(self.api.resolve(uri, **kwargs)))[uri]
async def claim_search(self, **kwargs): async def claim_search(self, **kwargs):
return (await self.out(self.api.claim_search(**kwargs)))['items'] return (await self.out(self.api.claim_search(**kwargs)))['items']
async def file_list(self, *args, **kwargs): async def file_list(self, *args, **kwargs):
return (await self.out(self.daemon.jsonrpc_file_list(*args, **kwargs)))['items'] return (await self.out(self.api.file_list(*args, **kwargs)))['items']
async def txo_list(self, *args, **kwargs): async def txo_list(self, *args, **kwargs):
return (await self.out(self.daemon.jsonrpc_txo_list(*args, **kwargs)))['items'] return (await self.out(self.api.txo_list(*args, **kwargs)))['items']
async def txo_sum(self, *args, **kwargs): async def txo_sum(self, *args, **kwargs):
return await self.out(self.daemon.jsonrpc_txo_sum(*args, **kwargs)) return await self.out(self.api.txo_sum(*args, **kwargs))
async def txo_plot(self, *args, **kwargs): async def txo_plot(self, *args, **kwargs):
return await self.out(self.daemon.jsonrpc_txo_plot(*args, **kwargs)) return await self.out(self.api.txo_plot(*args, **kwargs))
async def claim_list(self, *args, **kwargs): async def claim_list(self, *args, **kwargs):
return (await self.out(self.daemon.jsonrpc_claim_list(*args, **kwargs)))['items'] return (await self.out(self.api.claim_list(*args, **kwargs)))['items']
async def stream_list(self, *args, **kwargs): async def stream_list(self, *args, **kwargs):
return (await self.out(self.daemon.jsonrpc_stream_list(*args, **kwargs)))['items'] return (await self.out(self.api.stream_list(*args, **kwargs)))['items']
async def channel_list(self, *args, **kwargs): async def channel_list(self, *args, **kwargs):
return (await self.out(self.daemon.jsonrpc_channel_list(*args, **kwargs)))['items'] return (await self.out(self.api.channel_list(*args, **kwargs)))['items']
async def collection_list(self, *args, **kwargs):
return (await self.out(self.api.collection_list(*args, **kwargs)))['items']
async def collection_resolve(self, *args, **kwargs):
return (await self.out(self.api.collection_resolve(*args, **kwargs)))['items']
async def transaction_list(self, *args, **kwargs): async def transaction_list(self, *args, **kwargs):
return (await self.out(self.daemon.jsonrpc_transaction_list(*args, **kwargs)))['items'] return (await self.out(self.api.transaction_list(*args, **kwargs)))['items']
@staticmethod @staticmethod
def get_claim_id(tx): def get_claim_id(tx):
return tx['outputs'][0]['claim_id'] return tx['outputs'][0]['claim_id']
def assertItemCount(self, result, count): # pylint: disable=invalid-name
self.assertEqual(count, result['total_items'])