From af94d14e824c98d8680cdfb7d62e782c649c745a Mon Sep 17 00:00:00 2001 From: Matous Jobanek Date: Fri, 22 Mar 2024 08:45:58 +0100 Subject: [PATCH 1/4] fix 2.0: use default transport to mock http requests --- pkg/client/client.go | 14 +++++++++----- pkg/client/client_test.go | 5 +++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pkg/client/client.go b/pkg/client/client.go index 3ea0386..1aa9ae5 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -55,6 +55,14 @@ func AddToScheme() error { var DefaultNewClient = NewClient func NewClient(token, apiEndpoint string) (runtimeclient.Client, error) { + return NewClientWitTransport(token, apiEndpoint, &http.Transport{ + TLSClientConfig: &tls.Config{ + InsecureSkipVerify: true, // nolint: gosec + }, + }) +} + +func NewClientWitTransport(token, apiEndpoint string, transport http.RoundTripper) (runtimeclient.Client, error) { if err := AddToScheme(); err != nil { return nil, err } @@ -63,11 +71,7 @@ func NewClient(token, apiEndpoint string) (runtimeclient.Client, error) { return nil, err } - cfg.Transport = &http.Transport{ - TLSClientConfig: &tls.Config{ - InsecureSkipVerify: true, // nolint: gosec - }, - } + cfg.Transport = transport cfg.BearerToken = string(token) cfg.QPS = 40.0 cfg.Burst = 50 diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go index dcc4182..9cb4299 100644 --- a/pkg/client/client_test.go +++ b/pkg/client/client_test.go @@ -3,6 +3,7 @@ package client_test import ( "context" "fmt" + "net/http" "testing" toolchainv1alpha1 "github.com/codeready-toolchain/api/api/v1alpha1" @@ -26,14 +27,14 @@ import ( func TestNewClientOK(t *testing.T) { // given t.Cleanup(gock.OffAll) - gock.New("http://example.com"). + gock.New("https://example.com"). Get("api"). Persist(). Reply(200). BodyString("{}") // when - cl, err := client.NewClient("cool-token", "http://example.com") + cl, err := client.NewClientWitTransport("cool-token", "https://example.com", http.DefaultTransport) // then require.NoError(t, err) From a2a3c2fcafdf7ebb8eb0b16c95ae3a3f76261084 Mon Sep 17 00:00:00 2001 From: Matous Jobanek Date: Fri, 22 Mar 2024 09:04:34 +0100 Subject: [PATCH 2/4] NewClientWithTransport --- pkg/client/client.go | 4 ++-- pkg/client/client_test.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/client/client.go b/pkg/client/client.go index 1aa9ae5..03d106f 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -55,14 +55,14 @@ func AddToScheme() error { var DefaultNewClient = NewClient func NewClient(token, apiEndpoint string) (runtimeclient.Client, error) { - return NewClientWitTransport(token, apiEndpoint, &http.Transport{ + return NewClientWithTransport(token, apiEndpoint, &http.Transport{ TLSClientConfig: &tls.Config{ InsecureSkipVerify: true, // nolint: gosec }, }) } -func NewClientWitTransport(token, apiEndpoint string, transport http.RoundTripper) (runtimeclient.Client, error) { +func NewClientWithTransport(token, apiEndpoint string, transport http.RoundTripper) (runtimeclient.Client, error) { if err := AddToScheme(); err != nil { return nil, err } diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go index 9cb4299..d35f581 100644 --- a/pkg/client/client_test.go +++ b/pkg/client/client_test.go @@ -34,7 +34,7 @@ func TestNewClientOK(t *testing.T) { BodyString("{}") // when - cl, err := client.NewClientWitTransport("cool-token", "https://example.com", http.DefaultTransport) + cl, err := client.NewClientWithTransport("cool-token", "https://example.com", http.DefaultTransport) // then require.NoError(t, err) From 748394659b5e927b227cfce697482d6caeb95aea Mon Sep 17 00:00:00 2001 From: Matous Jobanek Date: Fri, 22 Mar 2024 11:03:15 +0100 Subject: [PATCH 3/4] use gock trasport --- pkg/client/client_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go index bb83673..917cc98 100644 --- a/pkg/client/client_test.go +++ b/pkg/client/client_test.go @@ -3,7 +3,6 @@ package client_test import ( "context" "fmt" - "net/http" "testing" toolchainv1alpha1 "github.com/codeready-toolchain/api/api/v1alpha1" @@ -34,7 +33,7 @@ func TestNewClientOK(t *testing.T) { BodyString("{}") // when - cl, err := client.NewClientWithTransport("cool-token", "https://example.com", http.DefaultTransport) + cl, err := client.NewClientWithTransport("cool-token", "https://example.com", gock.DefaultTransport) // then require.NoError(t, err) From 43a6e0e35a919c0eff72f856e21c9dd8213efd1c Mon Sep 17 00:00:00 2001 From: Matous Jobanek Date: Fri, 22 Mar 2024 11:06:39 +0100 Subject: [PATCH 4/4] use dummy server name, not existing one --- pkg/client/client_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go index 917cc98..017589e 100644 --- a/pkg/client/client_test.go +++ b/pkg/client/client_test.go @@ -26,14 +26,14 @@ import ( func TestNewClientOK(t *testing.T) { // given t.Cleanup(gock.OffAll) - gock.New("https://example.com"). + gock.New("https://some-dummy-example.com"). Get("api"). Persist(). Reply(200). BodyString("{}") // when - cl, err := client.NewClientWithTransport("cool-token", "https://example.com", gock.DefaultTransport) + cl, err := client.NewClientWithTransport("cool-token", "https://some-dummy-example.com", gock.DefaultTransport) // then require.NoError(t, err)