summaryrefslogtreecommitdiff
path: root/client/client_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'client/client_test.go')
-rw-r--r--client/client_test.go60
1 files changed, 17 insertions, 43 deletions
diff --git a/client/client_test.go b/client/client_test.go
index e48bb67..bf27ef9 100644
--- a/client/client_test.go
+++ b/client/client_test.go
@@ -7,7 +7,6 @@ import (
"io"
"net/http"
"net/http/httptest"
- "os"
"path"
"strings"
"testing"
@@ -306,46 +305,21 @@ func buildRequests(t *testing.T, relativeURLRoot string) []testserver.TestReques
return requests
}
-func TestRetryableHTTPFeatureToggle(t *testing.T) {
- t.Run("retryable http off", func(t *testing.T) {
- os.Setenv("FF_GITLAB_SHELL_RETRYABLE_HTTP", "0")
- reqAttempts := 0
- srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- reqAttempts++
- w.WriteHeader(500)
- }))
- defer srv.Close()
-
- httpClient, err := NewHTTPClientWithOpts(srv.URL, "/", "", "", 1, defaultHttpOpts)
- require.NoError(t, err)
- require.NotNil(t, httpClient.HTTPClient)
- require.Nil(t, httpClient.RetryableHTTP)
- client, err := NewGitlabNetClient("", "", "", httpClient)
- require.NoError(t, err)
-
- _, err = client.Get(context.Background(), "/")
- require.EqualError(t, err, "Internal API error (500)")
- require.Equal(t, 1, reqAttempts)
- })
-
- t.Run("retryable http on", func(t *testing.T) {
- os.Setenv("FF_GITLAB_SHELL_RETRYABLE_HTTP", "1")
- reqAttempts := 0
- srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- reqAttempts++
- w.WriteHeader(500)
- }))
- defer srv.Close()
-
- httpClient, err := NewHTTPClientWithOpts(srv.URL, "/", "", "", 1, defaultHttpOpts)
- require.NoError(t, err)
- require.Nil(t, httpClient.HTTPClient)
- require.NotNil(t, httpClient.RetryableHTTP)
- client, err := NewGitlabNetClient("", "", "", httpClient)
- require.NoError(t, err)
-
- _, err = client.Get(context.Background(), "/")
- require.EqualError(t, err, "Internal API unreachable")
- require.Equal(t, 3, reqAttempts)
- })
+func TestRetryOnFailure(t *testing.T) {
+ reqAttempts := 0
+ srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ reqAttempts++
+ w.WriteHeader(500)
+ }))
+ defer srv.Close()
+
+ httpClient, err := NewHTTPClientWithOpts(srv.URL, "/", "", "", 1, defaultHttpOpts)
+ require.NoError(t, err)
+ require.NotNil(t, httpClient.RetryableHTTP)
+ client, err := NewGitlabNetClient("", "", "", httpClient)
+ require.NoError(t, err)
+
+ _, err = client.Get(context.Background(), "/")
+ require.EqualError(t, err, "Internal API unreachable")
+ require.Equal(t, 3, reqAttempts)
}