mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-24 23:08:36 +01:00
[invoice] Add the BOLT 11 failure unit tests that we already pass
This commit is contained in:
parent
0cff1f7bb4
commit
a80819c9c2
1 changed files with 18 additions and 0 deletions
|
@ -11,6 +11,7 @@ use secp256k1::Secp256k1;
|
||||||
use secp256k1::key::SecretKey;
|
use secp256k1::key::SecretKey;
|
||||||
use secp256k1::recovery::{RecoverableSignature, RecoveryId};
|
use secp256k1::recovery::{RecoverableSignature, RecoveryId};
|
||||||
use std::time::{Duration, UNIX_EPOCH};
|
use std::time::{Duration, UNIX_EPOCH};
|
||||||
|
use std::str::FromStr;
|
||||||
|
|
||||||
// TODO: add more of the examples from BOLT11 and generate ones causing SemanticErrors
|
// TODO: add more of the examples from BOLT11 and generate ones causing SemanticErrors
|
||||||
|
|
||||||
|
@ -149,3 +150,20 @@ fn deserialize() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_bolt_invalid_invoices() {
|
||||||
|
// Tests the BOLT 11 invalid invoice test vectors
|
||||||
|
assert_eq!(Invoice::from_str(
|
||||||
|
"lnbc2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrnt"
|
||||||
|
), Err(ParseOrSemanticError::ParseError(ParseError::Bech32Error(bech32::Error::InvalidChecksum))));
|
||||||
|
assert_eq!(Invoice::from_str(
|
||||||
|
"pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrny"
|
||||||
|
), Err(ParseOrSemanticError::ParseError(ParseError::Bech32Error(bech32::Error::MissingSeparator))));
|
||||||
|
assert_eq!(Invoice::from_str(
|
||||||
|
"LNBC2500u1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpquwpc4curk03c9wlrswe78q4eyqc7d8d0xqzpuyk0sg5g70me25alkluzd2x62aysf2pyy8edtjeevuv4p2d5p76r4zkmneet7uvyakky2zr4cusd45tftc9c5fh0nnqpnl2jfll544esqchsrny"
|
||||||
|
), Err(ParseOrSemanticError::ParseError(ParseError::Bech32Error(bech32::Error::MixedCase))));
|
||||||
|
assert_eq!(Invoice::from_str(
|
||||||
|
"lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6na6hlh"
|
||||||
|
), Err(ParseOrSemanticError::ParseError(ParseError::TooShortDataPart)));
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue