Skip to content

Commit 2694bfb

Browse files
thunderbiscuit110CodingP
authored andcommitted
test: add simple KeyRing tests
1 parent e4d5b6a commit 2694bfb

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

tests/keyring.rs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
use bdk_wallet::keyring::KeyRing;
2+
use bdk_wallet::KeychainKind;
3+
use bitcoin::Network;
4+
5+
// From the mnemonic "awesome awesome awesome awesome awesome awesome awesome awesome awesome
6+
// awesome awesome awesome"
7+
const DESC_1: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/0/*)";
8+
9+
#[test]
10+
fn test_simple_keyring() {
11+
let network = Network::Regtest;
12+
let keychain_id = KeychainKind::External;
13+
14+
let keyring = KeyRing::new(network, keychain_id, DESC_1);
15+
16+
assert_eq!(keyring.default_keychain(), keychain_id);
17+
assert_eq!(keyring.list_keychains().len(), 1);
18+
}
19+
20+
#[test]
21+
fn test_8_keychains_keyring() {
22+
const DESC_1: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/0/*)";
23+
const DESC_2: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/1/*)";
24+
const DESC_3: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/2/*)";
25+
const DESC_4: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/3/*)";
26+
const DESC_5: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/4/*)";
27+
const DESC_6: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/5/*)";
28+
const DESC_7: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/6/*)";
29+
const DESC_8: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/7/*)";
30+
31+
let mut keyring = KeyRing::new(Network::Regtest, 1, DESC_1);
32+
keyring.add_descriptor(2, DESC_2, false);
33+
keyring.add_descriptor(3, DESC_3, false);
34+
keyring.add_descriptor(4, DESC_4, false);
35+
keyring.add_descriptor(5, DESC_5, false);
36+
keyring.add_descriptor(6, DESC_6, false);
37+
keyring.add_descriptor(7, DESC_7, false);
38+
keyring.add_descriptor(8, DESC_8, false);
39+
40+
assert_eq!(keyring.default_keychain(), 1);
41+
assert_eq!(keyring.list_keychains().len(), 8);
42+
}

0 commit comments

Comments
 (0)