From f2f3ca6cda5f86e920821318fc5b43b2869fa454 Mon Sep 17 00:00:00 2001 From: TeoV Date: Tue, 18 Sep 2018 10:25:07 -0400 Subject: [PATCH] Add test for *rsr filters --- engine/filters_test.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/engine/filters_test.go b/engine/filters_test.go index 17ae593a0..b0f4f11e9 100644 --- a/engine/filters_test.go +++ b/engine/filters_test.go @@ -411,4 +411,46 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { } else if !pass { t.Errorf("Expecting: %+v, received: %+v", true, pass) } + ev := map[string]interface{}{ + "Test": "MultipleCharacter", + } + if pass, err := filterS.Pass("cgrates.org", + []string{"*rsr::Test(~^\\w{30,})"}, config.NewNavigableMap(ev)); err != nil { + t.Errorf(err.Error()) + } else if pass { + t.Errorf("Expecting: %+v, received: %+v", false, pass) + } + ev = map[string]interface{}{ + "Test": "MultipleCharacter123456789MoreThan30Character", + } + if pass, err := filterS.Pass("cgrates.org", + []string{"*rsr::Test(~^\\w{30,})"}, config.NewNavigableMap(ev)); err != nil { + t.Errorf(err.Error()) + } else if !pass { + t.Errorf("Expecting: %+v, received: %+v", false, pass) + } + + ev = map[string]interface{}{ + "Test": map[string]interface{}{ + "Test2": "MultipleCharacter", + }, + } + if pass, err := filterS.Pass("cgrates.org", + []string{"*rsr::Test.Test2(~^\\w{30,})"}, config.NewNavigableMap(ev)); err != nil { + t.Errorf(err.Error()) + } else if pass { + t.Errorf("Expecting: %+v, received: %+v", false, pass) + } + ev = map[string]interface{}{ + "Test": map[string]interface{}{ + "Test2": "MultipleCharacter123456789MoreThan30Character", + }, + } + if pass, err := filterS.Pass("cgrates.org", + []string{"*rsr::Test.Test2(~^\\w{30,})"}, config.NewNavigableMap(ev)); err != nil { + t.Errorf(err.Error()) + } else if !pass { + t.Errorf("Expecting: %+v, received: %+v", false, pass) + } + }