MCPcopy
hub / github.com/crowdsecurity/crowdsec / TestIpInRange

Function TestIpInRange

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

Source from the content-addressed store, hash-verified

494}
495
496func TestIpInRange(t *testing.T) {
497 err := Init(nil)
498 require.NoError(t, err)
499 tests := []struct {
500 name string
501 env map[string]any
502 code string
503 result bool
504 err string
505 }{
506 {
507 name: "IpInRange() test: basic test",
508 env: map[string]any{
509 "ip": "192.168.0.1",
510 "ipRange": "192.168.0.0/24",
511 },
512 code: "IpInRange(ip, ipRange)",
513 result: true,
514 err: "",
515 },
516 {
517 name: "IpInRange() test: malformed IP",
518 env: map[string]any{
519 "ip": "192.168.0",
520 "ipRange": "192.168.0.0/24",
521 },
522 code: "IpInRange(ip, ipRange)",
523 result: false,
524 err: "",
525 },
526 {
527 name: "IpInRange() test: malformed IP range",
528 env: map[string]any{
529 "ip": "192.168.0.0/255",
530 "ipRange": "192.168.0.0/24",
531 },
532 code: "IpInRange(ip, ipRange)",
533 result: false,
534 err: "",
535 },
536 }
537
538 for _, test := range tests {
539 program, err := expr.Compile(test.code, GetExprOptions(test.env)...)
540 require.NoError(t, err)
541 output, err := expr.Run(program, test.env)
542 require.NoError(t, err)
543 require.Equal(t, test.result, output)
544 log.Printf("test '%s' : OK", test.name)
545 }
546}
547
548func TestIpToRange(t *testing.T) {
549 err := Init(nil)

Callers

nothing calls this directly

Calls 4

InitFunction · 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…