MCPcopy Index your code
hub / github.com/crowdsecurity/crowdsec / TestFile

Function TestFile

pkg/exprhelpers/exprlib_test.go:435–494  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

433}
434
435func TestFile(t *testing.T) {
436 if err := Init(nil); err != nil {
437 t.Fatal(err)
438 }
439
440 err := FileInit("testdata", "test_data.txt", "string")
441 if err != nil {
442 t.Fatal(err)
443 }
444
445 tests := []struct {
446 name string
447 filter string
448 result bool
449 err error
450 }{
451 {
452 name: "File() test: word in file",
453 filter: "'Crowdsec' in File('test_data.txt')",
454 result: true,
455 err: nil,
456 },
457 {
458 name: "File() test: word in file but different case",
459 filter: "'CrowdSecurity' in File('test_data.txt')",
460 result: false,
461 err: nil,
462 },
463 {
464 name: "File() test: word not in file",
465 filter: "'test' in File('test_data.txt')",
466 result: false,
467 err: nil,
468 },
469 {
470 name: "File() test: filepath provided doesn't exist",
471 filter: "'test' in File('non_existing_data.txt')",
472 result: false,
473 err: nil,
474 },
475 }
476
477 for _, test := range tests {
478 compiledFilter, err := expr.Compile(test.filter, GetExprOptions(map[string]any{})...)
479 if err != nil {
480 t.Fatal(err)
481 }
482
483 result, err := expr.Run(compiledFilter, map[string]any{})
484 if err != nil {
485 t.Fatal(err)
486 }
487
488 if isOk := assert.Equal(t, test.result, result); !isOk {
489 t.Fatalf("test '%s' : NOK", test.name)
490 }
491
492 log.Printf("test '%s' : OK", test.name)

Callers

nothing calls this directly

Calls 5

InitFunction · 0.85
FileInitFunction · 0.85
GetExprOptionsFunction · 0.85
RunMethod · 0.65
CompileMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…