bitcoindevkit / rust-electrum-client

Bitcoin Electrum client library. Supports plaintext, TLS and Onion servers.
MIT License
77 stars 63 forks source link

Fix unreproducible tests #142

Open storopoli opened 1 month ago

storopoli commented 1 month ago
          > The tests are CRAZY! They are even not reproducible. They pretty much ping a live server `electrum.blockstream.info:50001`. So I added the tests for the fees to make sure that the fee is `> 0`.

Maybe we should switch to use a local regtest electrs that we pre-populate with a certain amount of transactions and blocks to make them ~reproducible? Or, we could consider building a mock Electrum server, which shouldn't be hard to do? Especially given the confusion around fee rate conversion it would be good to test it properly in CI?

Originally posted by @tnull in https://github.com/bitcoindevkit/rust-electrum-client/issues/136#issuecomment-2275080407

oleonardolima commented 1 month ago

I do like the idea of using a local regtest electrs, by using electrsd for example.

I also think it'll be pretty much straightforward if we choose to use our bdk_testenv crate instead of trying to rebuild everything from scratch again with electrsd.