Skip to content

Commit

Permalink
Uncomment tests
Browse files Browse the repository at this point in the history
Signed-off-by: George Robinson <[email protected]>
  • Loading branch information
grobinson-grafana committed Mar 26, 2024
1 parent 729ab7c commit 239088b
Showing 1 changed file with 59 additions and 60 deletions.
119 changes: 59 additions & 60 deletions notify/util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,16 @@ package notify

import (
"bytes"
"context"
"fmt"
"io"
"net/http"
"net/http/httptest"
"path"
"reflect"
"runtime"
"testing"
"time"

"github.com/stretchr/testify/require"
)
Expand Down Expand Up @@ -217,63 +220,59 @@ func TestRetrierCheck(t *testing.T) {
}
}

//func TestPostJSON(t *testing.T) {
// tests := []struct {
// name string
// headers http.Header
// expectedHeaders http.Header
// data io.Reader
// }{{
// name: "No headers",
// headers: nil,
// expectedHeaders: http.Header{
// "Accept-Encoding": []string{"gzip"},
// "Content-Length": []string{"13"},
// "Content-Type": []string{"application/json"},
// "User-Agent": []string{"Alertmanager/"},
// },
// data: strings.NewReader("Hello, world!"),
// }, {
// name: "With headers",
// headers: http.Header{
// "X-Test-PostJSON": []string{"true"},
// },
// expectedHeaders: http.Header{
// "Accept-Encoding": []string{"gzip"},
// "Content-Length": []string{"13"},
// "Content-Type": []string{"application/json"},
// "User-Agent": []string{"Alertmanager/"},
// "X-Test-PostJSON": []string{"true"},
// },
// data: strings.NewReader("Hello, world!"),
// }}
// for _, test := range tests {
// t.Run(test.name, func(t *testing.T) {
// var (
// receivedHeaders http.Header
// receivedData []byte
// )
// // Start an HTTP test server to record the headers and data from the request.
// s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// receivedHeaders = r.Header
// receivedData, _ = io.ReadAll(r.Body)
// }))
// defer s.Close()
//
// ctx, cancelFunc := context.WithTimeout(context.Background(), 5*time.Second)
// defer cancelFunc()
//
// resp, err := PostJSON(ctx, http.DefaultClient, s.URL, test.headers, test.data)
// require.NoError(t, err)
// require.NoError(t, resp.Body.Close())
// require.Equal(t, http.StatusOK, resp.StatusCode)
//
// require.Equal(t, test.expectedHeaders, receivedHeaders)
//
// b, err := io.ReadAll(test.data)
// require.NoError(t, err)
// require.Equal(t, b, receivedData)
// })
// }
//
//}
func TestPostJSON(t *testing.T) {
tests := []struct {
name string
headers http.Header
expectedHeaders http.Header
data []byte
}{{
name: "No headers",
headers: nil,
expectedHeaders: http.Header{
"Accept-Encoding": []string{"gzip"},
"Content-Length": []string{"13"},
"Content-Type": []string{"application/json"},
"User-Agent": []string{"Alertmanager/"},
},
data: []byte("Hello, world!"),
}, {
name: "With headers",
headers: http.Header{
"X-Test-PostJSON": []string{"true"},
},
expectedHeaders: http.Header{
"Accept-Encoding": []string{"gzip"},
"Content-Length": []string{"13"},
"Content-Type": []string{"application/json"},
"User-Agent": []string{"Alertmanager/"},
"X-Test-Postjson": []string{"true"},
},
data: []byte("Hello, world!"),
}}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
var (
receivedHeaders http.Header
receivedData []byte
)
// Start an HTTP test server to record the headers and data from the request.
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
receivedHeaders = r.Header
receivedData, _ = io.ReadAll(r.Body)
}))
defer s.Close()

ctx, cancelFunc := context.WithTimeout(context.Background(), 5*time.Second)
defer cancelFunc()

resp, err := PostJSON(ctx, http.DefaultClient, s.URL, test.headers, bytes.NewReader(test.data))
require.NoError(t, err)
require.NoError(t, resp.Body.Close())
require.Equal(t, http.StatusOK, resp.StatusCode)

require.Equal(t, test.expectedHeaders, receivedHeaders)
require.Equal(t, test.data, receivedData)
})
}
}

0 comments on commit 239088b

Please sign in to comment.