moira
/
tags_test.go
72 строки · 1.8 Кб
1package moira
2
3import (
4. "github.com/smartystreets/goconvey/convey"
5"testing"
6)
7
8func TestGetEventTags(testing *testing.T) {
9Convey("Progress should contains progress tag", testing, func() {
10event := NotificationEvent{
11State: "OK",
12OldState: "WARN",
13}
14expected := []string{"OK", "WARN", "PROGRESS"}
15actual := event.GetEventTags()
16So(actual, ShouldResemble, expected)
17})
18
19Convey("Degradation should contains degradation tag", testing, func() {
20Convey("WARN -> OK", func() {
21event := NotificationEvent{
22State: "WARN",
23OldState: "OK",
24}
25expected := []string{"WARN", "OK", "DEGRADATION"}
26actual := event.GetEventTags()
27So(actual, ShouldResemble, expected)
28})
29
30Convey("ERROR -> WARN", func() {
31event := NotificationEvent{
32State: "ERROR",
33OldState: "WARN",
34}
35expected := []string{"ERROR", "WARN", "DEGRADATION"}
36actual := event.GetEventTags()
37So(actual, ShouldResemble, expected)
38})
39})
40
41Convey("High degradation should contains HIGH DEGRADATION tag", testing, func() {
42Convey("ERROR -> OK", func() {
43event := NotificationEvent{
44State: "ERROR",
45OldState: "OK",
46}
47expected := []string{"ERROR", "OK", "HIGH DEGRADATION", "DEGRADATION"}
48actual := event.GetEventTags()
49So(actual, ShouldResemble, expected)
50})
51
52Convey("NODATA -> ERROR", func() {
53event := NotificationEvent{
54State: "NODATA",
55OldState: "ERROR",
56}
57expected := []string{"NODATA", "ERROR", "HIGH DEGRADATION", "DEGRADATION"}
58actual := event.GetEventTags()
59So(actual, ShouldResemble, expected)
60})
61})
62
63Convey("Non-weighted test tag should contains test tag", testing, func() {
64event := NotificationEvent{
65State: "TEST",
66OldState: "TEST",
67}
68expected := []string{"TEST", "TEST"}
69actual := event.GetEventTags()
70So(actual, ShouldResemble, expected)
71})
72}
73