use {
super::*,
crate::command_builder::ToArgs,
bitcoincore_rpc::{Auth, Client, RpcApi},
reqwest::blocking::Response,
};
pub(crate) struct TestServer {
child: Child,
port: u16,
#[allow(unused)]
tempdir: TempDir,
rpc_url: String,
}
impl TestServer {
pub(crate) fn spawn_with_args(
rpc_server: &test_bitcoincore_rpc::Handle,
ord_args: &[&str],
) -> Self {
Self::spawn_with_server_args(rpc_server, ord_args, &[])
}
pub(crate) fn spawn_with_server_args(
rpc_server: &test_bitcoincore_rpc::Handle,
ord_args: &[&str],
server_args: &[&str],
) -> Self {
let tempdir = TempDir::new().unwrap();
fs::write(tempdir.path().join(".cookie"), "foo:bar").unwrap();
let port = TcpListener::bind("127.0.0.1:0")
.unwrap()
.local_addr()
.unwrap()
.port();
let child = Command::new(executable_path("ord")).args(format!(
"--rpc-url {} --bitcoin-data-dir {} --data-dir {} {} server {} --http-port {port} --address 127.0.0.1",
rpc_server.url(),