MCPcopy Create free account
hub / github.com/ElementsProject/lightning / test_apis_batch1

Function test_apis_batch1

tests/test_currencyrate.py:48–91  ·  view source on GitHub ↗
(node_factory)

Source from the content-addressed store, hash-verified

46
47
48def test_apis_batch1(node_factory):
49 opts = {
50 "currencyrate-disable-source": ["bitstamp", "coinbase"],
51 }
52 l1 = node_factory.get_node(options=opts)
53
54 rateslist = l1.rpc.call("listcurrencyrates", ["USD"])['currencyrates']
55 LOGGER.info(rateslist)
56 rates = {entry["source"]: entry["amount"] for entry in rateslist}
57
58 assert "bitstamp" not in rates
59 assert "coinbase" not in rates
60
61 assert "coingecko" in rates
62 assert "kraken" in rates
63 assert "blockchain.info" in rates
64 assert "coindesk" in rates
65 assert "binance" in rates
66
67 # Death to the 58k gang!
68 assert rates["coingecko"] > 58000
69 assert rates["kraken"] > 58000
70 assert rates["blockchain.info"] > 58000
71 assert rates["coindesk"] > 58000
72 assert rates["binance"] > 58000
73
74 rates = [
75 rates["coingecko"],
76 rates["kraken"],
77 rates["blockchain.info"],
78 rates["coindesk"],
79 rates["binance"],
80 ]
81
82 rates.sort()
83
84 convert = l1.rpc.call("currencyconvert", [100, "USD"])
85 LOGGER.info(convert)
86
87 assert "msat" in convert
88 assert convert["msat"] > 0
89 assert convert["msat"] in median_conversion(100, rateslist)
90
91 assert int(l1.rpc.currencyrate("usd")['rate']) in median_rate(rateslist)
92
93
94def test_apis_batch2(node_factory):

Callers

nothing calls this directly

Calls 5

median_conversionFunction · 0.85
median_rateFunction · 0.85
sortMethod · 0.80
get_nodeMethod · 0.45
callMethod · 0.45

Tested by

no test coverage detected