diff --git a/call_parameters/Cargo.toml b/call_parameters/Cargo.toml index e8a115f..941c768 100644 --- a/call_parameters/Cargo.toml +++ b/call_parameters/Cargo.toml @@ -10,4 +10,7 @@ name = "call_parameters" path = "src/main.rs" [dependencies] -fluence = "=0.5.0" +fluence = "0.6.9" + +[dev-dependencies] +fluence-test = "0.1.9" \ No newline at end of file diff --git a/call_parameters/build.sh b/call_parameters/build.sh index 0fd95e7..a9c90a4 100755 --- a/call_parameters/build.sh +++ b/call_parameters/build.sh @@ -1,8 +1,9 @@ #!/usr/bin/env bash set -o errexit -o nounset -o pipefail -cargo update -fce build --release +cargo update --aggressive +marine build --release -rm -f artifacts/* -cp ../../target/wasm32-wasi/release/call_parameters.wasm artifacts/ +mkdir -p artifacts +rm -f artifacts/*.wasm +cp target/wasm32-wasi/release/call_parameters.wasm artifacts/ diff --git a/call_parameters/src/main.rs b/call_parameters/src/main.rs index 31affbf..394a526 100644 --- a/call_parameters/src/main.rs +++ b/call_parameters/src/main.rs @@ -15,11 +15,16 @@ */ #[cfg(target_arch = "wasm32")] -use fluence::fce; +use fluence::marine; +#[cfg(target_arch = "wasm32")] +use fluence::module_manifest; + +#[cfg(target_arch = "wasm32")] +module_manifest!(); pub fn main() {} -#[fce] +#[marine] #[cfg(target_arch = "wasm32")] pub fn call_parameters() -> String { let cp = fluence::get_call_parameters(); @@ -33,3 +38,40 @@ pub fn call_parameters() -> String { cp.tetraplets ) } + +#[cfg(test)] +mod tests { + use fluence_test::marine_test; + use fluence_test::CallParameters; + use fluence_test::SecurityTetraplet; + + #[marine_test(config_path = "../Config.toml", modules_dir = "../artifacts")] + fn empty_string() { + let init_peer_id = "init_peer_id"; + let service_id = "service_id"; + let service_creator_peer_id = "service_creator_peer_id"; + let host_id = "host_id"; + let particle_id = "particle_id"; + + let mut tetraplet = SecurityTetraplet::default(); + tetraplet.function_name = "some_func_name".to_string(); + tetraplet.json_path = "some_json_path".to_string(); + let tetraplets = vec![vec![tetraplet]]; + + let cp = CallParameters { + init_peer_id: init_peer_id.to_string(), + service_id: service_id.to_string(), + service_creator_peer_id: service_creator_peer_id.to_string(), + host_id: host_id.to_string(), + particle_id: particle_id.to_string(), + tetraplets: tetraplets.clone(), + }; + + let actual = call_parameters.call_parameters_cp(cp); + let expected = format!( + "{}\n{}\n{}\n{}\n{}\n{:?}", + init_peer_id, service_id, service_creator_peer_id, host_id, particle_id, tetraplets + ); + assert_eq!(actual, expected); + } +}