diff --git a/utils/rsrfilters_test.go b/utils/rsrfilters_test.go index dbfb5fa2c..fcdb8a885 100644 --- a/utils/rsrfilters_test.go +++ b/utils/rsrfilters_test.go @@ -18,6 +18,7 @@ along with this program. If not, see package utils import ( + "reflect" "testing" ) @@ -351,3 +352,63 @@ func TestRSRFiltersPass(t *testing.T) { t.Error("Passing") } } + +func TestNewRSRFilterError(t *testing.T) { + filterString := "~(^_^" + _, err := NewRSRFilter(filterString) + if err == nil || err.Error() != "error parsing regexp: missing closing ): `(^_^`" { + t.Errorf("Expected ,received: <%+v>", err) + } +} + +func TestNewRSRFilterMustCompile(t *testing.T) { + filterString := "~works" + filterNew := NewRSRFilterMustCompile(filterString) + expected, _ := NewRSRFilter(filterString) + if !reflect.DeepEqual(expected, filterNew) { + t.Errorf("Expected <%+v> ,received: <%+v>", expected, filterNew) + } +} + +func TestNewRSRFilterMustCompilePanic(t *testing.T) { + defer func() { + if r := recover(); r == nil { + t.Error("Expected panic on wrong rule") + } + }() + filterString := "~(^_^" + err := NewRSRFilterMustCompile(filterString) + if err != nil { + t.Errorf("Expected <%+v> ,received: <%+v>", nil, err) + } +} + +func TestFilterRuleTest(t *testing.T) { + newRSRFilter, err := NewRSRFilter("^cat$") + if err != nil { + t.Errorf("Expected ,received: <%+v>", err) + } + rule := newRSRFilter.FilterRule() + if !reflect.DeepEqual("^cat$", rule) { + t.Errorf("Expected <^cat$> ,received: <%+v>", rule) + } +} + +func TestParseRSRFiltersNil(t *testing.T) { + testFilter, err := ParseRSRFilters("", "notnil") + if testFilter != nil { + t.Errorf("Expected ,received: <%+v>", testFilter) + } + if err != nil { + t.Errorf("Expected ,received: <%+v>", err) + } + +} + +func TestParseRSRFilterssPass(t *testing.T) { + err := new(RSRFilters).Pass("", false) + if !reflect.DeepEqual(err, true) { + t.Errorf("Expected ,received: <%+v>", err) + } + +}