From 2341936ce6a311fcfeb05e73bd813e2cfd022b37 Mon Sep 17 00:00:00 2001 From: Richard Ulrich Date: Thu, 5 Jan 2023 11:45:28 +0100 Subject: [PATCH] Adding optional tests to showcase that it currently only works with electrs servers --- Cargo.toml | 4 ++++ tests/test_electrum_servers.rs | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 tests/test_electrum_servers.rs diff --git a/Cargo.toml b/Cargo.toml index 7c43e46..6a36bf6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,3 +43,7 @@ debug-calls = [] proxy = ["byteorder", "winapi", "libc"] use-rustls = ["webpki", "webpki-roots", "rustls"] use-openssl = ["openssl"] +test_servers = ["default"] + +[dev-dependencies] +rstest = "^0.11" diff --git a/tests/test_electrum_servers.rs b/tests/test_electrum_servers.rs new file mode 100644 index 0000000..571851f --- /dev/null +++ b/tests/test_electrum_servers.rs @@ -0,0 +1,21 @@ +extern crate electrum_client; +extern crate rstest; + +use electrum_client::{Client, ElectrumApi}; +use rstest::rstest; + +// picked some random servers from https://1209k.com/bitcoin-eye/ele.php +#[cfg(feature = "test_servers")] +#[rstest] +#[case::electrs(["electrum.blockstream.info", "ax101.blockeng.ch", "ax102.blockeng.ch", "ulrichard.ch"])] +#[case::electrumx(["electrumx-core.1209k.com", "skbxmit.coinjoined.com", "eai.coincited.net", "bitcoin.lu.ke"])] +#[case::fulcrum(["poonode-bitcoin.duckdns.org", "btc.lastingcoin.net", "de.poiuty.com", "fullnode.titanconnect.ca"])] +fn test_electrum_servers(#[case] servers: [&str; 4]) { + for srv in servers { + let url = "ssl://".to_string() + srv + ":50002"; + let client = Client::new(&url).unwrap(); + if let Err(err) = client.ping() { + panic!("electrum server error {} : {:?}", url, err); + } + } +}