Skip to content

Commit

Permalink
Adapt tests to message_info
Browse files Browse the repository at this point in the history
  • Loading branch information
webmaster128 committed May 30, 2024
1 parent 529f871 commit fa77163
Show file tree
Hide file tree
Showing 11 changed files with 221 additions and 169 deletions.
12 changes: 8 additions & 4 deletions contracts/burner/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ fn cleanup(storage: &mut dyn Storage, mut limit: usize) -> usize {
mod tests {
use super::*;
use cosmwasm_std::testing::{
mock_dependencies, mock_dependencies_with_balance, mock_env, mock_info,
message_info, mock_dependencies, mock_dependencies_with_balance, mock_env,
};
use cosmwasm_std::{coins, Attribute, StdError, Storage, SubMsg};

Expand All @@ -102,8 +102,10 @@ mod tests {
fn instantiate_fails() {
let mut deps = mock_dependencies();

let creator = deps.api.addr_make("creator");

let msg = InstantiateMsg {};
let info = mock_info("creator", &coins(1000, "earth"));
let info = message_info(&creator, &coins(1000, "earth"));
// we can just call .unwrap() to assert this was a success
let res = instantiate(deps.as_mut(), mock_env(), info, msg);
match res.unwrap_err() {
Expand Down Expand Up @@ -164,6 +166,8 @@ mod tests {
fn execute_cleans_up_data() {
let mut deps = mock_dependencies_with_balance(&coins(123456, "gold"));

let anon = deps.api.addr_make("anon");

// store some sample data
deps.storage.set(b"foo", b"bar");
deps.storage.set(b"key2", b"data2");
Expand All @@ -179,7 +183,7 @@ mod tests {
let res = execute(
deps.as_mut(),
mock_env(),
mock_info("anon", &[]),
message_info(&anon, &[]),
ExecuteMsg::Cleanup { limit: Some(2) },
)
.unwrap();
Expand All @@ -192,7 +196,7 @@ mod tests {
let res = execute(
deps.as_mut(),
mock_env(),
mock_info("anon", &[]),
message_info(&anon, &[]),
ExecuteMsg::Cleanup { limit: Some(2) },
)
.unwrap();
Expand Down
5 changes: 3 additions & 2 deletions contracts/crypto-verify/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ pub fn query_verify_bls12_pairing_g2(
mod tests {
use super::*;
use cosmwasm_std::testing::{
mock_dependencies, mock_env, mock_info, MockApi, MockQuerier, MockStorage,
message_info, mock_dependencies, mock_env, MockApi, MockQuerier, MockStorage,
};
use cosmwasm_std::{from_json, OwnedDeps, RecoverPubkeyError, VerificationError};
use hex_literal::hex;
Expand Down Expand Up @@ -354,8 +354,9 @@ mod tests {

fn setup() -> OwnedDeps<MockStorage, MockApi, MockQuerier> {
let mut deps = mock_dependencies();
let creator = deps.api.addr_make(CREATOR);
let msg = InstantiateMsg {};
let info = mock_info(CREATOR, &[]);
let info = message_info(&creator, &[]);
let res = instantiate(deps.as_mut(), mock_env(), info, msg).unwrap();
assert_eq!(0, res.messages.len());
deps
Expand Down
8 changes: 5 additions & 3 deletions contracts/cyberpunk/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -227,14 +227,15 @@ fn query_denom(deps: Deps, denom: String) -> StdResult<DenomMetadata> {
mod tests {
use super::*;
use cosmwasm_std::testing::{
mock_dependencies, mock_env, mock_info, MockApi, MockQuerier, MockStorage,
message_info, mock_dependencies, mock_env, MockApi, MockQuerier, MockStorage,
};
use cosmwasm_std::{from_json, DenomMetadata, DenomUnit, OwnedDeps};

fn setup() -> OwnedDeps<MockStorage, MockApi, MockQuerier> {
let mut deps = mock_dependencies();
let creator = deps.api.addr_make("creator");
let msg = Empty {};
let info = mock_info("creator", &[]);
let info = message_info(&creator, &[]);
let res = instantiate(deps.as_mut(), mock_env(), info, msg).unwrap();
assert_eq!(0, res.messages.len());
deps
Expand All @@ -248,9 +249,10 @@ mod tests {
#[test]
fn debug_works() {
let mut deps = setup();
let caller = deps.api.addr_make("caller");

let msg = ExecuteMsg::Debug {};
execute(deps.as_mut(), mock_env(), mock_info("caller", &[]), msg).unwrap();
execute(deps.as_mut(), mock_env(), message_info(&caller, &[]), msg).unwrap();
}

#[test]
Expand Down
150 changes: 83 additions & 67 deletions contracts/hackatom/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,8 @@ fn query_int() -> IntResponse {
mod tests {
use super::*;
use cosmwasm_std::testing::{
mock_dependencies, mock_dependencies_with_balances, mock_env, mock_info, MOCK_CONTRACT_ADDR,
message_info, mock_dependencies, mock_dependencies_with_balances, mock_env,
MOCK_CONTRACT_ADDR,
};
// import trait Storage to get access to read
use cosmwasm_std::{coins, Binary, Storage, SubMsg};
Expand All @@ -303,20 +304,21 @@ mod tests {
fn proper_initialization() {
let mut deps = mock_dependencies();

let verifier: String = deps.api.addr_make("verifies").into();
let beneficiary: String = deps.api.addr_make("benefits").into();
let creator: String = deps.api.addr_make("creator").into();
let verifier = deps.api.addr_make("verifies");
let beneficiary = deps.api.addr_make("benefits");
let creator = deps.api.addr_make("creator");

let expected_state = State {
verifier: deps.api.addr_validate(&verifier).unwrap(),
beneficiary: deps.api.addr_validate(&beneficiary).unwrap(),
funder: deps.api.addr_validate(&creator).unwrap(),
verifier: verifier.clone(),
beneficiary: beneficiary.clone(),
funder: creator.clone(),
};

let msg = InstantiateMsg {
verifier,
beneficiary,
verifier: verifier.to_string(),
beneficiary: beneficiary.to_string(),
};
let info = mock_info(creator.as_str(), &[]);
let info = message_info(&creator, &[]);
let res = instantiate(deps.as_mut(), mock_env(), info, msg).unwrap();
assert_eq!(res.messages.len(), 0);
assert_eq!(res.attributes, [("Let the", "hacking begin")]);
Expand All @@ -331,34 +333,36 @@ mod tests {
fn instantiate_and_query() {
let mut deps = mock_dependencies();

let verifier: String = deps.api.addr_make("verifies").into();
let beneficiary: String = deps.api.addr_make("benefits").into();
let creator: String = deps.api.addr_make("creator").into();
let verifier = deps.api.addr_make("verifies");
let beneficiary = deps.api.addr_make("benefits");
let creator = deps.api.addr_make("creator");

let msg = InstantiateMsg {
verifier: verifier.clone(),
beneficiary,
verifier: verifier.to_string(),
beneficiary: beneficiary.to_string(),
};
let info = mock_info(&creator, &[]);
let info = message_info(&creator, &[]);
let res = instantiate(deps.as_mut(), mock_env(), info, msg).unwrap();
assert_eq!(0, res.messages.len());

// now let's query
let query_response = query_verifier(deps.as_ref()).unwrap();
assert_eq!(query_response.verifier, verifier);
assert_eq!(query_response.verifier, verifier.as_str());
}

#[test]
fn migrate_verifier() {
let mut deps = mock_dependencies();

let verifier: String = deps.api.addr_make("verifies").into();
let beneficiary: String = deps.api.addr_make("benefits").into();
let creator: String = deps.api.addr_make("creator").into();
let verifier = deps.api.addr_make("verifies");
let beneficiary = deps.api.addr_make("benefits");
let creator = deps.api.addr_make("creator");

let msg = InstantiateMsg {
verifier: verifier.clone(),
beneficiary,
verifier: verifier.to_string(),
beneficiary: beneficiary.to_string(),
};
let info = mock_info(&creator, &[]);
let info = message_info(&creator, &[]);
let res = instantiate(deps.as_mut(), mock_env(), info, msg).unwrap();
assert_eq!(0, res.messages.len());

Expand Down Expand Up @@ -386,28 +390,35 @@ mod tests {
fn sudo_can_steal_tokens() {
let mut deps = mock_dependencies();

let verifier: String = deps.api.addr_make("verifies").into();
let beneficiary: String = deps.api.addr_make("benefits").into();
let creator: String = deps.api.addr_make("creator").into();
let verifier = deps.api.addr_make("verifies");
let beneficiary = deps.api.addr_make("benefits");
let creator = deps.api.addr_make("creator");

let msg = InstantiateMsg {
verifier,
beneficiary,
verifier: verifier.to_string(),
beneficiary: beneficiary.to_string(),
};
let info = mock_info(&creator, &[]);
let info = message_info(&creator, &[]);
let res = instantiate(deps.as_mut(), mock_env(), info, msg).unwrap();
assert_eq!(0, res.messages.len());

// sudo takes any tax it wants
let to_address = String::from("community-pool");
let to_address = deps.api.addr_make("community-pool");
let amount = coins(700, "gold");
let sys_msg = SudoMsg::StealFunds {
recipient: to_address.clone(),
recipient: to_address.to_string(),
amount: amount.clone(),
};
let res = sudo(deps.as_mut(), mock_env(), sys_msg).unwrap();
assert_eq!(1, res.messages.len());
let msg = res.messages.first().expect("no message");
assert_eq!(msg, &SubMsg::new(BankMsg::Send { to_address, amount }));
assert_eq!(
msg,
&SubMsg::new(BankMsg::Send {
to_address: to_address.to_string(),
amount
})
);
}

#[test]
Expand All @@ -430,17 +441,17 @@ mod tests {
let mut deps = mock_dependencies();

// initialize the store
let creator: String = deps.api.addr_make("creator").into();
let verifier: String = deps.api.addr_make("verifies").into();
let beneficiary: String = deps.api.addr_make("benefits").into();
let creator = deps.api.addr_make("creator");
let verifier = deps.api.addr_make("verifies");
let beneficiary = deps.api.addr_make("benefits");

let instantiate_msg = InstantiateMsg {
verifier: verifier.clone(),
beneficiary: beneficiary.clone(),
verifier: verifier.to_string(),
beneficiary: beneficiary.to_string(),
};
let init_amount = coins(1000, "earth");
let init_info = mock_info(&creator, &init_amount);
let init_res = instantiate(deps.as_mut(), mock_env(), init_info, instantiate_msg).unwrap();
let info = message_info(&creator, &init_amount);
let init_res = instantiate(deps.as_mut(), mock_env(), info, instantiate_msg).unwrap();
assert_eq!(init_res.messages.len(), 0);

// balance changed in init
Expand All @@ -449,7 +460,7 @@ mod tests {
.update_balance(MOCK_CONTRACT_ADDR, init_amount);

// beneficiary can release it
let execute_info = mock_info(verifier.as_str(), &[]);
let execute_info = message_info(&verifier, &[]);
let execute_res = execute(
deps.as_mut(),
mock_env(),
Expand All @@ -462,13 +473,13 @@ mod tests {
assert_eq!(
msg,
&SubMsg::new(BankMsg::Send {
to_address: beneficiary.clone(),
to_address: beneficiary.to_string(),
amount: coins(1000, "earth"),
}),
);
assert_eq!(
execute_res.attributes,
vec![("action", "release"), ("destination", &beneficiary)],
vec![("action", "release"), ("destination", beneficiary.as_str())],
);
assert_eq!(execute_res.data, Some(vec![0xF0, 0x0B, 0xAA].into()));
}
Expand All @@ -478,17 +489,17 @@ mod tests {
let mut deps = mock_dependencies();

// initialize the store
let creator: String = deps.api.addr_make("creator").into();
let verifier: String = deps.api.addr_make("verifies").into();
let beneficiary: String = deps.api.addr_make("benefits").into();
let creator = deps.api.addr_make("creator");
let verifier = deps.api.addr_make("verifies");
let beneficiary = deps.api.addr_make("benefits");

let instantiate_msg = InstantiateMsg {
verifier: verifier.clone(),
beneficiary: beneficiary.clone(),
verifier: verifier.to_string(),
beneficiary: beneficiary.to_string(),
};
let init_amount = coins(1000, "earth");
let init_info = mock_info(&creator, &init_amount);
let init_res = instantiate(deps.as_mut(), mock_env(), init_info, instantiate_msg).unwrap();
let info = message_info(&creator, &init_amount);
let init_res = instantiate(deps.as_mut(), mock_env(), info, instantiate_msg).unwrap();
assert_eq!(init_res.messages.len(), 0);

// balance changed in init
Expand All @@ -497,7 +508,7 @@ mod tests {
.update_balance(MOCK_CONTRACT_ADDR, init_amount);

// beneficiary cannot release it
let execute_info = mock_info(beneficiary.as_str(), &[]);
let execute_info = message_info(&beneficiary, &[]);
let execute_res = execute(
deps.as_mut(),
mock_env(),
Expand All @@ -512,9 +523,9 @@ mod tests {
assert_eq!(
state,
State {
verifier: Addr::unchecked(verifier),
beneficiary: Addr::unchecked(beneficiary),
funder: Addr::unchecked(creator),
verifier: verifier.clone(),
beneficiary: beneficiary.clone(),
funder: creator.clone(),
}
);
}
Expand All @@ -525,19 +536,19 @@ mod tests {
let mut deps = mock_dependencies();

// initialize the store
let verifier: String = deps.api.addr_make("verifies").into();
let beneficiary: String = deps.api.addr_make("benefits").into();
let creator: String = deps.api.addr_make("creator").into();
let verifier = deps.api.addr_make("verifies");
let beneficiary = deps.api.addr_make("benefits");
let creator = deps.api.addr_make("creator");

let instantiate_msg = InstantiateMsg {
verifier,
beneficiary: beneficiary.clone(),
verifier: verifier.to_string(),
beneficiary: beneficiary.to_string(),
};
let init_info = mock_info(&creator, &coins(1000, "earth"));
let init_res = instantiate(deps.as_mut(), mock_env(), init_info, instantiate_msg).unwrap();
let info = message_info(&creator, &coins(1000, "earth"));
let init_res = instantiate(deps.as_mut(), mock_env(), info, instantiate_msg).unwrap();
assert_eq!(0, init_res.messages.len());

let execute_info = mock_info(&beneficiary, &[]);
let execute_info = message_info(&beneficiary, &[]);
// this should panic
let _ = execute(
deps.as_mut(),
Expand All @@ -551,15 +562,20 @@ mod tests {
fn execute_user_errors_in_api_calls() {
let mut deps = mock_dependencies();

let creator = deps.api.addr_make("creator");
let anyone = deps.api.addr_make("anyone");
let verifier = deps.api.addr_make("verifies");
let beneficiary = deps.api.addr_make("benefits");

let instantiate_msg = InstantiateMsg {
verifier: deps.api.addr_make("verifies").into(),
beneficiary: deps.api.addr_make("benefits").into(),
verifier: verifier.to_string(),
beneficiary: beneficiary.to_string(),
};
let init_info = mock_info("creator", &coins(1000, "earth"));
let init_res = instantiate(deps.as_mut(), mock_env(), init_info, instantiate_msg).unwrap();
assert_eq!(0, init_res.messages.len());
let info = message_info(&creator, &coins(1000, "earth"));
let response = instantiate(deps.as_mut(), mock_env(), info, instantiate_msg).unwrap();
assert_eq!(0, response.messages.len());

let execute_info = mock_info("anyone", &[]);
let execute_info = message_info(&anyone, &[]);
execute(
deps.as_mut(),
mock_env(),
Expand Down
Loading

0 comments on commit fa77163

Please sign in to comment.