Skip to content

Commit db47943

Browse files
fixup! tests: add tests for KeyRing and Wallet
1 parent 80d8744 commit db47943

5 files changed

Lines changed: 10 additions & 31 deletions

File tree

src/persist_test_utils.rs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,6 @@ pub fn persist_wallet_changeset<Store, CreateStore, K>(
160160
let keyring_changeset = crate::keyring::ChangeSet {
161161
network: Some(Network::Testnet),
162162
descriptors: [(keychain.clone(), descriptor.clone())].into(),
163-
default_keychain: Some(keychain),
164163
};
165164

166165
let mut changeset = ChangeSet {
@@ -273,7 +272,6 @@ pub fn persist_multiple_wallet_changesets<Store, CreateStores, K>(
273272
let keyring_changeset = crate::keyring::ChangeSet {
274273
network: Some(Network::Testnet),
275274
descriptors: [(keychain.clone(), descriptor.clone())].into(),
276-
default_keychain: Some(keychain.clone()),
277275
};
278276

279277
let changeset1 = ChangeSet {
@@ -295,7 +293,6 @@ pub fn persist_multiple_wallet_changesets<Store, CreateStores, K>(
295293
let keyring_changeset2 = crate::keyring::ChangeSet {
296294
network: Some(Network::Testnet),
297295
descriptors: [(keychain.clone(), descriptor.clone())].into(),
298-
default_keychain: Some(keychain),
299296
};
300297

301298
let changeset2 = ChangeSet {
@@ -392,7 +389,6 @@ pub fn persist_keychain<Store, CreateStore, K>(
392389

393390
let keyring_changeset = crate::keyring::ChangeSet {
394391
descriptors: [(keychain.clone(), descriptor.clone())].into(),
395-
default_keychain: Some(keychain.clone()),
396392
..crate::keyring::ChangeSet::default()
397393
};
398394

@@ -411,8 +407,6 @@ pub fn persist_keychain<Store, CreateStore, K>(
411407
*changeset_read.keyring.descriptors.get(&keychain).unwrap(),
412408
descriptor
413409
);
414-
415-
assert_eq!(changeset_read.keyring.default_keychain, Some(keychain));
416410
}
417411

418412
/// tests if multiple descriptors are being persisted correctly
@@ -454,7 +448,6 @@ pub fn persist_keychains<Store, CreateStore, K>(
454448
(keychain2.clone(), desc2.clone()),
455449
]
456450
.into(),
457-
default_keychain: Some(keychain1.clone()),
458451
..crate::keyring::ChangeSet::default()
459452
};
460453

@@ -478,13 +471,7 @@ pub fn persist_keychains<Store, CreateStore, K>(
478471
desc2
479472
);
480473

481-
assert_eq!(
482-
changeset_read.keyring.default_keychain,
483-
Some(keychain1.clone())
484-
);
485-
486474
let keyring_changeset_new = crate::keyring::ChangeSet {
487-
default_keychain: Some(keychain2.clone()),
488475
..crate::keyring::ChangeSet::default()
489476
};
490477

@@ -497,10 +484,7 @@ pub fn persist_keychains<Store, CreateStore, K>(
497484

498485
let changeset_read_new =
499486
WalletPersister::initialize(&mut store).expect("should read persisted changeset");
500-
assert_eq!(
501-
changeset_read_new.keyring.default_keychain,
502-
Some(keychain2.clone())
503-
);
487+
504488
assert_eq!(
505489
*changeset_read_new
506490
.keyring

src/test_utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ pub fn new_wallet_and_funding_update(
6363
.expect("descriptor must be valid");
6464
if let Some(change_desc) = change_descriptor {
6565
keyring
66-
.add_descriptor(KeychainKind::Internal, change_desc, false)
66+
.add_descriptor(KeychainKind::Internal, change_desc)
6767
.expect("descriptor must be valid");
6868
};
6969

tests/keyring.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ fn test_simple_keyring() {
2626

2727
let keyring = KeyRing::new(network, keychain_id, DESC_1).unwrap();
2828

29-
assert_eq!(keyring.default_keychain(), keychain_id);
3029
assert_eq!(keyring.list_keychains().len(), 1);
3130
}
3231

@@ -53,9 +52,8 @@ fn test_8_keychains_keyring() {
5352
]
5453
.into();
5554

56-
let keyring = KeyRing::new_with_descriptors(Network::Regtest, descriptors, Some(1)).unwrap();
55+
let keyring = KeyRing::new_with_descriptors(Network::Regtest, descriptors).unwrap();
5756

58-
assert_eq!(keyring.default_keychain(), 1);
5957
assert_eq!(keyring.list_keychains().len(), 8);
6058
}
6159

@@ -69,7 +67,7 @@ fn err_on_hardened_derivation_path() {
6967
))
7068
);
7169
let mut keyring = KeyRing::new(Network::Regtest, KeychainKind::External, DESC_1).unwrap();
72-
let res = keyring.add_descriptor(KeychainKind::Internal,"tr([738b4dbd/86h/1h/0h]tpubDDQsJyQKuP6jCCSZ75Y8zpBAnXsvAN6BWpp6ZoczfxKBDBWnY8XGbC7AMMSyXAcQPNgppkCBmv3hkCLZSaQ4VvSTGsstuTrXuDadMaB7E45/0'/*)", false).err();
70+
let res = keyring.add_descriptor(KeychainKind::Internal,"tr([738b4dbd/86h/1h/0h]tpubDDQsJyQKuP6jCCSZ75Y8zpBAnXsvAN6BWpp6ZoczfxKBDBWnY8XGbC7AMMSyXAcQPNgppkCBmv3hkCLZSaQ4VvSTGsstuTrXuDadMaB7E45/0'/*)").err();
7371
assert_eq!(
7472
res,
7573
Some(KeyRingError::Descriptor(
@@ -90,7 +88,7 @@ fn err_on_multipath() {
9088
)))
9189
);
9290
let mut keyring = KeyRing::new(Network::Regtest, KeychainKind::External, DESC_1).unwrap();
93-
let res = keyring.add_descriptor(KeychainKind::Internal, "tr(tpubD6NzVbkrYhZ4WyC5VZLuSJQ14uwfUbus7oAFurAFkZA5N3groeQqtW65m8pG1TT1arPpfWu9RbBsc5rSBncrX2d84BAwJJHQfaRjnMCQwuT/86/1/0/<0;1>/*)" , false).err();
91+
let res = keyring.add_descriptor(KeychainKind::Internal, "tr(tpubD6NzVbkrYhZ4WyC5VZLuSJQ14uwfUbus7oAFurAFkZA5N3groeQqtW65m8pG1TT1arPpfWu9RbBsc5rSBncrX2d84BAwJJHQfaRjnMCQwuT/86/1/0/<0;1>/*)").err();
9492
assert_eq!(
9593
res,
9694
Some(KeyRingError::Descriptor(DescriptorError::Miniscript(
@@ -105,23 +103,23 @@ fn err_on_multipath() {
105103
fn test_duplicate_keychain_and_desc() {
106104
let (desc, change_desc) = get_test_wpkh_and_change_desc();
107105
// duplicate descriptor(err)
108-
let err = KeyRing::new_with_descriptors(Network::Testnet, [(1, desc), (2, desc)].into(), None)
109-
.unwrap_err();
106+
let err =
107+
KeyRing::new_with_descriptors(Network::Testnet, [(1, desc), (2, desc)].into()).unwrap_err();
110108
assert_eq!(
111109
err,
112110
KeyRingError::DescAlreadyExists(Box::new(get_descriptor(desc)))
113111
);
114112
// does not err as `new_with_descriptors` takes a map from keychain to
115113
// descriptor to argument
116114
let mut keyring =
117-
KeyRing::new_with_descriptors(Network::Testnet, [(1, desc), (1, change_desc)].into(), None)
115+
KeyRing::new_with_descriptors(Network::Testnet, [(1, desc), (1, change_desc)].into())
118116
.unwrap();
119117
assert_eq!(
120118
keyring.list_keychains().get(&1),
121119
Some(&get_descriptor(change_desc))
122120
);
123121

124122
//try inserting duplicate keychain(err)
125-
let err = keyring.add_descriptor(1, desc, true).unwrap_err();
123+
let err = keyring.add_descriptor(1, desc).unwrap_err();
126124
assert_eq!(err, KeyRingError::KeychainAlreadyExists(1));
127125
}

tests/persisted_wallet.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ fn wallet_is_persisted() -> anyhow::Result<()> {
105105
(KeychainKind::Internal, internal_desc),
106106
]
107107
.into(),
108-
None,
109108
)
110109
.unwrap();
111110
let mut wallet = Wallet::create(keyring)
@@ -267,7 +266,6 @@ fn wallet_load_checks() -> anyhow::Result<()> {
267266
(KeychainKind::Internal, internal_desc),
268267
]
269268
.into(),
270-
Some(KeychainKind::External),
271269
)?;
272270

273271
// create new wallet
@@ -464,7 +462,6 @@ fn test_lock_outpoint_persist() -> anyhow::Result<()> {
464462
(KeychainKind::Internal, change_desc),
465463
]
466464
.into(),
467-
Some(KeychainKind::External),
468465
)?;
469466
let mut wallet = Wallet::create(keyring).create_wallet(&mut conn)?;
470467

tests/wallet.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ mod common;
3838
#[test]
3939
fn check_balance() {
4040
let mut keyring = KeyRing::new(Network::Regtest, KeychainKind::External, "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/0/*)").unwrap();
41-
keyring.add_descriptor(KeychainKind::Internal, "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/5/*)", false);
41+
keyring.add_descriptor(KeychainKind::Internal, "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/5/*)");
4242
let mut wallet = Wallet::create(keyring).create_wallet_no_persist().unwrap();
4343
let receive_address = wallet
4444
.reveal_next_address(KeychainKind::External)

0 commit comments

Comments
 (0)