2727from cel .expr import value_pb2 as value_pb
2828from absl .testing import absltest
2929from python .runfiles import runfiles
30- import py_cel as cel
30+ import py_cel
3131from ext import ext_bindings
3232from ext import ext_encoders
3333from ext import ext_math
@@ -158,14 +158,14 @@ def _run_conformance_test(self, simple_test: simple_pb.SimpleTest):
158158 break
159159
160160 self .descriptor_pool = descriptor_pool .Default ()
161- self .cel = cel . Cel (
161+ self .env = py_cel . NewEnv (
162162 self .descriptor_pool ,
163163 variables = decls ,
164164 extensions = extensions ,
165165 container = simple_test .container ,
166166 )
167167 try :
168- compiled_expr = self .cel .compile (
168+ compiled_expr = self .env .compile (
169169 simple_test .expr , disable_check = simple_test .disable_check
170170 )
171171 except Exception as e : # pylint: disable=broad-except
@@ -188,7 +188,7 @@ def _run_conformance_test(self, simple_test: simple_pb.SimpleTest):
188188 for key , value in simple_test .bindings .items ():
189189 values [key ] = self ._convert_value (value .value )
190190
191- act = self .cel .Activation (values )
191+ act = self .env .Activation (values )
192192 try :
193193 res = compiled_expr .eval (act )
194194 except Exception as e : # pylint: disable=broad-except
@@ -208,7 +208,7 @@ def assertEvalResult(self, result, simple_test: simple_pb.SimpleTest):
208208 self .fail (
209209 "Multiple errors not supported: " + str (simple_test .eval_error )
210210 )
211- self .assertEqual (result .type (), cel .Type .ERROR )
211+ self .assertEqual (result .type (), py_cel .Type .ERROR )
212212 # At this point, error messages from the C++ side are not the same as
213213 # those in the conformance tests.
214214 # self.assertIn(
@@ -220,41 +220,41 @@ def assertEvalResult(self, result, simple_test: simple_pb.SimpleTest):
220220
221221 def _convert_primitive_type (self , primitive : checked_pb .Type .PrimitiveType ):
222222 if primitive == checked_pb .Type .PrimitiveType .BOOL :
223- return cel .Type .BOOL
223+ return py_cel .Type .BOOL
224224 elif primitive == checked_pb .Type .PrimitiveType .INT64 :
225- return cel .Type .INT
225+ return py_cel .Type .INT
226226 elif primitive == checked_pb .Type .PrimitiveType .UINT64 :
227- return cel .Type .UINT
227+ return py_cel .Type .UINT
228228 elif primitive == checked_pb .Type .PrimitiveType .DOUBLE :
229- return cel .Type .DOUBLE
229+ return py_cel .Type .DOUBLE
230230 elif primitive == checked_pb .Type .PrimitiveType .STRING :
231- return cel .Type .STRING
231+ return py_cel .Type .STRING
232232 elif primitive == checked_pb .Type .PrimitiveType .BYTES :
233- return cel .Type .BYTES
233+ return py_cel .Type .BYTES
234234 else :
235235 self .fail ("Unsupported primitive type: " + str (primitive ))
236236
237237 def _convert_type (self , tp : checked_pb .Type ):
238238 kind = tp .WhichOneof ("type_kind" )
239239 if kind == "dyn" :
240- return cel .Type .DYN
240+ return py_cel .Type .DYN
241241 elif kind == "null" :
242- return cel .Type .NULL
242+ return py_cel .Type .NULL
243243 elif kind == "primitive" :
244244 return self ._convert_primitive_type (tp .primitive )
245245 elif kind == "wrapper" :
246246 return self ._convert_primitive_type (tp .wrapper )
247247 elif kind == "message_type" :
248- return cel .Type (tp .message_type )
248+ return py_cel .Type (tp .message_type )
249249 elif kind == "list_type" :
250- return cel .Type .List (self ._convert_type (tp .list_type .elem_type ))
250+ return py_cel .Type .List (self ._convert_type (tp .list_type .elem_type ))
251251 elif kind == "map_type" :
252- return cel .Type .Map (
252+ return py_cel .Type .Map (
253253 self ._convert_type (tp .map_type .key_type ),
254254 self ._convert_type (tp .map_type .value_type ),
255255 )
256256 elif kind == "abstract_type" :
257- return cel .Type .AbstractType (
257+ return py_cel .Type .AbstractType (
258258 tp .abstract_type .name ,
259259 [
260260 self ._convert_type (param )
@@ -300,42 +300,42 @@ def _convert_value(self, value: value_pb.Value):
300300
301301 def _type_by_name (self , type_name : str ):
302302 if type_name == "dyn" :
303- return cel .Type .DYN
303+ return py_cel .Type .DYN
304304 elif type_name == "null_type" :
305- return cel .Type .NULL
305+ return py_cel .Type .NULL
306306 elif type_name == "bool" :
307- return cel .Type .BOOL
307+ return py_cel .Type .BOOL
308308 elif type_name == "int" :
309- return cel .Type .INT
309+ return py_cel .Type .INT
310310 elif type_name == "uint" :
311- return cel .Type .UINT
311+ return py_cel .Type .UINT
312312 elif type_name == "double" :
313- return cel .Type .DOUBLE
313+ return py_cel .Type .DOUBLE
314314 elif type_name == "string" :
315- return cel .Type .STRING
315+ return py_cel .Type .STRING
316316 elif type_name == "bytes" :
317- return cel .Type .BYTES
317+ return py_cel .Type .BYTES
318318 elif type_name == "list" :
319- return cel .Type .LIST
319+ return py_cel .Type .LIST
320320 elif type_name == "map" :
321- return cel .Type .MAP
321+ return py_cel .Type .MAP
322322 elif type_name == "timestamp" or type_name == "google.protobuf.Timestamp" :
323- return cel .Type .TIMESTAMP
323+ return py_cel .Type .TIMESTAMP
324324 elif type_name == "duration" or type_name == "google.protobuf.Duration" :
325- return cel .Type .DURATION
325+ return py_cel .Type .DURATION
326326 elif type_name == "type" :
327- return cel .Type .TYPE
327+ return py_cel .Type .TYPE
328328 else :
329329 desc = self .descriptor_pool .FindMessageTypeByName (type_name )
330330 if desc is not None :
331- return cel .Type (type_name )
331+ return py_cel .Type (type_name )
332332 desc = self .descriptor_pool .FindEnumTypeByName (type_name )
333333 if desc is not None :
334- return cel .Type (type_name )
334+ return py_cel .Type (type_name )
335335 else :
336336 self .fail ("Unsupported type: " + str (type_name ))
337337
338- def assertValue (self , result : cel .Value , expected_value : value_pb .Value ):
338+ def assertValue (self , result : py_cel .Value , expected_value : value_pb .Value ):
339339 if expected_value .HasField ("null_value" ):
340340 self .assertIsNone (result .value ())
341341 elif expected_value .HasField ("bool_value" ):
@@ -377,7 +377,7 @@ def assertValue(self, result: cel.Value, expected_value: value_pb.Value):
377377 proto .ToDatetime ().replace (tzinfo = datetime .timezone .utc ),
378378 )
379379 elif expected_value .HasField ("type_value" ):
380- self .assertEqual (result .type (), cel .Type .TYPE )
380+ self .assertEqual (result .type (), py_cel .Type .TYPE )
381381 self .assertEqual (
382382 result .value (), self ._type_by_name (expected_value .type_value )
383383 )
@@ -388,58 +388,62 @@ def assertValue(self, result: cel.Value, expected_value: value_pb.Value):
388388
389389 def assertPrimitiveType (
390390 self ,
391- result_type : cel .Type ,
391+ result_type : py_cel .Type ,
392392 expected_primitive : checked_pb .Type .PrimitiveType ,
393393 ):
394394 if expected_primitive == checked_pb .Type .PrimitiveType .BOOL :
395- self .assertEqual (result_type , cel .Type .BOOL )
395+ self .assertEqual (result_type , py_cel .Type .BOOL )
396396 elif expected_primitive == checked_pb .Type .PrimitiveType .INT64 :
397- self .assertEqual (result_type , cel .Type .INT )
397+ self .assertEqual (result_type , py_cel .Type .INT )
398398 elif expected_primitive == checked_pb .Type .PrimitiveType .UINT64 :
399- self .assertEqual (result_type , cel .Type .UINT )
399+ self .assertEqual (result_type , py_cel .Type .UINT )
400400 elif expected_primitive == checked_pb .Type .PrimitiveType .DOUBLE :
401- self .assertEqual (result_type , cel .Type .DOUBLE )
401+ self .assertEqual (result_type , py_cel .Type .DOUBLE )
402402 elif expected_primitive == checked_pb .Type .PrimitiveType .STRING :
403- self .assertEqual (result_type , cel .Type .STRING )
403+ self .assertEqual (result_type , py_cel .Type .STRING )
404404 elif expected_primitive == checked_pb .Type .PrimitiveType .BYTES :
405- self .assertEqual (result_type , cel .Type .BYTES )
405+ self .assertEqual (result_type , py_cel .Type .BYTES )
406406 else :
407407 self .fail (
408408 "Unsupported primitive type validation " + str (expected_primitive )
409409 )
410410
411- def assertType (self , result_type : cel .Type , expected_type : checked_pb .Type ):
411+ def assertType (
412+ self , result_type : py_cel .Type , expected_type : checked_pb .Type
413+ ):
412414 kind = expected_type .WhichOneof ("type_kind" )
413415 if kind == "primitive" :
414416 self .assertPrimitiveType (result_type , expected_type .primitive )
415417 elif kind == "wrapper" :
416418 self .assertPrimitiveType (result_type , expected_type .wrapper )
417419 elif kind == "null" :
418- self .assertEqual (result_type , cel .Type .NULL )
420+ self .assertEqual (result_type , py_cel .Type .NULL )
419421 elif kind == "list_type" :
420422 self .assertEqual (
421423 result_type ,
422- cel .Type .List (self ._convert_type (expected_type .list_type .elem_type )),
424+ py_cel .Type .List (
425+ self ._convert_type (expected_type .list_type .elem_type )
426+ ),
423427 )
424428 elif kind == "map_type" :
425429 self .assertEqual (
426430 result_type ,
427- cel .Type .Map (
431+ py_cel .Type .Map (
428432 self ._convert_type (expected_type .map_type .key_type ),
429433 self ._convert_type (expected_type .map_type .value_type ),
430434 ),
431435 )
432436 elif kind == "message_type" :
433- self .assertEqual (result_type , cel .Type (expected_type .message_type ))
437+ self .assertEqual (result_type , py_cel .Type (expected_type .message_type ))
434438 elif kind == "well_known" :
435439 if expected_type .well_known == checked_pb .Type .WellKnownType .TIMESTAMP :
436- self .assertEqual (result_type , cel .Type .TIMESTAMP )
440+ self .assertEqual (result_type , py_cel .Type .TIMESTAMP )
437441 elif expected_type .well_known == checked_pb .Type .WellKnownType .DURATION :
438- self .assertEqual (result_type , cel .Type .DURATION )
442+ self .assertEqual (result_type , py_cel .Type .DURATION )
439443 elif kind == "abstract_type" :
440444 self .assertEqual (
441445 result_type ,
442- cel .Type .AbstractType (
446+ py_cel .Type .AbstractType (
443447 expected_type .abstract_type .name ,
444448 [
445449 self ._convert_type (param )
0 commit comments