Skip to content

Commit 64ed321

Browse files
committed
Add missing UnknownRequiredFeatures tests
1 parent aadd9af commit 64ed321

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

lightning/src/offers/invoice_request.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -970,6 +970,22 @@ mod tests {
970970
}
971971
}
972972

973+
#[test]
974+
fn fails_responding_with_unknown_required_features() {
975+
match OfferBuilder::new("foo".into(), recipient_pubkey())
976+
.amount_msats(1000)
977+
.build().unwrap()
978+
.request_invoice(vec![42; 32], payer_pubkey()).unwrap()
979+
.features_unchecked(InvoiceRequestFeatures::unknown())
980+
.build().unwrap()
981+
.sign(payer_sign).unwrap()
982+
.respond_with(payment_paths(), payment_hash())
983+
{
984+
Ok(_) => panic!("expected error"),
985+
Err(e) => assert_eq!(e, SemanticError::UnknownRequiredFeatures),
986+
}
987+
}
988+
973989
#[test]
974990
fn parses_invoice_request_with_metadata() {
975991
let invoice_request = OfferBuilder::new("foo".into(), recipient_pubkey())

lightning/src/offers/refund.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -809,6 +809,18 @@ mod tests {
809809
assert_eq!(tlv_stream.payer_note, Some(&String::from("baz")));
810810
}
811811

812+
#[test]
813+
fn fails_responding_with_unknown_required_features() {
814+
match RefundBuilder::new("foo".into(), vec![1; 32], payer_pubkey(), 1000).unwrap()
815+
.features_unchecked(InvoiceRequestFeatures::unknown())
816+
.build().unwrap()
817+
.respond_with(payment_paths(), payment_hash(), recipient_pubkey())
818+
{
819+
Ok(_) => panic!("expected error"),
820+
Err(e) => assert_eq!(e, SemanticError::UnknownRequiredFeatures),
821+
}
822+
}
823+
812824
#[test]
813825
fn parses_refund_with_metadata() {
814826
let refund = RefundBuilder::new("foo".into(), vec![1; 32], payer_pubkey(), 1000).unwrap()

0 commit comments

Comments
 (0)