MCPcopy Create free account
hub / github.com/daodst/chat / TestValidateRulePositives

Function TestValidateRulePositives

internal/pushrules/validate_test.go:42–69  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

40}
41
42func TestValidateRulePositives(t *testing.T) {
43 tsts := []struct {
44 Name string
45 Kind Kind
46 Rule Rule
47 WantNoErrString string
48 }{
49 {"invalidKind", OverrideKind, Rule{}, "invalid rule kind"},
50 {"invalidActionNoActions", OverrideKind, Rule{}, "invalid rule action kind"},
51 {"invalidConditionNoConditions", OverrideKind, Rule{}, "invalid rule condition kind"},
52 {"contentNoCondition", ContentKind, Rule{}, "missing rule conditions"},
53 {"roomNoCondition", RoomKind, Rule{}, "missing rule conditions"},
54 {"senderNoCondition", SenderKind, Rule{}, "missing rule conditions"},
55 {"overrideNoPattern", OverrideKind, Rule{}, "missing content rule pattern"},
56 {"overrideEmptyConditions", OverrideKind, Rule{Conditions: []*Condition{}}, "missing rule conditions"},
57 }
58 for _, tst := range tsts {
59 t.Run(tst.Name, func(t *testing.T) {
60 errs := ValidateRule(tst.Kind, &tst.Rule)
61 for _, err := range errs {
62 t.Logf("Got error %#v", err)
63 if strings.Contains(err.Error(), tst.WantNoErrString) {
64 t.Errorf("errs: got %#v, want none containing %q", errs, tst.WantNoErrString)
65 }
66 }
67 })
68 }
69}
70
71func TestValidateActionNegatives(t *testing.T) {
72 tsts := []struct {

Callers

nothing calls this directly

Calls 3

ValidateRuleFunction · 0.85
RunMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected