integration_test.rs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. use std::str::FromStr;
  2. use bitcoin::Amount;
  3. use lightning_invoice::Invoice;
  4. use url::Url;
  5. use cashu_rs::cashu_mint::CashuMint;
  6. const MINTURL: &str = "https://legend.lnbits.com/cashu/api/v1/SKvHRus9dmjWHhstHrsazW/";
  7. #[tokio::test]
  8. async fn test_get_mint_keys() {
  9. let url = Url::from_str(MINTURL).unwrap();
  10. let mint = CashuMint::new(url);
  11. let mint_keys = mint.get_keys().await.unwrap();
  12. // println!("{:?}", mint_keys.0.capacity());
  13. assert!(mint_keys.0.capacity() > 1);
  14. }
  15. #[tokio::test]
  16. async fn test_get_mint_keysets() {
  17. let url = Url::from_str(MINTURL).unwrap();
  18. let mint = CashuMint::new(url);
  19. let mint_keysets = mint.get_keysets().await.unwrap();
  20. assert!(!mint_keysets.keysets.is_empty())
  21. }
  22. #[tokio::test]
  23. async fn test_request_mint() {
  24. let url = Url::from_str(MINTURL).unwrap();
  25. let mint = CashuMint::new(url);
  26. let mint = mint.request_mint(Amount::from_sat(21)).await.unwrap();
  27. assert!(mint.pr.check_signature().is_ok())
  28. }
  29. #[tokio::test]
  30. async fn test_check_fees() {
  31. let invoice = Invoice::from_str("lnbc10n1p3a6s0dsp5n55r506t2fv4r0mjcg30v569nk2u9s40ur4v3r3mgtscjvkvnrqqpp5lzfv8fmjzduelk74y9rsrxrayvhyzcdsh3zkdgv0g50napzalvqsdqhf9h8vmmfvdjn5gp58qengdqxq8p3aaymdcqpjrzjqwryaup9lh50kkranzgcdnn2fgvx390wgj5jd07rwr3vxeje0glc7z70cgqqg4sqqqqqqqlgqqqqrucqjq9qyysgqrjky5axsldzhqsjwsc38xa37k6t04le3ws4t26nqej62vst5xkz56qw85r6c4a3tr79588e0ceuuahwgfnkqc6n6269unlwqtvwr5vqqy0ncdq").unwrap();
  32. let url = Url::from_str(MINTURL).unwrap();
  33. let mint = CashuMint::new(url);
  34. let fee = mint.check_fees(invoice).await.unwrap();
  35. println!("{fee:?}");
  36. }
  37. #[ignore]
  38. #[tokio::test]
  39. async fn test_get_mint_info() {
  40. let url = Url::from_str(MINTURL).unwrap();
  41. let mint = CashuMint::new(url);
  42. let mint_info = mint.get_info().await.unwrap();
  43. // println!("{:?}", mint_info);
  44. }