MCPcopy Index your code
hub / github.com/cortexproject/cortex / TestAlertmanager

Function TestAlertmanager

integration/alertmanager_test.go:34–69  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

32 - name: dummy`
33
34func TestAlertmanager(t *testing.T) {
35 s, err := e2e.NewScenario(networkName)
36 require.NoError(t, err)
37 defer s.Close()
38
39 require.NoError(t, writeFileToSharedDir(s, "alertmanager_configs/user-1.yaml", []byte(cortexAlertmanagerUserConfigYaml)))
40
41 alertmanager := e2ecortex.NewAlertmanager(
42 "alertmanager",
43 mergeFlags(
44 AlertmanagerFlags(),
45 AlertmanagerLocalFlags(),
46 ),
47 "",
48 )
49 require.NoError(t, s.StartAndWaitReady(alertmanager))
50 require.NoError(t, alertmanager.WaitSumMetrics(e2e.Equals(1), "cortex_alertmanager_config_last_reload_successful"))
51 require.NoError(t, alertmanager.WaitSumMetrics(e2e.Greater(0), "cortex_alertmanager_config_hash"))
52
53 c, err := e2ecortex.NewClient("", "", alertmanager.HTTPEndpoint(), "", "user-1")
54 require.NoError(t, err)
55
56 cfg, err := c.GetAlertmanagerConfig(context.Background())
57 require.NoError(t, err)
58
59 // Ensure the returned status config matches alertmanager_test_fixtures/user-1.yaml
60 require.NotNil(t, cfg)
61 require.Equal(t, "example_receiver", cfg.Route.Receiver)
62 require.Len(t, cfg.Route.GroupByStr, 1)
63 require.Equal(t, "example_groupby", cfg.Route.GroupByStr[0])
64 require.Len(t, cfg.Receivers, 1)
65 require.Equal(t, "example_receiver", cfg.Receivers[0].Name)
66
67 // Ensure no service-specific metrics prefix is used by the wrong service.
68 assertServiceMetricsPrefixes(t, AlertManager, alertmanager)
69}
70
71func TestAlertmanagerWithUserIndexUpdater(t *testing.T) {
72 s, err := e2e.NewScenario(networkName)

Callers

nothing calls this directly

Calls 14

CloseMethod · 0.95
StartAndWaitReadyMethod · 0.95
GetAlertmanagerConfigMethod · 0.95
NewScenarioFunction · 0.92
NewAlertmanagerFunction · 0.92
EqualsFunction · 0.92
GreaterFunction · 0.92
NewClientFunction · 0.92
writeFileToSharedDirFunction · 0.85
HTTPEndpointMethod · 0.80
EqualMethod · 0.65

Tested by

no test coverage detected