From 005e3891fed8c44d9eead86f5431f469d4421c22 Mon Sep 17 00:00:00 2001 From: Nils Date: Tue, 31 Oct 2023 00:31:59 +0100 Subject: [PATCH] fix linter issues --- .golangci.yml | 4 +++- examples/api/healthcheck/main.go | 13 +++++++++---- examples/api/nameapi/main.go | 2 +- examples/api/tests/api_test.go | 22 ++++++++++++++-------- wait.go | 4 +++- 5 files changed, 30 insertions(+), 15 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index e78d37e..1070748 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -37,4 +37,6 @@ linters: - unparam - unused - varcheck - fast: false \ No newline at end of file + fast: false + disable: + - paralleltest \ No newline at end of file diff --git a/examples/api/healthcheck/main.go b/examples/api/healthcheck/main.go index c61a8e2..9e11234 100644 --- a/examples/api/healthcheck/main.go +++ b/examples/api/healthcheck/main.go @@ -1,6 +1,7 @@ package main import ( + "context" "net/http" "os" "time" @@ -20,15 +21,19 @@ func getBaseURL() string { func main() { http.DefaultClient.Timeout = clientTimeout + ctx, cancel := context.WithTimeout(context.Background(), clientTimeout) + defer cancel() - r, err := http.DefaultClient.Get(getBaseURL()) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, getBaseURL(), nil) if err != nil { os.Exit(1) } - defer func() { _ = r.Body.Close() }() + resp, err := http.DefaultClient.Do(req) - if r.StatusCode != http.StatusOK { - os.Exit(unhealthyExitCode) + defer func() { _ = resp.Body.Close() }() + + if resp.StatusCode != http.StatusOK { + defer os.Exit(unhealthyExitCode) } } diff --git a/examples/api/nameapi/main.go b/examples/api/nameapi/main.go index 604665f..6abdec7 100644 --- a/examples/api/nameapi/main.go +++ b/examples/api/nameapi/main.go @@ -9,7 +9,7 @@ import ( var storage []string func main() { - err := http.ListenAndServe("0.0.0.0:8080", http.HandlerFunc( + err := http.ListenAndServe("0.0.0.0:8080", http.HandlerFunc( //nolint:gosec func(w http.ResponseWriter, r *http.Request) { switch r.Method { case http.MethodGet: diff --git a/examples/api/tests/api_test.go b/examples/api/tests/api_test.go index 11ce340..5c68e81 100644 --- a/examples/api/tests/api_test.go +++ b/examples/api/tests/api_test.go @@ -1,6 +1,7 @@ package tests import ( + "context" "fmt" "io" "net/http" @@ -15,7 +16,10 @@ const someName = "Kermit" // see examples/api/main.go:60 func TestApi(t *testing.T) { t.Logf("running tests against: %s", apiBaseURL()) - resp, err := http.Get(apiBaseURL()) + ctx := context.Background() + reqGET, err := http.NewRequestWithContext(ctx, http.MethodGet, apiBaseURL(), nil) + failOnError(t, err) + resp, err := http.DefaultClient.Do(reqGET) failOnError(t, err) defer func() { @@ -32,29 +36,31 @@ func TestApi(t *testing.T) { t.Fatalf("Did expect and empty result for get in the first call, but got: %v", string(content)) } - var req *http.Request - req, err = http.NewRequest("PUT", fmt.Sprintf("%s/%s", apiBaseURL(), someName), nil) + var reqPUT *http.Request + reqPUT, err = http.NewRequestWithContext(ctx, http.MethodPut, fmt.Sprintf("%s/%s", apiBaseURL(), someName), nil) failOnError(t, err) - resp, err = http.DefaultClient.Do(req) + resp1, err := http.DefaultClient.Do(reqPUT) failOnError(t, err) defer func() { - err := resp.Body.Close() + err := resp1.Body.Close() if err != nil { t.Fatalf("Error closing response body: %v", err) } }() expectedStatusCode := http.StatusOK - if resp.StatusCode != expectedStatusCode { + if resp1.StatusCode != expectedStatusCode { t.Fatalf("Expected status code to be %v, but got: %v", expectedStatusCode, resp.StatusCode) } - resp, err = http.Get(apiBaseURL()) + reqGET2, err := http.NewRequestWithContext(ctx, http.MethodGet, apiBaseURL(), nil) + failOnError(t, err) + resp2, err := http.DefaultClient.Do(reqGET2) failOnError(t, err) - content, err = io.ReadAll(resp.Body) + content, err = io.ReadAll(resp2.Body) failOnError(t, err) if string(content) != someName { diff --git a/wait.go b/wait.go index f5f00e3..87f84a0 100644 --- a/wait.go +++ b/wait.go @@ -64,7 +64,9 @@ func waitForContainerLog(ctx context.Context, search string, dockerClient *clien return err } - defer reader.Close() + defer func() { + _ = reader.Close() + }() var ( buffer = strings.Builder{}