From b8d68470213b60e8d43d301400c004300b3ee759 Mon Sep 17 00:00:00 2001 From: prin-r Date: Tue, 7 Jul 2020 01:37:51 +0700 Subject: [PATCH] add cache --- mumu/tests/src/integration_tests.rs | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 mumu/tests/src/integration_tests.rs diff --git a/mumu/tests/src/integration_tests.rs b/mumu/tests/src/integration_tests.rs new file mode 100644 index 0000000..f7fe201 --- /dev/null +++ b/mumu/tests/src/integration_tests.rs @@ -0,0 +1,38 @@ +#[cfg(test)] +mod tests { + use casperlabs_engine_test_support::{Code, Error, SessionBuilder, TestContextBuilder, Value}; + use casperlabs_types::{account::PublicKey, U512}; + + const MY_ACCOUNT: PublicKey = PublicKey::ed25519_from([7u8; 32]); + // define KEY constant to match that in the contract + const KEY: &str = "special_value"; + const VALUE: &str = "hello world"; + + #[test] + fn should_store_hello_world() { + let mut context = TestContextBuilder::new() + .with_account(MY_ACCOUNT, U512::from(128_000_000)) + .build(); + + // The test framework checks for compiled Wasm files in '/wasm'. Paths + // relative to the current working dir (e.g. 'wasm/contract.wasm') can also be used, as can + // absolute paths. + let session_code = Code::from("contract.wasm"); + let session_args = (VALUE,); + let session = SessionBuilder::new(session_code, session_args) + .with_address(MY_ACCOUNT) + .with_authorization_keys(&[MY_ACCOUNT]) + .build(); + + let result_of_query: Result = context.run(session).query(MY_ACCOUNT, &[KEY]); + + let returned_value = result_of_query.expect("should be a value"); + + let expected_value = Value::from_t(VALUE.to_string()).expect("should construct Value"); + assert_eq!(expected_value, returned_value); + } +} + +fn main() { + panic!("Execute \"cargo test\" to test the contract, not \"cargo run\"."); +}