Update pcd tests
This commit is contained in:
parent
d37c0829f0
commit
2ee37599ed
23
src/pcd.rs
23
src/pcd.rs
@ -198,13 +198,12 @@ impl PcdCommitments {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if roles.len() > 0 {
|
if roles.len() > 0 {
|
||||||
// This should be very rare, but just in case
|
|
||||||
let serialized_roles = roles.to_bytes()?;
|
let serialized_roles = roles.to_bytes()?;
|
||||||
|
|
||||||
let roles_hash = AnkPcdHash::from_value_with_outpoint(&serialized_roles, &serialized_outpoint);
|
let roles_hash = AnkPcdHash::from_value_with_outpoint(&serialized_roles, &serialized_outpoint);
|
||||||
|
|
||||||
field2hash.insert("roles".to_owned(), roles_hash.to_byte_array());
|
field2hash.insert("roles".to_owned(), roles_hash.to_byte_array());
|
||||||
}
|
} // We should probably return an error if roles are empty
|
||||||
|
|
||||||
Ok(Self(field2hash))
|
Ok(Self(field2hash))
|
||||||
}
|
}
|
||||||
@ -593,9 +592,9 @@ mod tests {
|
|||||||
let validation_rule = ValidationRule::new(0.5, fields.clone(), 0.5).unwrap();
|
let validation_rule = ValidationRule::new(0.5, fields.clone(), 0.5).unwrap();
|
||||||
|
|
||||||
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
||||||
let pcd: BTreeMap<String, Value> = serde_json::from_value(clear_state_value).unwrap();
|
let pcd: Pcd = clear_state_value.try_into().unwrap();
|
||||||
let public_data = BTreeMap::new();
|
let public_data = BTreeMap::new();
|
||||||
let roles = BTreeMap::new();
|
let roles = BTreeMap::new(); // roles are not necessary here, we can leave it empty
|
||||||
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
||||||
let commitments = PcdCommitments::new(&OutPoint::null(), &Pcd::new(attributes), &Roles::new(roles)).unwrap();
|
let commitments = PcdCommitments::new(&OutPoint::null(), &Pcd::new(attributes), &Roles::new(roles)).unwrap();
|
||||||
let new_state_merkle_root = commitments.create_merkle_tree().unwrap().root().unwrap();
|
let new_state_merkle_root = commitments.create_merkle_tree().unwrap().root().unwrap();
|
||||||
@ -654,7 +653,7 @@ mod tests {
|
|||||||
let validation_rule = ValidationRule::new(0.5, fields.clone(), 0.5).unwrap();
|
let validation_rule = ValidationRule::new(0.5, fields.clone(), 0.5).unwrap();
|
||||||
|
|
||||||
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
||||||
let pcd: BTreeMap<String, Value> = serde_json::from_value(clear_state_value).unwrap();
|
let pcd: Pcd = clear_state_value.try_into().unwrap();
|
||||||
let public_data = BTreeMap::new();
|
let public_data = BTreeMap::new();
|
||||||
let roles = BTreeMap::new();
|
let roles = BTreeMap::new();
|
||||||
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
||||||
@ -702,7 +701,7 @@ mod tests {
|
|||||||
let validation_rule = ValidationRule::new(1.0, fields.clone(), 0.5).unwrap();
|
let validation_rule = ValidationRule::new(1.0, fields.clone(), 0.5).unwrap();
|
||||||
|
|
||||||
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
||||||
let pcd: BTreeMap<String, Value> = serde_json::from_value(clear_state_value).unwrap();
|
let pcd: Pcd = clear_state_value.try_into().unwrap();
|
||||||
let public_data = BTreeMap::new();
|
let public_data = BTreeMap::new();
|
||||||
let roles = BTreeMap::new();
|
let roles = BTreeMap::new();
|
||||||
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
||||||
@ -744,7 +743,7 @@ mod tests {
|
|||||||
let validation_rule = ValidationRule::new(0.5, fields.clone(), 0.5).unwrap();
|
let validation_rule = ValidationRule::new(0.5, fields.clone(), 0.5).unwrap();
|
||||||
|
|
||||||
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
||||||
let pcd: BTreeMap<String, Value> = serde_json::from_value(clear_state_value).unwrap();
|
let pcd: Pcd = clear_state_value.try_into().unwrap();
|
||||||
let public_data = BTreeMap::new();
|
let public_data = BTreeMap::new();
|
||||||
let roles = BTreeMap::new();
|
let roles = BTreeMap::new();
|
||||||
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
||||||
@ -789,7 +788,7 @@ mod tests {
|
|||||||
)
|
)
|
||||||
.unwrap()]);
|
.unwrap()]);
|
||||||
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
||||||
let pcd: BTreeMap<String, Value> = serde_json::from_value(clear_state_value).unwrap();
|
let pcd: Pcd = clear_state_value.try_into().unwrap();
|
||||||
let public_data = BTreeMap::new();
|
let public_data = BTreeMap::new();
|
||||||
let roles = BTreeMap::new();
|
let roles = BTreeMap::new();
|
||||||
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
||||||
@ -837,7 +836,7 @@ mod tests {
|
|||||||
let new_state = json!({ "field1": "new_value1", "field2": "new_value2" });
|
let new_state = json!({ "field1": "new_value1", "field2": "new_value2" });
|
||||||
|
|
||||||
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
||||||
let pcd: BTreeMap<String, Value> = serde_json::from_value(clear_state_value).unwrap();
|
let pcd: Pcd = clear_state_value.try_into().unwrap();
|
||||||
let public_data = BTreeMap::new();
|
let public_data = BTreeMap::new();
|
||||||
let roles = BTreeMap::new();
|
let roles = BTreeMap::new();
|
||||||
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
||||||
@ -889,7 +888,7 @@ mod tests {
|
|||||||
let new_state = json!({ "field1": "new_value1", "field2": "new_value2" });
|
let new_state = json!({ "field1": "new_value1", "field2": "new_value2" });
|
||||||
|
|
||||||
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
||||||
let pcd: BTreeMap<String, Value> = serde_json::from_value(clear_state_value).unwrap();
|
let pcd: Pcd = clear_state_value.try_into().unwrap();
|
||||||
let public_data = BTreeMap::new();
|
let public_data = BTreeMap::new();
|
||||||
let roles = BTreeMap::new();
|
let roles = BTreeMap::new();
|
||||||
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
||||||
@ -942,7 +941,7 @@ mod tests {
|
|||||||
let new_state = json!({ "field1": "old_value1", "field2": "new_value2" });
|
let new_state = json!({ "field1": "old_value1", "field2": "new_value2" });
|
||||||
|
|
||||||
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
||||||
let pcd: BTreeMap<String, Value> = serde_json::from_value(clear_state_value).unwrap();
|
let pcd: Pcd = clear_state_value.try_into().unwrap();
|
||||||
let public_data = BTreeMap::new();
|
let public_data = BTreeMap::new();
|
||||||
let roles = BTreeMap::new();
|
let roles = BTreeMap::new();
|
||||||
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
||||||
@ -995,7 +994,7 @@ mod tests {
|
|||||||
let new_state = json!({ "field1": "old_value1", "field2": "new_value2" });
|
let new_state = json!({ "field1": "old_value1", "field2": "new_value2" });
|
||||||
|
|
||||||
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
let clear_state_value = json!({"field1": "value1", "field2": "value2"});
|
||||||
let pcd: BTreeMap<String, Value> = serde_json::from_value(clear_state_value).unwrap();
|
let pcd: Pcd = clear_state_value.try_into().unwrap();
|
||||||
let public_data = BTreeMap::new();
|
let public_data = BTreeMap::new();
|
||||||
let roles = BTreeMap::new();
|
let roles = BTreeMap::new();
|
||||||
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
let attributes = BTreeMap::from_iter(pcd.into_iter().chain(public_data));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user