Documentation ¶
Index ¶
- func At(ts float64) float64
- type AcceptanceOpts
- type AcceptanceTest
- type Alertmanager
- func (am *Alertmanager) DelSilence(at float64, sil *TestSilence)
- func (am *Alertmanager) Push(at float64, alerts ...*TestAlert)
- func (am *Alertmanager) Reload()
- func (am *Alertmanager) SetSilence(at float64, sil *TestSilence)
- func (am *Alertmanager) Start()
- func (am *Alertmanager) Terminate()
- func (am *Alertmanager) UpdateConfig(conf string)
- type Collector
- type Interval
- type MockWebhook
- type TestAlert
- type TestSilence
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AcceptanceOpts ¶
AcceptanceOpts defines configuration paramters for an acceptance test.
type AcceptanceTest ¶
AcceptanceTest provides declarative definition of given inputs and expected output of an Alertmanager setup.
func NewAcceptanceTest ¶
func NewAcceptanceTest(t *testing.T, opts *AcceptanceOpts) *AcceptanceTest
NewAcceptanceTest returns a new acceptance test with the base time set to the current time.
func (*AcceptanceTest) Alertmanager ¶
func (t *AcceptanceTest) Alertmanager(conf string) *Alertmanager
Alertmanager returns a new structure that allows starting an instance of Alertmanager on a random port.
func (*AcceptanceTest) Collector ¶
func (t *AcceptanceTest) Collector(name string) *Collector
Collector returns a new collector bound to the test instance.
func (*AcceptanceTest) Do ¶
func (t *AcceptanceTest) Do(at float64, f func())
Do sets the given function to be executed at the given time.
func (*AcceptanceTest) Run ¶
func (t *AcceptanceTest) Run()
Run starts all Alertmanagers and runs queries against them. It then checks whether all expected notifications have arrived at the expected receiver.
type Alertmanager ¶
type Alertmanager struct {
// contains filtered or unexported fields
}
Alertmanager encapsulates an Alertmanager process and allows declaring alerts being pushed to it at fixed points in time.
func (*Alertmanager) DelSilence ¶
func (am *Alertmanager) DelSilence(at float64, sil *TestSilence)
DelSilence deletes the silence with the sid at the given time.
func (*Alertmanager) Push ¶
func (am *Alertmanager) Push(at float64, alerts ...*TestAlert)
Push declares alerts that are to be pushed to the Alertmanager server at a relative point in time.
func (*Alertmanager) Reload ¶
func (am *Alertmanager) Reload()
Reload sends the reloading signal to the Alertmanager process.
func (*Alertmanager) SetSilence ¶
func (am *Alertmanager) SetSilence(at float64, sil *TestSilence)
SetSilence updates or creates the given Silence.
func (*Alertmanager) Start ¶
func (am *Alertmanager) Start()
Start the alertmanager and wait until it is ready to receive.
func (*Alertmanager) Terminate ¶
func (am *Alertmanager) Terminate()
Terminate kills the underlying Alertmanager process and remove intermediate data.
func (*Alertmanager) UpdateConfig ¶
func (am *Alertmanager) UpdateConfig(conf string)
UpdateConfig rewrites the configuration file for the Alertmanager. It does not initiate config reloading.
type Collector ¶
type Collector struct {
// contains filtered or unexported fields
}
Collector gathers alerts received by a notification receiver and verifies whether all arrived and within the correct time boundaries.
type Interval ¶
type Interval struct {
// contains filtered or unexported fields
}
type MockWebhook ¶
type MockWebhook struct { Func func(timestamp float64) bool // contains filtered or unexported fields }
func NewWebhook ¶
func NewWebhook(c *Collector) *MockWebhook
func (*MockWebhook) Address ¶
func (ws *MockWebhook) Address() string
func (*MockWebhook) ServeHTTP ¶
func (ws *MockWebhook) ServeHTTP(w http.ResponseWriter, req *http.Request)
type TestAlert ¶
type TestAlert struct {
// contains filtered or unexported fields
}
TestAlert models a model.Alert with relative times.
func Alert ¶
func Alert(keyval ...interface{}) *TestAlert
Alert creates a new alert declaration with the given key/value pairs as identifying labels.
type TestSilence ¶
type TestSilence struct { ID string // contains filtered or unexported fields }
TestSilence models a model.Silence with relative times.
func Silence ¶
func Silence(start, end float64) *TestSilence
Silence creates a new TestSilence active for the relative interval given by start and end.
func (*TestSilence) Match ¶
func (s *TestSilence) Match(v ...string) *TestSilence
Match adds a new plain matcher to the silence.
func (*TestSilence) MatchRE ¶
func (s *TestSilence) MatchRE(v ...string) *TestSilence
MatchRE adds a new regex matcher to the silence