api: use alerting headers (#95118)
* api: use alerting headers * improve code, add integration test * better comment * fixed test * merged tests
This commit is contained in:
@@ -91,7 +91,17 @@ func TestIntegrationLoki(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
u := fmt.Sprintf("http://admin:admin@%s/api/ds/query", grafanaListeningAddr)
|
||||
// nolint:gosec
|
||||
resp, err := http.Post(u, "application/json", buf1)
|
||||
req, err := http.NewRequest("POST", u, buf1)
|
||||
require.NoError(t, err)
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
req.Header.Set("X-Unspported-Header", "uh")
|
||||
req.Header.Set("Fromalert", "true")
|
||||
req.Header.Set("X-Rule-Name", "n1")
|
||||
req.Header.Set("X-Rule-Folder", "f1")
|
||||
req.Header.Set("X-Rule-Source", "s1")
|
||||
req.Header.Set("X-Rule-Type", "t1")
|
||||
req.Header.Set("X-Rule-Version", "v1")
|
||||
resp, err := http.DefaultClient.Do(req)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, http.StatusBadRequest, resp.StatusCode)
|
||||
t.Cleanup(func() {
|
||||
@@ -107,6 +117,13 @@ func TestIntegrationLoki(t *testing.T) {
|
||||
require.True(t, ok)
|
||||
require.Equal(t, "basicAuthUser", username)
|
||||
require.Equal(t, "basicAuthPassword", pwd)
|
||||
require.Equal(t, "", outgoingRequest.Header.Get("X-Unspported-Header"))
|
||||
require.Equal(t, "true", outgoingRequest.Header.Get("Fromalert"))
|
||||
require.Equal(t, "n1", outgoingRequest.Header.Get("X-Rule-Name"))
|
||||
require.Equal(t, "f1", outgoingRequest.Header.Get("X-Rule-Folder"))
|
||||
require.Equal(t, "s1", outgoingRequest.Header.Get("X-Rule-Source"))
|
||||
require.Equal(t, "t1", outgoingRequest.Header.Get("X-Rule-Type"))
|
||||
require.Equal(t, "v1", outgoingRequest.Header.Get("X-Rule-Version"))
|
||||
})
|
||||
|
||||
t.Run("should forward `X-Dashboard-Title` header but no `X-Panel-Title`", func(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user