|
@@ -206,7 +206,7 @@ mod tests {
|
|
|
use crate::nuts::SpendingConditions;
|
|
use crate::nuts::SpendingConditions;
|
|
|
use crate::TransportType;
|
|
use crate::TransportType;
|
|
|
|
|
|
|
|
- const PAYMENT_REQUEST: &str = "creqApWF0gaNhdGVub3N0cmFheKlucHJvZmlsZTFxeTI4d3VtbjhnaGo3dW45ZDNzaGp0bnl2OWtoMnVld2Q5aHN6OW1od2RlbjV0ZTB3ZmprY2N0ZTljdXJ4dmVuOWVlaHFjdHJ2NWhzenJ0aHdkZW41dGUwZGVoaHh0bnZkYWtxcWd5ZGFxeTdjdXJrNDM5eWtwdGt5c3Y3dWRoZGh1NjhzdWNtMjk1YWtxZWZkZWhrZjBkNDk1Y3d1bmw1YWeBgmFuYjE3YWloYjdhOTAxNzZhYQphdWNzYXRhbYF4Imh0dHBzOi8vbm9mZWVzLnRlc3RudXQuY2FzaHUuc3BhY2U=";
|
|
|
|
|
|
|
+ const PAYMENT_REQUEST: &str = "creqAp2FpaGI3YTkwMTc2YWEKYXVjc2F0YXP2YW2BeCJodHRwczovL25vZmVlcy50ZXN0bnV0LmNhc2h1LnNwYWNlYWT2YXSBo2F0ZW5vc3RyYWF4qW5wcm9maWxlMXFxc2dtNnFmYTNjOGR0ejJmdnpodmZxZWFjbXdtMGU1MHBlM2s1dGZtdnBqam1uMHZqN20ydGdwejNtaHh1ZTY5dWhoeWV0dnY5dWp1ZXJwZDQ2aHh0bmZkdXEzd2Ftbnd2YXo3dG1qdjRreHo3Znc4cWVueHZld3dkY3h6Y205OXVxczZhbW53dmF6N3Rtd2RhZWp1bXIwZHM0bGpoN25hZ4GCYW5iMTc=";
|
|
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_decode_payment_req() {
|
|
fn test_decode_payment_req() {
|
|
@@ -223,14 +223,14 @@ mod tests {
|
|
|
|
|
|
|
|
let transport = req.transports.first().unwrap();
|
|
let transport = req.transports.first().unwrap();
|
|
|
|
|
|
|
|
- let expected_transport = Transport {_type: TransportType::Nostr, target: "nprofile1qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsz9mhwden5te0wfjkccte9curxven9eehqctrv5hszrthwden5te0dehhxtnvdakqqgydaqy7curk439ykptkysv7udhdhu68sucm295akqefdehkf0d495cwunl5".to_string(), tags: Some(vec![vec!["n".to_string(), "17".to_string()]])};
|
|
|
|
|
|
|
+ let expected_transport = Transport {_type: TransportType::Nostr, target: "nprofile1qqsgm6qfa3c8dtz2fvzhvfqeacmwm0e50pe3k5tfmvpjjmn0vj7m2tgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3wamnwvaz7tmjv4kxz7fw8qenxvewwdcxzcm99uqs6amnwvaz7tmwdaejumr0ds4ljh7n".to_string(), tags: Some(vec![vec!["n".to_string(), "17".to_string()]])};
|
|
|
|
|
|
|
|
assert_eq!(transport, &expected_transport);
|
|
assert_eq!(transport, &expected_transport);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_roundtrip_payment_req() {
|
|
fn test_roundtrip_payment_req() {
|
|
|
- let transport = Transport {_type: TransportType::Nostr, target: "nprofile1qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsz9mhwden5te0wfjkccte9curxven9eehqctrv5hszrthwden5te0dehhxtnvdakqqgydaqy7curk439ykptkysv7udhdhu68sucm295akqefdehkf0d495cwunl5".to_string(), tags: Some(vec![vec!["n".to_string(), "17".to_string()]])};
|
|
|
|
|
|
|
+ let transport = Transport {_type: TransportType::Nostr, target: "nprofile1qqsgm6qfa3c8dtz2fvzhvfqeacmwm0e50pe3k5tfmvpjjmn0vj7m2tgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3wamnwvaz7tmjv4kxz7fw8qenxvewwdcxzcm99uqs6amnwvaz7tmwdaejumr0ds4ljh7n".to_string(), tags: Some(vec![vec!["n".to_string(), "17".to_string()]])};
|
|
|
|
|
|
|
|
let request = PaymentRequest {
|
|
let request = PaymentRequest {
|
|
|
payment_id: Some("b7a90176".to_string()),
|
|
payment_id: Some("b7a90176".to_string()),
|
|
@@ -247,6 +247,8 @@ mod tests {
|
|
|
|
|
|
|
|
let request_str = request.to_string();
|
|
let request_str = request.to_string();
|
|
|
|
|
|
|
|
|
|
+ assert_eq!(request_str, PAYMENT_REQUEST);
|
|
|
|
|
+
|
|
|
let req = PaymentRequest::from_str(&request_str).expect("valid payment request");
|
|
let req = PaymentRequest::from_str(&request_str).expect("valid payment request");
|
|
|
|
|
|
|
|
assert_eq!(&req.payment_id.unwrap(), "b7a90176");
|
|
assert_eq!(&req.payment_id.unwrap(), "b7a90176");
|
|
@@ -266,7 +268,7 @@ mod tests {
|
|
|
fn test_payment_request_builder() {
|
|
fn test_payment_request_builder() {
|
|
|
let transport = Transport {
|
|
let transport = Transport {
|
|
|
_type: TransportType::Nostr,
|
|
_type: TransportType::Nostr,
|
|
|
- target: "nprofile1qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsz9mhwden5te0wfjkccte9curxven9eehqctrv5hszrthwden5te0dehhxtnvdakqqgydaqy7curk439ykptkysv7udhdhu68sucm295akqefdehkf0d495cwunl5".to_string(),
|
|
|
|
|
|
|
+ target: "nprofile1qqsgm6qfa3c8dtz2fvzhvfqeacmwm0e50pe3k5tfmvpjjmn0vj7m2tgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3wamnwvaz7tmjv4kxz7fw8qenxvewwdcxzcm99uqs6amnwvaz7tmwdaejumr0ds4ljh7n".to_string(),
|
|
|
tags: Some(vec![vec!["n".to_string(), "17".to_string()]])
|
|
tags: Some(vec![vec!["n".to_string(), "17".to_string()]])
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -305,14 +307,14 @@ mod tests {
|
|
|
// Build a transport using the builder pattern
|
|
// Build a transport using the builder pattern
|
|
|
let transport = Transport::builder()
|
|
let transport = Transport::builder()
|
|
|
.transport_type(TransportType::Nostr)
|
|
.transport_type(TransportType::Nostr)
|
|
|
- .target("nprofile1qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsz9mhwden5te0wfjkccte9curxven9eehqctrv5hszrthwden5te0dehhxtnvdakqqgydaqy7curk439ykptkysv7udhdhu68sucm295akqefdehkf0d495cwunl5")
|
|
|
|
|
|
|
+ .target("nprofile1qqsgm6qfa3c8dtz2fvzhvfqeacmwm0e50pe3k5tfmvpjjmn0vj7m2tgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3wamnwvaz7tmjv4kxz7fw8qenxvewwdcxzcm99uqs6amnwvaz7tmwdaejumr0ds4ljh7n")
|
|
|
.add_tag(vec!["n".to_string(), "17".to_string()])
|
|
.add_tag(vec!["n".to_string(), "17".to_string()])
|
|
|
.build()
|
|
.build()
|
|
|
.expect("Valid transport");
|
|
.expect("Valid transport");
|
|
|
|
|
|
|
|
// Verify the built transport
|
|
// Verify the built transport
|
|
|
assert_eq!(transport._type, TransportType::Nostr);
|
|
assert_eq!(transport._type, TransportType::Nostr);
|
|
|
- assert_eq!(transport.target, "nprofile1qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsz9mhwden5te0wfjkccte9curxven9eehqctrv5hszrthwden5te0dehhxtnvdakqqgydaqy7curk439ykptkysv7udhdhu68sucm295akqefdehkf0d495cwunl5");
|
|
|
|
|
|
|
+ assert_eq!(transport.target, "nprofile1qqsgm6qfa3c8dtz2fvzhvfqeacmwm0e50pe3k5tfmvpjjmn0vj7m2tgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3wamnwvaz7tmjv4kxz7fw8qenxvewwdcxzcm99uqs6amnwvaz7tmwdaejumr0ds4ljh7n");
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
|
transport.tags,
|
|
transport.tags,
|
|
|
Some(vec![vec!["n".to_string(), "17".to_string()]])
|
|
Some(vec![vec!["n".to_string(), "17".to_string()]])
|
|
@@ -467,7 +469,7 @@ mod tests {
|
|
|
"t": [
|
|
"t": [
|
|
|
{
|
|
{
|
|
|
"t": "nostr",
|
|
"t": "nostr",
|
|
|
- "a": "nprofile1qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsz9mhwden5te0wfjkccte9curxven9eehqctrv5hszrthwden5te0dehhxtnvdakqqgydaqy7curk439ykptkysv7udhdhu68sucm295akqefdehkf0d495cwunl5",
|
|
|
|
|
|
|
+ "a": "nprofile1qqsgm6qfa3c8dtz2fvzhvfqeacmwm0e50pe3k5tfmvpjjmn0vj7m2tgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3wamnwvaz7tmjv4kxz7fw8qenxvewwdcxzcm99uqs6amnwvaz7tmwdaejumr0ds4ljh7n",
|
|
|
"g": [["n", "17"]]
|
|
"g": [["n", "17"]]
|
|
|
}
|
|
}
|
|
|
]
|
|
]
|
|
@@ -493,7 +495,7 @@ mod tests {
|
|
|
|
|
|
|
|
let transport = payment_request.transports.first().unwrap();
|
|
let transport = payment_request.transports.first().unwrap();
|
|
|
assert_eq!(transport._type, TransportType::Nostr);
|
|
assert_eq!(transport._type, TransportType::Nostr);
|
|
|
- assert_eq!(transport.target, "nprofile1qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsz9mhwden5te0wfjkccte9curxven9eehqctrv5hszrthwden5te0dehhxtnvdakqqgydaqy7curk439ykptkysv7udhdhu68sucm295akqefdehkf0d495cwunl5");
|
|
|
|
|
|
|
+ assert_eq!(transport.target, "nprofile1qqsgm6qfa3c8dtz2fvzhvfqeacmwm0e50pe3k5tfmvpjjmn0vj7m2tgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3wamnwvaz7tmjv4kxz7fw8qenxvewwdcxzcm99uqs6amnwvaz7tmwdaejumr0ds4ljh7n");
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
|
transport.tags,
|
|
transport.tags,
|
|
|
Some(vec![vec!["n".to_string(), "17".to_string()]])
|
|
Some(vec![vec!["n".to_string(), "17".to_string()]])
|