forked from LBRYCommunity/lbry-sdk
Added tests.
This commit is contained in:
parent
34643b7f95
commit
433547407e
2 changed files with 52 additions and 6 deletions
|
@ -173,9 +173,12 @@ class CryptonatorBTCFeed(MarketFeed):
|
||||||
)
|
)
|
||||||
|
|
||||||
def _handle_response(self, response):
|
def _handle_response(self, response):
|
||||||
json_response = json.loads(response)
|
try:
|
||||||
if 'ticker' not in json_response or 'success' not in json_response or \
|
json_response = json.loads(response)
|
||||||
json_response['success'] is not True:
|
except ValueError:
|
||||||
|
raise InvalidExchangeRateResponse(self.name, "invalid rate response : %s" % response)
|
||||||
|
if 'ticker' not in json_response or len(json_response['ticker']) == 0 or \
|
||||||
|
'success' not in json_response or json_response['success'] is not True:
|
||||||
raise InvalidExchangeRateResponse(self.name, 'result not found')
|
raise InvalidExchangeRateResponse(self.name, 'result not found')
|
||||||
return defer.succeed(float(json_response['ticker']['price']))
|
return defer.succeed(float(json_response['ticker']['price']))
|
||||||
|
|
||||||
|
@ -193,9 +196,12 @@ class CryptonatorFeed(MarketFeed):
|
||||||
)
|
)
|
||||||
|
|
||||||
def _handle_response(self, response):
|
def _handle_response(self, response):
|
||||||
json_response = json.loads(response)
|
try:
|
||||||
if 'ticker' not in json_response or 'success' not in json_response or \
|
json_response = json.loads(response)
|
||||||
json_response['success'] is not True:
|
except ValueError:
|
||||||
|
raise InvalidExchangeRateResponse(self.name, "invalid rate response : %s" % response)
|
||||||
|
if 'ticker' not in json_response or len(json_response['ticker']) == 0 or \
|
||||||
|
'success' not in json_response or json_response['success'] is not True:
|
||||||
raise InvalidExchangeRateResponse(self.name, 'result not found')
|
raise InvalidExchangeRateResponse(self.name, 'result not found')
|
||||||
return defer.succeed(float(json_response['ticker']['price']))
|
return defer.succeed(float(json_response['ticker']['price']))
|
||||||
|
|
||||||
|
|
|
@ -119,3 +119,43 @@ class LBRYioBTCFeedTest(unittest.TestCase):
|
||||||
response = '{"success":true,"result":[]}'
|
response = '{"success":true,"result":[]}'
|
||||||
with self.assertRaises(InvalidExchangeRateResponse):
|
with self.assertRaises(InvalidExchangeRateResponse):
|
||||||
out = yield feed._handle_response(response)
|
out = yield feed._handle_response(response)
|
||||||
|
|
||||||
|
class CryptonatorFeedTest(unittest.TestCase):
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def test_handle_response(self):
|
||||||
|
feed = ExchangeRateManager.CryptonatorFeed()
|
||||||
|
|
||||||
|
response = '{\"ticker\":{\"base\":\"BTC\",\"target\":\"LBC\",\"price\":\"23657.44026496\"' \
|
||||||
|
',\"volume\":\"\",\"change\":\"-5.59806916\"},\"timestamp\":1507470422' \
|
||||||
|
',\"success\":true,\"error\":\"\"}'
|
||||||
|
out = yield feed._handle_response(response)
|
||||||
|
expected = 23657.44026496
|
||||||
|
self.assertEqual(expected, out)
|
||||||
|
|
||||||
|
response = '{}'
|
||||||
|
with self.assertRaises(InvalidExchangeRateResponse):
|
||||||
|
out = yield feed._handle_response(response)
|
||||||
|
|
||||||
|
response = '{"success":true,"ticker":{}}'
|
||||||
|
with self.assertRaises(InvalidExchangeRateResponse):
|
||||||
|
out = yield feed._handle_response(response)
|
||||||
|
|
||||||
|
class CryptonatorBTCFeedTest(unittest.TestCase):
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def test_handle_response(self):
|
||||||
|
feed = ExchangeRateManager.CryptonatorBTCFeed()
|
||||||
|
|
||||||
|
response = '{\"ticker\":{\"base\":\"USD\",\"target\":\"BTC\",\"price\":\"0.00022123\",' \
|
||||||
|
'\"volume\":\"\",\"change\":\"-0.00000259\"},\"timestamp\":1507471141,' \
|
||||||
|
'\"success\":true,\"error\":\"\"}'
|
||||||
|
out = yield feed._handle_response(response)
|
||||||
|
expected = 0.00022123
|
||||||
|
self.assertEqual(expected, out)
|
||||||
|
|
||||||
|
response = '{}'
|
||||||
|
with self.assertRaises(InvalidExchangeRateResponse):
|
||||||
|
out = yield feed._handle_response(response)
|
||||||
|
|
||||||
|
response = '{"success":true,"ticker":{}}'
|
||||||
|
with self.assertRaises(InvalidExchangeRateResponse):
|
||||||
|
out = yield feed._handle_response(response)
|
||||||
|
|
Loading…
Reference in a new issue