(t *testing.T)
| 494 | } |
| 495 | |
| 496 | func 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 | |
| 548 | func TestIpToRange(t *testing.T) { |
| 549 | err := Init(nil) |
nothing calls this directly
no test coverage detected
searching dependent graphs…