diff --git a/tests/integration/other/test_exchange_rate_manager.py b/tests/integration/other/test_exchange_rate_manager.py new file mode 100644 index 000000000..513b636da --- /dev/null +++ b/tests/integration/other/test_exchange_rate_manager.py @@ -0,0 +1,22 @@ +from decimal import Decimal +from lbry.testcase import AsyncioTestCase +from lbry.extras.daemon.exchange_rate_manager import ExchangeRate, ExchangeRateManager, FEEDS + + +class TestExchangeRateManager(AsyncioTestCase): + + async def test_exchange_rate_manager(self): + # TODO: re-enable cryptonator.com + manager = ExchangeRateManager(FEEDS) + manager.start() + self.addCleanup(manager.stop) + for feed in manager.market_feeds: + self.assertFalse(feed.is_online) + self.assertIsNone(feed.rate) + await manager.wait() + for feed in manager.market_feeds: + self.assertTrue(feed.is_online) + self.assertIsInstance(feed.rate, ExchangeRate) + lbc = manager.convert_currency('USD', 'LBC', Decimal('0.01')) + self.assertGreaterEqual(lbc, 0.1) + self.assertLessEqual(lbc, 10.0)