1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package filter
import "testing"
func TestEvaluateClassicAndVFaceFields(t *testing.T) {
article := Article{
From: "Alice <alice@example.net>", Subject: "Important announcement", Newsgroups: "comp.test",
Headers: map[string]string{"Identity-Hash": "abc123"},
}
result, err := Evaluate(article, []Rule{
{ID: "subject", Enabled: true, Field: FieldSubject, Operator: OperatorContains, Pattern: "important", Action: ActionHighlight},
{ID: "identity", Enabled: true, Field: FieldVFaceHash, Operator: OperatorExact, Pattern: "abc123", Action: ActionTag, Tag: "trusted"},
})
if err != nil || !result.Highlight || len(result.Tags) != 1 || result.Tags[0] != "trusted" {
t.Fatalf("unexpected result: %#v, %v", result, err)
}
}
func TestEvaluateRejectsInvalidRegexp(t *testing.T) {
_, err := Evaluate(Article{Subject: "x"}, []Rule{{ID: "bad", Enabled: true, Field: FieldSubject, Operator: OperatorRegexp, Pattern: "[", Action: ActionHide}})
if err == nil {
t.Fatal("expected invalid regexp error")
}
}
|