From adc1fbfabd8d95ae7cedcadc891326be2010c96b Mon Sep 17 00:00:00 2001 From: Sosthene Date: Fri, 6 Dec 2024 15:26:38 +0100 Subject: [PATCH] Fix pcd tests --- src/pcd.rs | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/src/pcd.rs b/src/pcd.rs index 8d915d8..72bc143 100644 --- a/src/pcd.rs +++ b/src/pcd.rs @@ -492,7 +492,7 @@ mod tests { use super::*; use crate::{ - pcd::{AnkPcdHash, Member}, + pcd::Member, signature::{AnkHash, Proof}, }; @@ -585,7 +585,7 @@ mod tests { let validation_rule = ValidationRule::new(0.5, fields.clone(), 0.5).unwrap(); let pcd = json!({"field1": "value1", "field2": "value2"}); - let commitment = pcd.hash_fields(OutPoint::null()).unwrap(); + let commitment = pcd.hash_all_fields(OutPoint::null()).unwrap(); let new_state_merkle_root = Value::Object(commitment).create_merkle_tree().unwrap().root().unwrap(); let validation_hash1 = AnkValidationYesHash::from_merkle_root(new_state_merkle_root); @@ -650,7 +650,7 @@ mod tests { let pcd = json!({"field1": "value1", "field2": "value2"}); - let commitment = pcd.hash_fields(OutPoint::null()).unwrap(); + let commitment = pcd.hash_all_fields(OutPoint::null()).unwrap(); let new_state_merkle_root = Value::Object(commitment).create_merkle_tree().unwrap().root().unwrap(); let validation_hash_yes = AnkValidationYesHash::from_merkle_root(new_state_merkle_root); @@ -701,7 +701,7 @@ mod tests { let validation_rule = ValidationRule::new(1.0, fields.clone(), 0.5).unwrap(); let pcd = json!({"field1": "value1", "field2": "value2"}); - let commitment = pcd.hash_fields(OutPoint::null()).unwrap(); + let commitment = pcd.hash_all_fields(OutPoint::null()).unwrap(); let new_state_merkle_root = Value::Object(commitment).create_merkle_tree().unwrap().root().unwrap(); let validation_hash = AnkValidationYesHash::from_merkle_root(new_state_merkle_root); @@ -746,7 +746,7 @@ mod tests { let validation_rule = ValidationRule::new(0.5, fields.clone(), 0.5).unwrap(); let pcd = json!({"field1": "value1", "field2": "value2"}); - let commitment = pcd.hash_fields(OutPoint::null()).unwrap(); + let commitment = pcd.hash_all_fields(OutPoint::null()).unwrap(); let new_state_merkle_root = Value::Object(commitment).create_merkle_tree().unwrap().root().unwrap(); let validation_hash = AnkValidationYesHash::from_merkle_root(new_state_merkle_root); @@ -795,7 +795,7 @@ mod tests { .unwrap()]) .unwrap(); let pcd = json!({"field1": "value1"}); - let commitments = pcd.hash_fields(OutPoint::null()).unwrap(); + let commitments = pcd.hash_all_fields(OutPoint::null()).unwrap(); let new_state_merkle_root = Value::Object(commitments).create_merkle_tree().unwrap().root().unwrap(); let alice_spend_key: SecretKey = alice_wallet @@ -848,7 +848,7 @@ mod tests { let previous_state = json!({ "field1": "old_value1", "field2": "old_value2" }); let new_state = json!({ "field1": "new_value1", "field2": "new_value2" }); - let new_state_commitments = new_state.hash_fields(OutPoint::null()).unwrap(); + let new_state_commitments = new_state.hash_all_fields(OutPoint::null()).unwrap(); let new_state_merkle_root = Value::Object(new_state_commitments).create_merkle_tree().unwrap().root().unwrap(); let validation_hash = AnkValidationYesHash::from_merkle_root(new_state_merkle_root); @@ -866,7 +866,9 @@ mod tests { let proofs = vec![alice_proof, bob_proof]; - // assert!(role_def.is_satisfied(&new_state, &previous_state, &proofs).is_ok()); + let modified_fields: Vec = new_state.as_object().unwrap().iter().map(|(key, _)| key.clone()).collect(); + + assert!(role_def.is_satisfied(modified_fields, new_state_merkle_root, &proofs).is_ok()); } #[test] @@ -903,7 +905,7 @@ mod tests { let previous_state = json!({ "field1": "old_value1", "field2": "old_value2" }); let new_state = json!({ "field1": "new_value1", "field2": "new_value2" }); - let new_state_commitments = new_state.hash_fields(OutPoint::null()).unwrap(); + let new_state_commitments = new_state.hash_all_fields(OutPoint::null()).unwrap(); let new_state_merkle_root = Value::Object(new_state_commitments).create_merkle_tree().unwrap().root().unwrap(); // let validation_hash1 = AnkValidationYesHash::from_commitment(new_state_hash); @@ -921,7 +923,9 @@ mod tests { let proofs = vec![alice_proof, bob_proof]; - // assert!(!role_def.is_satisfied(&new_state, &previous_state, &proofs)); + let modified_fields: Vec = new_state.as_object().unwrap().iter().map(|(key, _)| key.clone()).collect(); + + assert!(role_def.is_satisfied(modified_fields, new_state_merkle_root, &proofs).is_err()); } #[test] @@ -958,7 +962,7 @@ mod tests { let previous_state = json!({ "field1": "old_value1", "field2": "old_value2" }); let new_state = json!({ "field1": "old_value1", "field2": "new_value2" }); - let new_state_commitments = new_state.hash_fields(OutPoint::null()).unwrap(); + let new_state_commitments = new_state.hash_all_fields(OutPoint::null()).unwrap(); let new_state_merkle_root = Value::Object(new_state_commitments).create_merkle_tree().unwrap().root().unwrap(); let validation_hash = AnkValidationYesHash::from_merkle_root(new_state_merkle_root); @@ -976,7 +980,9 @@ mod tests { let proofs = vec![alice_proof, bob_proof]; - // assert!(role_def.is_satisfied(&new_state, &previous_state, &proofs)); + let modified_fields: Vec = new_state.as_object().unwrap().iter().map(|(key, _)| key.clone()).collect(); + + assert!(role_def.is_satisfied(modified_fields, new_state_merkle_root, &proofs).is_ok()); } #[test] @@ -1013,7 +1019,7 @@ mod tests { let previous_state = json!({ "field1": "old_value1", "field2": "old_value2" }); let new_state = json!({ "field1": "old_value1", "field2": "new_value2" }); - let new_state_commitments = new_state.hash_fields(OutPoint::null()).unwrap(); + let new_state_commitments = new_state.hash_all_fields(OutPoint::null()).unwrap(); let new_state_merkle_root = Value::Object(new_state_commitments).create_merkle_tree().unwrap().root().unwrap(); let validation_hash = AnkValidationYesHash::from_merkle_root(new_state_merkle_root); @@ -1031,7 +1037,9 @@ mod tests { let proofs = vec![alice_proof]; - // assert!(!role_def.is_satisfied(&new_state, &previous_state, &proofs)); + let modified_fields: Vec = new_state.as_object().unwrap().iter().map(|(key, _)| key.clone()).collect(); + + assert!(role_def.is_satisfied(modified_fields, new_state_merkle_root, &proofs).is_err()); } #[test]