mirror of
https://github.com/microsoft/regorus.git
synced 2026-08-05 02:16:11 +00:00
Regorus now defaults to rego v1. `import rego.v1` is no longer needed. Additionally, `future` keywords are automatically imported. See https://www.openpolicyagent.org/docs/latest/v0-upgrade/#changes-to-rego-in-opa-v10 to understand the differences between rego v1 and v0. BREAKING CHANGE: v0 style policies will error out by default. To enable v0 behavior, call engine.set_rego_v0(true) before loading policies. Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
49 lines
1.5 KiB
Java
49 lines
1.5 KiB
Java
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT License.
|
|
|
|
import com.microsoft.regorus.Engine;
|
|
|
|
public class Test {
|
|
|
|
public static void main(String[] args) {
|
|
try (Engine engine = new Engine()) {
|
|
String pkg = engine.addPolicy(
|
|
"hello.rego",
|
|
"package test\nx=1\nmessage = concat(\", \", [input.message, data.message])"
|
|
);
|
|
System.out.println("Loaded package " + pkg);
|
|
|
|
engine.addDataJson("{\"message\":\"World!\"}");
|
|
engine.setInputJson("{\"message\":\"Hello\"}");
|
|
|
|
// Evaluate query.
|
|
String resJson = engine.evalQuery("data.test.message");
|
|
System.out.println(resJson);
|
|
|
|
// Enable coverage.
|
|
engine.setEnableCoverage(true);
|
|
|
|
// Evaluate rule.
|
|
String valueJson = engine.evalRule("data.test.message");
|
|
System.out.println(valueJson);
|
|
|
|
String coverageJson = engine.getCoverageReport();
|
|
System.out.println(coverageJson);
|
|
|
|
System.out.println(engine.getCoverageReportPretty());
|
|
|
|
String packagesJson = engine.getPackages();
|
|
System.out.println(packagesJson);
|
|
|
|
String policiesJson = engine.getPolicies();
|
|
System.out.println(policiesJson);
|
|
|
|
engine.setRegoV0(true);
|
|
engine.addPolicy(
|
|
"world.rego",
|
|
"package world\nx { true }"
|
|
);
|
|
}
|
|
}
|
|
}
|