From 82fb5ce0d679baa54397f7717a6c621ec79a5597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Thu, 20 Apr 2017 13:36:37 -0700 Subject: [PATCH] Add more test to cover more filter expressions --- filters/filter_test.go | 140 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/filters/filter_test.go b/filters/filter_test.go index 7fa39ba5e..e642962f2 100644 --- a/filters/filter_test.go +++ b/filters/filter_test.go @@ -47,6 +47,22 @@ var tests = []filterTest{ Expression: "@silenced=xx", IsValid: false, }, + filterTest{ + Expression: "@silenced=:xx", + IsValid: false, + }, + filterTest{ + Expression: "@silenced==xx", + IsValid: false, + }, + filterTest{ + Expression: "@silenced=~true", + IsValid: false, + }, + filterTest{ + Expression: "@silenced=~false", + IsValid: false, + }, filterTest{ Expression: "@inhibited=true", @@ -82,6 +98,22 @@ var tests = []filterTest{ Expression: "@inhibited=xx", IsValid: false, }, + filterTest{ + Expression: "@inhibited=:xx", + IsValid: false, + }, + filterTest{ + Expression: "@inhibited==xx", + IsValid: false, + }, + filterTest{ + Expression: "@inhibited=~true", + IsValid: false, + }, + filterTest{ + Expression: "@inhibited=~false", + IsValid: false, + }, filterTest{ Expression: "@silence_jira=1", @@ -132,6 +164,27 @@ var tests = []filterTest{ Silence: models.Silence{ID: "1", JiraID: "xxx"}, IsMatch: false, }, + filterTest{ + Expression: "@silence_jira=~", + IsValid: false, + Alert: models.Alert{Silenced: "1"}, + Silence: models.Silence{ID: "1", JiraID: "xxx"}, + IsMatch: false, + }, + filterTest{ + Expression: "@silence_jira~=", + IsValid: false, + Alert: models.Alert{Silenced: "1"}, + Silence: models.Silence{ID: "1", JiraID: "xxx"}, + IsMatch: false, + }, + filterTest{ + Expression: "@silence_jira~=1", + IsValid: false, + Alert: models.Alert{Silenced: "1"}, + Silence: models.Silence{ID: "1", JiraID: "xxx"}, + IsMatch: false, + }, filterTest{ Expression: "@silence_author=john", @@ -168,6 +221,27 @@ var tests = []filterTest{ Silence: models.Silence{ID: "1"}, IsMatch: true, }, + filterTest{ + Expression: "@silence_author=~", + IsValid: false, + Alert: models.Alert{Silenced: "1"}, + Silence: models.Silence{ID: "1"}, + IsMatch: false, + }, + filterTest{ + Expression: "@silence_author===x", + IsValid: false, + Alert: models.Alert{Silenced: "1"}, + Silence: models.Silence{ID: "1"}, + IsMatch: false, + }, + filterTest{ + Expression: "@silence_author=!!xxx", + IsValid: false, + Alert: models.Alert{Silenced: "1"}, + Silence: models.Silence{ID: "1"}, + IsMatch: false, + }, filterTest{ Expression: "@age<1h", @@ -193,6 +267,42 @@ var tests = []filterTest{ Alert: models.Alert{StartsAt: time.Now().Add(time.Hour * -2)}, IsMatch: true, }, + filterTest{ + Expression: "@age=1h", + IsValid: false, + Alert: models.Alert{StartsAt: time.Now().Add(time.Minute * -55)}, + IsMatch: false, + }, + filterTest{ + Expression: "@age=~1h", + IsValid: false, + Alert: models.Alert{StartsAt: time.Now().Add(time.Minute * -55)}, + IsMatch: false, + }, + filterTest{ + Expression: "@age>", + IsValid: false, + Alert: models.Alert{StartsAt: time.Now().Add(time.Minute * -55)}, + IsMatch: false, + }, + filterTest{ + Expression: "@age<", + IsValid: false, + Alert: models.Alert{StartsAt: time.Now().Add(time.Minute * -55)}, + IsMatch: false, + }, + filterTest{ + Expression: "@age>a", + IsValid: false, + Alert: models.Alert{StartsAt: time.Now().Add(time.Minute * -55)}, + IsMatch: false, + }, + filterTest{ + Expression: "@age<10v", + IsValid: false, + Alert: models.Alert{StartsAt: time.Now().Add(time.Minute * -55)}, + IsMatch: false, + }, filterTest{ Expression: "node=vps1", @@ -236,6 +346,24 @@ var tests = []filterTest{ Alert: models.Alert{Labels: map[string]string{"node": "vps1"}}, IsMatch: true, }, + filterTest{ + Expression: "node!~", + IsValid: false, + Alert: models.Alert{Labels: map[string]string{"node": "vps1"}}, + IsMatch: false, + }, + filterTest{ + Expression: "node=", + IsValid: false, + Alert: models.Alert{Labels: map[string]string{"node": "vps1"}}, + IsMatch: false, + }, + filterTest{ + Expression: "node===", + IsValid: false, + Alert: models.Alert{Labels: map[string]string{"node": "vps1"}}, + IsMatch: false, + }, filterTest{ Expression: "abc", @@ -386,6 +514,18 @@ var limitTests = []limitFilterTest{ Expression: "@limit=abc", IsValid: false, }, + limitFilterTest{ + Expression: "@limit==0", + IsValid: false, + }, + limitFilterTest{ + Expression: "@limit>0", + IsValid: false, + }, + limitFilterTest{ + Expression: "@limit<0", + IsValid: false, + }, } func TestLimitFilter(t *testing.T) {