solana/faucet/tests/local-faucet.rs

27 lines
873 B
Rust
Raw Normal View History

use {
solana_faucet::faucet::{request_airdrop_transaction, run_local_faucet},
solana_sdk::{
hash::Hash,
message::Message,
signature::{Keypair, Signer},
system_instruction,
transaction::Transaction,
},
2019-12-16 13:05:17 -08:00
};
#[test]
fn test_local_faucet() {
let keypair = Keypair::new();
let to = solana_sdk::pubkey::new_rand();
2019-12-16 13:05:17 -08:00
let lamports = 50;
let blockhash = Hash::new(to.as_ref());
2019-12-16 13:05:17 -08:00
let create_instruction = system_instruction::transfer(&keypair.pubkey(), &to, lamports);
let message = Message::new(&[create_instruction], Some(&keypair.pubkey()));
2019-12-16 13:05:17 -08:00
let expected_tx = Transaction::new(&[&keypair], message, blockhash);
let faucet_addr = run_local_faucet(keypair, None);
2019-12-16 13:05:17 -08:00
let result = request_airdrop_transaction(&faucet_addr, &to, lamports, blockhash);
assert_eq!(expected_tx, result.unwrap());
}