MCPcopy Create free account
hub / github.com/cel-expr/cel-go / TestConfigValidateErrors

Function TestConfigValidateErrors

common/env/env_test.go:323–404  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

321}
322
323func TestConfigValidateErrors(t *testing.T) {
324 tests := []struct {
325 name string
326 in *Config
327 want error
328 }{
329 {
330 name: "nil config valid",
331 },
332 {
333 name: "invalid import",
334 in: NewConfig("invalid import").AddImports(NewImport("")),
335 want: errors.New("invalid import"),
336 },
337 {
338 name: "invalid subset",
339 in: NewConfig("invalid subset").SetStdLib(NewLibrarySubset().AddExcludedMacros("has").AddIncludedMacros("exists")),
340 want: errors.New("invalid subset"),
341 },
342 {
343 name: "invalid extension",
344 in: NewConfig("invalid extension").AddExtensions(NewExtension("", 0)),
345 want: errors.New("invalid extension"),
346 },
347 {
348 name: "invalid context variable",
349 in: NewConfig("invalid context variable").SetContextVariable(NewContextVariable("")),
350 want: errors.New("invalid context variable"),
351 },
352 {
353 name: "invalid variable",
354 in: NewConfig("invalid variable").AddVariables(NewVariable("", nil)),
355 want: errors.New("invalid variable"),
356 },
357 {
358 name: "invalid variable",
359 in: NewConfig("invalid variable").AddVariables(NewVariable("foo", NewTypeParam("X"))),
360 want: errors.New("variables cannot be type parameters"),
361 },
362 {
363 name: "colliding context variable",
364 in: NewConfig("colliding context variable").
365 SetContextVariable(NewContextVariable("msg.type.Name")).
366 AddVariables(NewVariable("local", NewTypeDesc("string"))),
367 want: errors.New("invalid config"),
368 },
369 {
370 name: "invalid function",
371 in: NewConfig("invalid function").AddFunctions(NewFunction("", nil)),
372 want: errors.New("invalid function"),
373 },
374 {
375 name: "invalid feature",
376 in: NewConfig("invalid feature").AddFeatures(NewFeature("", false)),
377 want: errors.New("invalid feature"),
378 },
379 {
380 name: "invalid validator",

Callers

nothing calls this directly

Calls 15

NewConfigFunction · 0.85
NewLibrarySubsetFunction · 0.85
NewContextVariableFunction · 0.85
NewTypeParamFunction · 0.85
NewTypeDescFunction · 0.85
NewFeatureFunction · 0.85
NewValidatorFunction · 0.85
AddImportsMethod · 0.80
NewMethod · 0.80
SetStdLibMethod · 0.80
AddIncludedMacrosMethod · 0.80
AddExcludedMacrosMethod · 0.80

Tested by

no test coverage detected