Add get_balance() and get_account_data() to SyncClient

Migrate tests to use them.
This commit is contained in:
Greg Fitzgerald
2019-04-03 16:36:10 -06:00
parent 5cd7bccdf3
commit 167f5bdc58
8 changed files with 104 additions and 81 deletions

View File

@ -172,7 +172,7 @@ mod tests {
bank_client
.send_message(&[&alice_keypair], message)
.unwrap();
assert_eq!(bank.get_balance(&bob_pubkey), 100);
assert_eq!(bank_client.get_balance(&bob_pubkey), 100);
}
#[test]
@ -292,11 +292,11 @@ mod tests {
bank_client
.send_message(&[&alice_keypair], message)
.unwrap();
assert_eq!(bank.get_balance(&alice_pubkey), 1);
assert_eq!(bank.get_balance(&budget_pubkey), 1);
assert_eq!(bank_client.get_balance(&alice_pubkey), 1);
assert_eq!(bank_client.get_balance(&budget_pubkey), 1);
let contract_account = bank.get_account(&budget_pubkey).unwrap();
let budget_state = BudgetState::deserialize(&contract_account.data).unwrap();
let contract_account = bank_client.get_account_data(&budget_pubkey).unwrap();
let budget_state = BudgetState::deserialize(&contract_account).unwrap();
assert!(budget_state.is_pending());
// Attack! Try to payout to mallory_pubkey
@ -311,12 +311,12 @@ mod tests {
InstructionError::CustomError(serialize(&BudgetError::DestinationMissing).unwrap())
)
);
assert_eq!(bank.get_balance(&alice_pubkey), 1);
assert_eq!(bank.get_balance(&budget_pubkey), 1);
assert_eq!(bank.get_balance(&bob_pubkey), 0);
assert_eq!(bank_client.get_balance(&alice_pubkey), 1);
assert_eq!(bank_client.get_balance(&budget_pubkey), 1);
assert_eq!(bank_client.get_balance(&bob_pubkey), 0);
let contract_account = bank.get_account(&budget_pubkey).unwrap();
let budget_state = BudgetState::deserialize(&contract_account.data).unwrap();
let contract_account = bank_client.get_account_data(&budget_pubkey).unwrap();
let budget_state = BudgetState::deserialize(&contract_account).unwrap();
assert!(budget_state.is_pending());
// Now, acknowledge the time in the condition occurred and
@ -326,10 +326,10 @@ mod tests {
bank_client
.send_instruction(&alice_keypair, instruction)
.unwrap();
assert_eq!(bank.get_balance(&alice_pubkey), 1);
assert_eq!(bank.get_balance(&budget_pubkey), 0);
assert_eq!(bank.get_balance(&bob_pubkey), 1);
assert_eq!(bank.get_account(&budget_pubkey), None);
assert_eq!(bank_client.get_balance(&alice_pubkey), 1);
assert_eq!(bank_client.get_balance(&budget_pubkey), 0);
assert_eq!(bank_client.get_balance(&bob_pubkey), 1);
assert_eq!(bank_client.get_account_data(&budget_pubkey), None);
}
#[test]
@ -354,11 +354,11 @@ mod tests {
bank_client
.send_message(&[&alice_keypair], message)
.unwrap();
assert_eq!(bank.get_balance(&alice_pubkey), 2);
assert_eq!(bank.get_balance(&budget_pubkey), 1);
assert_eq!(bank_client.get_balance(&alice_pubkey), 2);
assert_eq!(bank_client.get_balance(&budget_pubkey), 1);
let contract_account = bank.get_account(&budget_pubkey).unwrap();
let budget_state = BudgetState::deserialize(&contract_account.data).unwrap();
let contract_account = bank_client.get_account_data(&budget_pubkey).unwrap();
let budget_state = BudgetState::deserialize(&contract_account).unwrap();
assert!(budget_state.is_pending());
// Attack! try to put the lamports into the wrong account with cancel
@ -367,7 +367,7 @@ mod tests {
bank_client
.transfer(1, &alice_keypair, &mallory_pubkey)
.unwrap();
assert_eq!(bank.get_balance(&alice_pubkey), 1);
assert_eq!(bank_client.get_balance(&alice_pubkey), 1);
let instruction =
budget_instruction::apply_signature(&mallory_pubkey, &budget_pubkey, &bob_pubkey);
@ -375,9 +375,9 @@ mod tests {
.send_instruction(&mallory_keypair, instruction)
.unwrap();
// nothing should be changed because apply witness didn't finalize a payment
assert_eq!(bank.get_balance(&alice_pubkey), 1);
assert_eq!(bank.get_balance(&budget_pubkey), 1);
assert_eq!(bank.get_account(&bob_pubkey), None);
assert_eq!(bank_client.get_balance(&alice_pubkey), 1);
assert_eq!(bank_client.get_balance(&budget_pubkey), 1);
assert_eq!(bank_client.get_account_data(&bob_pubkey), None);
// Now, cancel the transaction. mint gets her funds back
let instruction =
@ -385,8 +385,8 @@ mod tests {
bank_client
.send_instruction(&alice_keypair, instruction)
.unwrap();
assert_eq!(bank.get_balance(&alice_pubkey), 2);
assert_eq!(bank.get_account(&budget_pubkey), None);
assert_eq!(bank.get_account(&bob_pubkey), None);
assert_eq!(bank_client.get_balance(&alice_pubkey), 2);
assert_eq!(bank_client.get_account_data(&budget_pubkey), None);
assert_eq!(bank_client.get_account_data(&bob_pubkey), None);
}
}