Chore: Try to fix flaky reverse proxy test (#47957) (#47966)

(cherry picked from commit 0afc542998)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
This commit is contained in:
Grot (@grafanabot)
2022-04-20 16:38:41 +02:00
committed by GitHub
co-authored by Marcus Efraimsson
parent 9841f1d488
commit b37047eadb
+7 -1
View File
@@ -86,11 +86,12 @@ func TestReverseProxy(t *testing.T) {
t.Run("Error handling should convert status codes depending on what kind of error it is", func(t *testing.T) {
timedOutTransport := http.DefaultTransport.(*http.Transport)
timedOutTransport.ResponseHeaderTimeout = time.Nanosecond
timedOutTransport.ResponseHeaderTimeout = time.Millisecond
testCases := []struct {
desc string
transport http.RoundTripper
responseWaitTime time.Duration
expectedStatusCode int
}{
{
@@ -101,6 +102,7 @@ func TestReverseProxy(t *testing.T) {
{
desc: "Timed out request should return 504 Gateway timeout",
transport: timedOutTransport,
responseWaitTime: 100 * time.Millisecond,
expectedStatusCode: http.StatusGatewayTimeout,
},
{
@@ -113,6 +115,10 @@ func TestReverseProxy(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) {
upstream := newUpstreamServer(t, http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
if tc.responseWaitTime > 0 {
time.Sleep(tc.responseWaitTime)
}
w.WriteHeader(http.StatusOK)
}))
t.Cleanup(upstream.Close)