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)
+ }
+
+}