Arity for builtins (#28)

Old-style function call

Utility for running opa yaml tests

Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
This commit is contained in:
Anand Krishnamoorthi
2023-10-24 10:11:50 -07:00
committed by GitHub
parent 951bb6b14c
commit 800e594d52
25 changed files with 359 additions and 137 deletions
@@ -19,7 +19,7 @@ cases:
u3 = min(set())
query: data.test
want_result:
x: [ 3, 2 ]
x: [ -1, -1 ]
- note: invalid-null
data: {}
@@ -0,0 +1,19 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
cases:
- note: basic
data: {}
modules:
- |
package test
a = [1, 2, 3, 4]
p = x {
count(a, x)
}
query: data.test.p = x
want_result:
x: 4
+10 -12
View File
@@ -32,7 +32,7 @@ fn basic_array() -> Result<()> {
array_compr_7 = [ 1 | [1, 2, 3][_]; [1, 2][_] >= 2 ]
"#;
let expected = vec![Value::from_json_str(
let expected = [Value::from_json_str(
r#" {
"array": [1, 2, 3],
"array_compr_0": [1],
@@ -46,11 +46,10 @@ fn basic_array() -> Result<()> {
}"#,
)?];
assert_match(
eval_file(&[rego.to_owned()], None, None, "data.test", false)?,
expected,
);
Ok(())
check_output(
&eval_file(&[rego.to_owned()], None, None, "data.test", false)?,
&expected,
)
}
#[test]
@@ -81,7 +80,7 @@ fn basic_set() -> Result<()> {
set_compr_7 = { a | a = [1, 2, 3][_]; [1, 2][_] >= 2 }
"#;
let expected = vec![Value::from_json_str(
let expected = [Value::from_json_str(
r#" {
"set": {
"set!": [1, "string", [2, 3, 4], 567, false]
@@ -115,9 +114,8 @@ fn basic_set() -> Result<()> {
}"#,
)?];
assert_match(
eval_file(&[rego.to_owned()], None, None, "data.test", false)?,
expected,
);
Ok(())
check_output(
&eval_file(&[rego.to_owned()], None, None, "data.test", false)?,
&expected,
)
}
+5 -6
View File
@@ -99,7 +99,7 @@ fn basic() -> Result<()> {
}
"#;
let expected = vec![Value::from_json_str(
let expected = [Value::from_json_str(
r#" {
"array": [1, 2, 3],
"in_array_key_value": true,
@@ -119,9 +119,8 @@ fn basic() -> Result<()> {
}"#,
)?];
assert_match(
eval_file(&[rego.to_owned()], None, None, "data.test", false)?,
expected,
);
Ok(())
check_output(
&eval_file(&[rego.to_owned()], None, None, "data.test", false)?,
&expected,
)
}
+5 -6
View File
@@ -25,7 +25,7 @@ fn basic() -> Result<()> {
Value::from_json_str(r#"{"x": 6}"#)?,
]);
let expected = vec![
let expected = [
Value::from_json_str(
r#" {
"y": {"set!": [6]},
@@ -40,9 +40,8 @@ fn basic() -> Result<()> {
)?,
];
assert_match(
eval_file_first_rule(&[rego.to_owned()], None, Some(input), "data.test", false)?,
expected,
);
Ok(())
check_output(
&eval_file_first_rule(&[rego.to_owned()], None, Some(input), "data.test", false)?,
&expected,
)
}
+5 -6
View File
@@ -31,7 +31,7 @@ fn basic() -> Result<()> {
set = {1, 2, 3}
"#;
let expected = vec![Value::from_json_str(
let expected = [Value::from_json_str(
r#" {
"array": [1, 2, 3],
"nested_array": [1, [2, 3, 4], 5, 6],
@@ -46,9 +46,8 @@ fn basic() -> Result<()> {
}"#,
)?];
assert_match(
eval_file(&[rego.to_owned()], None, None, "data.test", false)?,
expected,
);
Ok(())
check_output(
&eval_file(&[rego.to_owned()], None, None, "data.test", false)?,
&expected,
)
}