mirror of
https://github.com/prymitive/karma
synced 2026-05-17 04:16:42 +00:00
This makes the code a little bit cleaner and safer, as it moves lots of locks into the store package, but it could still use some work.
58 lines
1.2 KiB
Go
58 lines
1.2 KiB
Go
package store_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/cloudflare/unsee/models"
|
|
"github.com/cloudflare/unsee/store"
|
|
)
|
|
|
|
type silenceTest struct {
|
|
silences map[string]models.UnseeSilence
|
|
silenceId string
|
|
found bool
|
|
}
|
|
|
|
var silenceTests = []silenceTest{
|
|
silenceTest{
|
|
silences: map[string]models.UnseeSilence{
|
|
"1": models.UnseeSilence{},
|
|
},
|
|
silenceId: "1",
|
|
found: true,
|
|
},
|
|
silenceTest{
|
|
silences: map[string]models.UnseeSilence{
|
|
"1": models.UnseeSilence{},
|
|
"2": models.UnseeSilence{},
|
|
"3": models.UnseeSilence{},
|
|
},
|
|
silenceId: "2",
|
|
found: true,
|
|
},
|
|
silenceTest{
|
|
silences: map[string]models.UnseeSilence{},
|
|
silenceId: "1",
|
|
found: false,
|
|
},
|
|
silenceTest{
|
|
silences: map[string]models.UnseeSilence{
|
|
"2": models.UnseeSilence{},
|
|
"3": models.UnseeSilence{},
|
|
},
|
|
silenceId: "1",
|
|
found: false,
|
|
},
|
|
}
|
|
|
|
func TestSilences(t *testing.T) {
|
|
for _, testCase := range silenceTests {
|
|
store.Store.SetSilences(testCase.silences)
|
|
silence := store.Store.GetSilence(testCase.silenceId)
|
|
found := silence != nil
|
|
if found != testCase.found {
|
|
t.Errorf("GetSilence('%s') returned %v, %v was expected", testCase.silenceId, found, testCase.found)
|
|
}
|
|
}
|
|
}
|