File tree Expand file tree Collapse file tree
conformance/src/test/java/dev/cel/conformance/policy Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3232import java .nio .file .Path ;
3333import java .nio .file .Paths ;
3434import java .util .Locale ;
35+ import java .util .Map ;
3536import org .junit .runners .model .Statement ;
3637
3738/** Statement representing a single CEL policy conformance test case. */
@@ -40,21 +41,30 @@ public final class PolicyConformanceTest extends Statement {
4041 private static final Cel CEL =
4142 CelFactory .standardCelBuilder ()
4243 .addFunctionBindings (
43- CelFunctionBinding .fromOverloads (
44- "locationCode" ,
45- CelFunctionBinding .from (
46- "locationCode_string" ,
47- String .class ,
48- (ip ) -> {
49- switch (ip ) {
50- case "10.0.0.1" :
51- return "us" ;
52- case "10.0.0.2" :
53- return "de" ;
54- default :
55- return "ir" ;
56- }
57- })))
44+ CelFunctionBinding .from (
45+ "locationCode_string" ,
46+ String .class ,
47+ (ip ) -> {
48+ switch (ip ) {
49+ case "10.0.0.1" :
50+ return "us" ;
51+ case "10.0.0.2" :
52+ return "de" ;
53+ default :
54+ return "ir" ;
55+ }
56+ }),
57+ CelFunctionBinding .from (
58+ "hasCreditCard" ,
59+ Object .class ,
60+ (arg ) -> arg instanceof Map && ((Map <?, ?>) arg ).containsKey ("cc" )),
61+ CelFunctionBinding .from (
62+ "hasEmailOrPhone" ,
63+ Object .class ,
64+ (arg ) ->
65+ arg instanceof Map
66+ && (((Map <?, ?>) arg ).containsKey ("email" )
67+ || ((Map <?, ?>) arg ).containsKey ("phone" ))))
5868 .build ();
5969
6070 private final String name ;
You can’t perform that action at this time.
0 commit comments