Check a single POD against a POD Request (#359)

This commit is contained in:
Rob Knight 2025-07-30 02:46:14 +01:00 committed by GitHub
parent c7b39f21f0
commit f10a5adb41
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 419 additions and 102 deletions

View file

@ -70,7 +70,7 @@ mod tests {
let params = Params::default();
let processed = parse(input, &params, &[])?;
let batch_result = processed.custom_batch;
let request_result = processed.request_templates;
let request_result = processed.request.templates();
assert_eq!(request_result.len(), 0);
assert_eq!(batch_result.predicates.len(), 1);
@ -115,13 +115,11 @@ mod tests {
let params = Params::default();
let processed = parse(input, &params, &[])?;
let batch_result = processed.custom_batch;
let request_templates = processed.request_templates;
let request_templates = processed.request.templates();
assert_eq!(batch_result.predicates.len(), 0);
assert!(!request_templates.is_empty());
let request_templates = request_templates;
// Expected structure
let expected_templates = vec![
StatementTmpl {
@ -157,7 +155,7 @@ mod tests {
let params = Params::default();
let processed = parse(input, &params, &[])?;
let batch_result = processed.custom_batch;
let request_result = processed.request_templates;
let request_result = processed.request.templates();
assert_eq!(request_result.len(), 0);
assert_eq!(batch_result.predicates.len(), 1);
@ -214,13 +212,12 @@ mod tests {
let params = Params::default();
let processed = parse(input, &params, &[])?;
let batch_result = processed.custom_batch;
let request_templates = processed.request_templates;
let request_templates = processed.request.templates();
assert_eq!(batch_result.predicates.len(), 1);
assert!(!request_templates.is_empty());
let batch = batch_result;
let request_templates = request_templates;
// Expected Batch structure
let expected_pred_statements = vec![StatementTmpl {
@ -278,13 +275,11 @@ mod tests {
let params = Params::default();
let processed = parse(input, &params, &[])?;
let batch_result = processed.custom_batch;
let request_templates = processed.request_templates;
let request_templates = processed.request.templates();
assert_eq!(batch_result.predicates.len(), 1); // some_pred is defined
assert!(!request_templates.is_empty());
let request_templates = request_templates;
// Expected Wildcard Indices in Request Scope:
// ?Var1 -> 0
// ?AnotherPod -> 1
@ -330,13 +325,11 @@ mod tests {
let params = Params::default();
let processed = parse(input, &params, &[])?;
let batch_result = processed.custom_batch;
let request_templates = processed.request_templates;
let request_templates = processed.request.templates();
assert_eq!(batch_result.predicates.len(), 0);
assert!(!request_templates.is_empty());
let request_templates = request_templates;
let expected_templates = vec![
StatementTmpl {
pred: Predicate::Native(NativePredicate::LtEq),
@ -389,7 +382,7 @@ mod tests {
// Parse the input string
let processed = super::parse(input, &Params::default(), &[])?;
let parsed_templates = processed.request_templates;
let parsed_templates = processed.request.templates();
// Define Expected Templates (Copied from prover/mod.rs)
let now_minus_18y_val = Value::from(1169909388_i64);
@ -529,7 +522,7 @@ mod tests {
let processed = super::parse(input, &params, &[])?;
assert!(
processed.request_templates.is_empty(),
processed.request.templates().is_empty(),
"Expected no request templates"
);
assert_eq!(
@ -719,7 +712,7 @@ mod tests {
// 3. Parse the input
let processed = parse(&input, &params, &available_batches)?;
let request_templates = processed.request_templates;
let request_templates = processed.request.templates();
assert!(
processed.custom_batch.predicates.is_empty(),
@ -771,7 +764,7 @@ mod tests {
// 3. Parse the input
let processed = parse(&input, &params, &available_batches)?;
let request_templates = processed.request_templates;
let request_templates = processed.request.templates();
assert_eq!(request_templates.len(), 2, "Expected two request templates");
@ -830,7 +823,7 @@ mod tests {
let processed = parse(&input, &params, &available_batches)?;
assert!(
processed.request_templates.is_empty(),
processed.request.templates().is_empty(),
"No request should be defined"
);
assert_eq!(
@ -903,7 +896,7 @@ mod tests {
let params = Params::default();
let processed = parse(&input, &params, &[])?;
let request_templates = processed.request_templates;
let request_templates = processed.request.templates();
let expected_templates = vec![
StatementTmpl {