45 lines
1.3 KiB
Rust
45 lines
1.3 KiB
Rust
#![cfg(feature = "test-bpf")]
|
|
|
|
mod program_test;
|
|
use {
|
|
program_test::{TestContext, TokenContext},
|
|
solana_program_test::tokio,
|
|
solana_sdk::{signature::Signer, signer::keypair::Keypair},
|
|
spl_token_2022::state::AccountState,
|
|
};
|
|
|
|
#[tokio::test]
|
|
async fn basic() {
|
|
let mut context = TestContext::new().await;
|
|
context.init_token_with_freezing_mint(vec![]).await.unwrap();
|
|
let TokenContext {
|
|
freeze_authority,
|
|
token,
|
|
alice,
|
|
..
|
|
} = context.token_context.unwrap();
|
|
let freeze_authority = freeze_authority.unwrap();
|
|
|
|
let account = Keypair::new();
|
|
let account = token
|
|
.create_auxiliary_token_account(&account, &alice.pubkey())
|
|
.await
|
|
.unwrap();
|
|
let state = token.get_account_info(&account).await.unwrap();
|
|
assert_eq!(state.base.state, AccountState::Initialized);
|
|
|
|
token
|
|
.freeze_account(&account, &freeze_authority)
|
|
.await
|
|
.unwrap();
|
|
let state = token.get_account_info(&account).await.unwrap();
|
|
assert_eq!(state.base.state, AccountState::Frozen);
|
|
|
|
token
|
|
.thaw_account(&account, &freeze_authority)
|
|
.await
|
|
.unwrap();
|
|
let state = token.get_account_info(&account).await.unwrap();
|
|
assert_eq!(state.base.state, AccountState::Initialized);
|
|
}
|