From 5cd02e717bae7298cc2d2c33ffdfc62c250c9a2c Mon Sep 17 00:00:00 2001 From: Jake Sanders <jsand@google.com> Date: Fri, 3 Dec 2021 19:03:54 -0800 Subject: [PATCH] Correct & parallelize tests (#522) * ensure that the test HTTP handlers are called Signed-off-by: Jake Sanders <jsand@google.com> * parallelize HTTP server dependent tests Signed-off-by: Jake Sanders <jsand@google.com> --- pkg/client/rekor_client_test.go | 49 +++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/pkg/client/rekor_client_test.go b/pkg/client/rekor_client_test.go index 298f144..e7f09fe 100644 --- a/pkg/client/rekor_client_test.go +++ b/pkg/client/rekor_client_test.go @@ -25,16 +25,21 @@ import ( ) func TestAPIKey(t *testing.T) { + t.Parallel() + pkRequestReceived := false + logRequestReceived := false testServer := httptest.NewServer(http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { file := []byte{} switch { case strings.HasPrefix(r.URL.Path, "/api/v1/log/publicKey"): + pkRequestReceived = true if r.URL.Query().Get("apiKey") != "" { t.Errorf("API key sent but not expected: %v", r.URL.Query().Get("apiKey")) } case strings.HasPrefix(r.URL.Path, "/api/v1/log"): + logRequestReceived = true if r.URL.Query().Get("apiKey") == "" { t.Errorf("API key expected but not sent") } @@ -44,25 +49,42 @@ func TestAPIKey(t *testing.T) { })) defer testServer.Close() - viper.Set("api-key", "thisIsAnAPIKey") - client, err := GetRekorClient(testServer.URL) - if err != nil { - t.Error(err) - } - _, _ = client.Tlog.GetLogInfo(nil) + t.Run("GetLogInfo", func(t *testing.T) { + logRequestReceived = false + viper.Set("api-key", "thisIsAnAPIKey") + client, err := GetRekorClient(testServer.URL) + if err != nil { + t.Error(err) + } + _, _ = client.Tlog.GetLogInfo(nil) + if !logRequestReceived { + t.Fatal("no GetLogInfo requests were received") + } + }) + + t.Run("GetPublicKey", func(t *testing.T) { + pkRequestReceived = false + viper.Set("api-key", "") + client, err := GetRekorClient(testServer.URL) + if err != nil { + t.Error(err) + } + _, _ = client.Pubkey.GetPublicKey(nil) + if !pkRequestReceived { + t.Fatal("no GetPublicKey requests were received") + } + + }) - viper.Set("api-key", "") - client, err = GetRekorClient(testServer.URL) - if err != nil { - t.Error(err) - } - _, _ = client.Pubkey.GetPublicKey(nil) } func TestGetRekorClientWithOptions(t *testing.T) { + t.Parallel() expectedUserAgent := "test User-Agent" + requestReceived := false testServer := httptest.NewServer(http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { + requestReceived = true file := []byte{} got := r.UserAgent() @@ -79,4 +101,7 @@ func TestGetRekorClientWithOptions(t *testing.T) { t.Error(err) } _, _ = client.Tlog.GetLogInfo(nil) + if !requestReceived { + t.Fatal("no requests were received") + } } -- GitLab