Add end-to-end test framework#128
Conversation
|
I've assigned @valentinewallace as a reviewer! |
e2e-tests/src/lib.rs
Outdated
|
|
||
| impl TestBitcoind { | ||
| pub fn new() -> Self { | ||
| let bitcoind = Node::from_downloaded().unwrap(); |
There was a problem hiding this comment.
Should we enable caching like we do in LDK/LDK Node so we don't needlessly hammer bitcoincore.org with every CI job?
4cb5f7d to
3cb2205
Compare
| }, | ||
| #[command(about = "Return a BOLT12 offer for receiving payments")] | ||
| Bolt12Receive { | ||
| #[arg(help = "Description to attach along with the offer")] |
There was a problem hiding this comment.
Something I noticed making the bolt12 test, we can't create an amountless bolt12 because the description is required but the amount is optional. I'll move to a separate commit to make it cleaner
| edition = "2021" | ||
|
|
||
| [dependencies] | ||
| corepc-node = { version = "0.10", features = ["download", "29_0"] } |
There was a problem hiding this comment.
Needs to drop the download feature now.
There was a problem hiding this comment.
In CI we have set BITCOIND_SKIP_DOWNLOAD so it'll skip the download but we can keep this so it'll still download locally if you don't have it
https://github.com/rust-bitcoin/corepc/blob/master/node/build.rs#L78
ebf74ad to
397c4c5
Compare
Since the amount was optional and the description was required, we were unable to create an amountless bolt12 because the description was first in the positional agruments.
397c4c5 to
348dda7
Compare
|
Got LSPS2 functionality and the forwarded payments tested now too! |
|
Ah, seems CI is unhappy right now. |
Introduces an e2e-tests crate that spins up real bitcoind and ldk-server processes to test the cli -> ldk-server flow. A build.rs automatically compiles ldk-server (with events-rabbitmq) and ldk-server-cli into a separate target directory, so tests work without manual pre-building. Tests cover all cli commands and rabbitmq events. Claude helped with some of the boilerplate code
348dda7 to
97963db
Compare
|
working on more tests for here, but can always do as a follow up if we want to merge now |
Closes #113
Introduces an e2e-tests crate that spins up real bitcoind and ldk-server processes to test the cli -> ldk-server flow. A build.rs automatically compiles ldk-server (with events-rabbitmq) and ldk-server-cli into a separate target directory, so tests work without manual pre-building.
Tests cover all cli commands and most rabbitmq events.
Claude helped with some of the boilerplate code
Found a small place we can make the bolt12 cli better