Added probes for evidence
This commit is contained in:
@@ -44,6 +44,7 @@ import org.oneedtech.inspect.vc.probe.ExpirationProbe;
|
||||
import org.oneedtech.inspect.vc.probe.InlineJsonSchemaProbe;
|
||||
import org.oneedtech.inspect.vc.probe.IssuanceProbe;
|
||||
import org.oneedtech.inspect.vc.probe.EmbeddedProofProbe;
|
||||
import org.oneedtech.inspect.vc.probe.EvidenceProbe;
|
||||
import org.oneedtech.inspect.vc.probe.RevocationListProbe;
|
||||
import org.oneedtech.inspect.vc.probe.ExternalProofProbe;
|
||||
import org.oneedtech.inspect.vc.probe.TypePropertyProbe;
|
||||
@@ -202,6 +203,11 @@ public class OB30Inspector extends VCInspector implements SubInspector {
|
||||
if(broken(accumulator)) return abort(ctx, accumulator, probeCount);
|
||||
}
|
||||
|
||||
// evidence
|
||||
probeCount++;
|
||||
accumulator.add(new EvidenceProbe().run(ob.getJson(), ctx));
|
||||
if(broken(accumulator)) return abort(ctx, accumulator, probeCount);
|
||||
|
||||
//embedded endorsements
|
||||
EndorsementInspector endorsementInspector = new EndorsementInspector.Builder().build();
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package org.oneedtech.inspect.vc.probe;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.oneedtech.inspect.core.probe.Probe;
|
||||
import org.oneedtech.inspect.core.probe.RunContext;
|
||||
import org.oneedtech.inspect.core.report.ReportItems;
|
||||
import org.oneedtech.inspect.vc.util.JsonNodeUtil;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
||||
public class EvidenceProbe extends Probe<JsonNode> {
|
||||
public EvidenceProbe() {
|
||||
super(ID);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportItems run(JsonNode root, RunContext ctx) throws Exception {
|
||||
|
||||
if (root.hasNonNull("evidence")) {
|
||||
/*
|
||||
* evidence is an array, so check type of each element
|
||||
*/
|
||||
List<JsonNode> evidences = JsonNodeUtil.asNodeList(root.get("evidence"));
|
||||
for (JsonNode evidence : evidences) {
|
||||
// check that type contains "Evidence"
|
||||
if (!JsonNodeUtil.asStringList(evidence.get("type")).contains("Evidence")) {
|
||||
return error("evidence is not of type \"Evidence\"", ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success(ctx);
|
||||
}
|
||||
|
||||
public static final String ID = EvidenceProbe.class.getSimpleName();
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user