As we reevaluate how to best support and maintain Staging Ref in the future, we encourage development teams using this environment to highlight their use cases in the following issue: https://gitlab.com/gitlab-com/gl-infra/software-delivery/framework/software-delivery-framework-issue-tracker/-/issues/36.

Skip to content
Snippets Groups Projects
Unverified Commit 55cd93ff authored by Ash McKenzie's avatar Ash McKenzie Committed by GitLab
Browse files

Merge branch 'ashmckenzie/fix-require-in-http-handlers' into 'main'

Fix 'go-require: do not use require in http handlers (testifylint)' linter errors

See merge request https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/1168



Merged-by: default avatarAsh McKenzie <amckenzie@gitlab.com>
Approved-by: default avatarJaviera Tapia <jtapia@gitlab.com>
Approved-by: default avatarVasilii Iakliushin <viakliushin@gitlab.com>
parents 6b65a4ca 5c2e8815
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -13,6 +13,7 @@ import (
"time"
"github.com/golang-jwt/jwt/v5"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitlab-shell/v14/client/testserver"
Loading
Loading
@@ -240,7 +241,7 @@ func buildRequests(t *testing.T, relativeURLRoot string) []testserver.TestReques
{
Path: "/api/v4/internal/hello",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodGet, r.Method)
assert.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, "Hello")
},
Loading
Loading
@@ -248,12 +249,12 @@ func buildRequests(t *testing.T, relativeURLRoot string) []testserver.TestReques
{
Path: "/api/v4/internal/post_endpoint",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodPost, r.Method)
assert.Equal(t, http.MethodPost, r.Method)
b, err := io.ReadAll(r.Body)
defer r.Body.Close()
require.NoError(t, err)
assert.NoError(t, err)
fmt.Fprint(w, "Echo: "+string(b))
},
Loading
Loading
Loading
Loading
@@ -10,6 +10,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitlab-shell/v14/client/testserver"
)
Loading
Loading
@@ -34,7 +35,7 @@ func TestBasicAuthSettings(t *testing.T) {
{
Path: "/api/v4/internal/get_endpoint",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodGet, r.Method)
assert.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, r.Header.Get("Authorization"))
},
Loading
Loading
@@ -42,7 +43,7 @@ func TestBasicAuthSettings(t *testing.T) {
{
Path: "/api/v4/internal/post_endpoint",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodPost, r.Method)
assert.Equal(t, http.MethodPost, r.Method)
fmt.Fprint(w, r.Header.Get("Authorization"))
},
Loading
Loading
@@ -82,7 +83,7 @@ func TestEmptyBasicAuthSettings(t *testing.T) {
{
Path: "/api/v4/internal/empty_basic_auth",
Handler: func(_ http.ResponseWriter, r *http.Request) {
require.Equal(t, "", r.Header.Get("Authorization"))
assert.Equal(t, "", r.Header.Get("Authorization"))
},
},
}
Loading
Loading
@@ -100,13 +101,13 @@ func TestRequestWithUserAgent(t *testing.T) {
{
Path: "/api/v4/internal/default_user_agent",
Handler: func(_ http.ResponseWriter, r *http.Request) {
require.Equal(t, defaultUserAgent, r.UserAgent())
assert.Equal(t, defaultUserAgent, r.UserAgent())
},
},
{
Path: "/api/v4/internal/override_user_agent",
Handler: func(_ http.ResponseWriter, r *http.Request) {
require.Equal(t, gitalyUserAgent, r.UserAgent())
assert.Equal(t, gitalyUserAgent, r.UserAgent())
},
},
}
Loading
Loading
Loading
Loading
@@ -8,6 +8,7 @@ import (
"path"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitlab-shell/v14/client/testserver"
"gitlab.com/gitlab-org/gitlab-shell/v14/internal/testhelper"
Loading
Loading
@@ -116,7 +117,7 @@ func setupWithRequests(t *testing.T, caFile, caPath, clientCAPath, clientCertPat
{
Path: "/api/v4/internal/hello",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodGet, r.Method)
assert.Equal(t, http.MethodGet, r.Method)
fmt.Fprint(w, "Hello")
},
Loading
Loading
Loading
Loading
@@ -21,6 +21,7 @@ import (
"github.com/mikesmitty/edkey"
"github.com/pires/go-proxyproto"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
gitalyClient "gitlab.com/gitlab-org/gitaly/v16/client"
pb "gitlab.com/gitlab-org/gitaly/v16/proto/go/gitalypb"
Loading
Loading
@@ -112,7 +113,7 @@ func startGitOverHTTPServer(t *testing.T) string {
switch r.URL.Query().Get("service") {
case "git-receive-pack":
stream, err := client.InfoRefsReceivePack(ctx, rpcRequest)
require.NoError(t, err)
assert.NoError(t, err)
reader = streamio.NewReader(func() ([]byte, error) {
resp, err := stream.Recv()
return resp.GetData(), err
Loading
Loading
@@ -122,17 +123,17 @@ func startGitOverHTTPServer(t *testing.T) string {
}
_, err := io.Copy(w, reader)
require.NoError(t, err)
assert.NoError(t, err)
},
},
{
Path: "/git-receive-pack",
Handler: func(_ http.ResponseWriter, r *http.Request) {
body, err := io.ReadAll(r.Body)
require.NoError(t, err)
assert.NoError(t, err)
defer r.Body.Close()
require.Equal(t, "0000", string(body))
assert.Equal(t, "0000", string(body))
},
},
}
Loading
Loading
@@ -185,7 +186,7 @@ func successAPI(t *testing.T, handlers ...customHandler) http.Handler {
response := buildAllowedResponse(t, "responses/allowed_without_console_messages.json")
_, err := fmt.Fprint(w, response)
require.NoError(t, err)
assert.NoError(t, err)
case "/api/v4/internal/shellhorse/git_audit_event":
w.WriteHeader(http.StatusOK)
return
Loading
Loading
@@ -495,7 +496,7 @@ func TestGeoGitReceivePackSuccess(t *testing.T) {
w.WriteHeader(300)
_, err := fmt.Fprint(w, response)
require.NoError(t, err)
assert.NoError(t, err)
},
}
client := runSSHD(t, successAPI(t, handler))
Loading
Loading
Loading
Loading
@@ -8,6 +8,7 @@ import (
"net/http"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitlab-shell/v14/client/testserver"
Loading
Loading
@@ -73,11 +74,11 @@ func TestLfsAuthenticateRequests(t *testing.T) {
Handler: func(w http.ResponseWriter, r *http.Request) {
b, err := io.ReadAll(r.Body)
defer r.Body.Close()
require.NoError(t, err)
assert.NoError(t, err)
var request *lfsauthenticate.Request
require.NoError(t, json.Unmarshal(b, &request))
require.Equal(t, request.Operation, operation)
assert.NoError(t, json.Unmarshal(b, &request))
assert.Equal(t, request.Operation, operation)
if request.UserID == userID {
body := map[string]interface{}{
Loading
Loading
@@ -86,7 +87,7 @@ func TestLfsAuthenticateRequests(t *testing.T) {
"repository_http_path": "https://gitlab.com/repo/path",
"expires_in": 1800,
}
require.NoError(t, json.NewEncoder(w).Encode(body))
assert.NoError(t, json.NewEncoder(w).Encode(body))
} else {
w.WriteHeader(http.StatusForbidden)
}
Loading
Loading
@@ -97,10 +98,10 @@ func TestLfsAuthenticateRequests(t *testing.T) {
Handler: func(w http.ResponseWriter, r *http.Request) {
b, err := io.ReadAll(r.Body)
defer r.Body.Close()
require.NoError(t, err)
assert.NoError(t, err)
var request *accessverifier.Request
require.NoError(t, json.Unmarshal(b, &request))
assert.NoError(t, json.Unmarshal(b, &request))
var glID string
if request.Username == "somename" {
Loading
Loading
@@ -119,7 +120,7 @@ func TestLfsAuthenticateRequests(t *testing.T) {
},
},
}
require.NoError(t, json.NewEncoder(w).Encode(body))
assert.NoError(t, json.NewEncoder(w).Encode(body))
},
},
}
Loading
Loading
Loading
Loading
@@ -17,6 +17,7 @@ import (
"time"
"github.com/git-lfs/pktline"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitlab-shell/v14/client/testserver"
"gitlab.com/gitlab-org/gitlab-shell/v14/internal/command/commandargs"
Loading
Loading
@@ -46,7 +47,7 @@ func setupWaitGroupForExecute(t *testing.T, cmd *Command) *sync.WaitGroup {
go func() {
_, err := cmd.Execute(context.Background())
require.NoError(t, err)
assert.NoError(t, err)
wg.Done()
}()
Loading
Loading
@@ -1159,7 +1160,7 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
default:
body = disallowed
}
require.NoError(t, json.NewEncoder(w).Encode(body))
assert.NoError(t, json.NewEncoder(w).Encode(body))
},
},
{
Loading
Loading
@@ -1167,10 +1168,10 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
Handler: func(w http.ResponseWriter, r *http.Request) {
b, err := io.ReadAll(r.Body)
defer r.Body.Close()
require.NoError(t, err)
assert.NoError(t, err)
var request *lfsauthenticate.Request
require.NoError(t, json.Unmarshal(b, &request))
assert.NoError(t, json.Unmarshal(b, &request))
if request.KeyID == "rw" {
body := map[string]interface{}{
"username": "john",
Loading
Loading
@@ -1178,7 +1179,7 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
"repository_http_path": fmt.Sprintf("%s/group/repo", url),
"expires_in": 1800,
}
require.NoError(t, json.NewEncoder(w).Encode(body))
assert.NoError(t, json.NewEncoder(w).Encode(body))
} else {
w.WriteHeader(http.StatusForbidden)
}
Loading
Loading
@@ -1187,7 +1188,7 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
{
Path: "/group/repo/info/lfs/objects/batch",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte("john:sometoken"))), r.Header.Get("Authorization"))
assert.Equal(t, fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte("john:sometoken"))), r.Header.Get("Authorization"))
var requestBody map[string]interface{}
json.NewDecoder(r.Body).Decode(&requestBody)
Loading
Loading
@@ -1214,7 +1215,7 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
}
}
case evenLargerFileOid:
require.Equal(t, evenLargerFileLen, int(reqObject["size"].(float64)))
assert.Equal(t, evenLargerFileLen, int(reqObject["size"].(float64)))
retObject["size"] = evenLargerFileLen
if op == "upload" {
retObject["actions"] = map[string]interface{}{
Loading
Loading
@@ -1247,29 +1248,29 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
{
Path: "/evil-url",
Handler: func(_ http.ResponseWriter, _ *http.Request) {
require.Fail(t, "An attacker accessed an evil URL")
assert.Fail(t, "An attacker accessed an evil URL")
},
},
{
Path: fmt.Sprintf("/group/repo/gitlab-lfs/objects/%s", largeFileOid),
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, "Basic 1234567890", r.Header.Get("Authorization"))
assert.Equal(t, "Basic 1234567890", r.Header.Get("Authorization"))
w.Write([]byte(largeFileContents))
},
},
{
Path: fmt.Sprintf("/group/repo/gitlab-lfs/objects/%s/%d", evenLargerFileOid, evenLargerFileLen),
Handler: func(_ http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodPut, r.Method)
require.Equal(t, "Basic 1234567890", r.Header.Get("Authorization"))
assert.Equal(t, http.MethodPut, r.Method)
assert.Equal(t, "Basic 1234567890", r.Header.Get("Authorization"))
body, _ := io.ReadAll(r.Body)
require.Equal(t, []byte(evenLargerFileContents), body)
assert.Equal(t, []byte(evenLargerFileContents), body)
},
},
{
Path: "/group/repo/info/lfs/locks/verify",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodPost, r.Method)
assert.Equal(t, http.MethodPost, r.Method)
requestJSON := &struct {
Cursor string `json:"cursor"`
Limit int `json:"limit"`
Loading
Loading
@@ -1277,7 +1278,7 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
Name string `json:"name"`
} `json:"ref"`
}{}
require.NoError(t, json.NewDecoder(r.Body).Decode(requestJSON))
assert.NoError(t, json.NewDecoder(r.Body).Decode(requestJSON))
bodyJSON := &struct {
Ours []*LockInfo `json:"ours,omitempty"`
Loading
Loading
@@ -1294,7 +1295,7 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
}
}
require.NoError(t, json.NewEncoder(w).Encode(bodyJSON))
assert.NoError(t, json.NewEncoder(w).Encode(bodyJSON))
},
},
{
Loading
Loading
@@ -1309,11 +1310,11 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
limit := 100
if r.URL.Query().Has("limit") {
l, err := strconv.Atoi(r.URL.Query().Get("limit"))
require.NoError(t, err)
assert.NoError(t, err)
limit = l
}
bodyJSON.Locks, bodyJSON.NextCursor = listLocks(r.URL.Query().Get("cursor"), limit, r.URL.Query().Get("refspec"), r.URL.Query().Get("id"), r.URL.Query().Get("path"))
require.NoError(t, json.NewEncoder(w).Encode(bodyJSON))
assert.NoError(t, json.NewEncoder(w).Encode(bodyJSON))
case http.MethodPost:
var body map[string]interface{}
reader := json.NewDecoder(r.Body)
Loading
Loading
@@ -1353,7 +1354,7 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
w.WriteHeader(http.StatusCreated)
case "/large/file/5":
ref := body["ref"].(map[string]interface{})
require.Equal(t, "refs/heads/main", ref["name"])
assert.Equal(t, "refs/heads/main", ref["name"])
response = map[string]interface{}{
"lock": map[string]interface{}{
"id": "lock5",
Loading
Loading
@@ -1379,10 +1380,10 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
{
Path: "/group/repo/info/lfs/locks/lock1/unlock",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodPost, r.Method)
assert.Equal(t, http.MethodPost, r.Method)
var body map[string]interface{}
require.NoError(t, json.NewDecoder(r.Body).Decode(&body))
require.Equal(t, map[string]interface{}{
assert.NoError(t, json.NewDecoder(r.Body).Decode(&body))
assert.Equal(t, map[string]interface{}{
"ref": map[string]interface{}{
"name": "refs/heads/main",
},
Loading
Loading
@@ -1406,10 +1407,10 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
{
Path: "/group/repo/info/lfs/locks/lock2/unlock",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodPost, r.Method)
assert.Equal(t, http.MethodPost, r.Method)
var body map[string]interface{}
require.NoError(t, json.NewDecoder(r.Body).Decode(&body))
require.Equal(t, map[string]interface{}{
assert.NoError(t, json.NewDecoder(r.Body).Decode(&body))
assert.Equal(t, map[string]interface{}{
"force": true,
}, body)
Loading
Loading
@@ -1430,10 +1431,10 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
{
Path: "/group/repo/info/lfs/locks/lock3/unlock",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodPost, r.Method)
assert.Equal(t, http.MethodPost, r.Method)
var body map[string]interface{}
require.NoError(t, json.NewDecoder(r.Body).Decode(&body))
require.Equal(t, map[string]interface{}{
assert.NoError(t, json.NewDecoder(r.Body).Decode(&body))
assert.Equal(t, map[string]interface{}{
"force": false,
}, body)
Loading
Loading
@@ -1448,10 +1449,10 @@ func setup(t *testing.T, keyID string, repo string, op string) (string, *Command
{
Path: "/group/repo/info/lfs/locks/lock4/unlock",
Handler: func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, http.MethodPost, r.Method)
assert.Equal(t, http.MethodPost, r.Method)
var body map[string]interface{}
require.NoError(t, json.NewDecoder(r.Body).Decode(&body))
require.Equal(t, map[string]interface{}{
assert.NoError(t, json.NewDecoder(r.Body).Decode(&body))
assert.Equal(t, map[string]interface{}{
"force": false,
}, body)
Loading
Loading
Loading
Loading
@@ -9,6 +9,7 @@ import (
"path"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
pb "gitlab.com/gitlab-org/gitaly/v16/proto/go/gitalypb"
"gitlab.com/gitlab-org/gitlab-shell/v14/client/testserver"
Loading
Loading
@@ -258,26 +259,26 @@ func setup(t *testing.T, userResponses, keyResponses map[string]testResponse) *C
Path: "/api/v4/internal/allowed",
Handler: func(w http.ResponseWriter, r *http.Request) {
b, err := io.ReadAll(r.Body)
require.NoError(t, err)
assert.NoError(t, err)
var requestBody *Request
require.NoError(t, json.Unmarshal(b, &requestBody))
assert.NoError(t, json.Unmarshal(b, &requestBody))
if tr, ok := userResponses[requestBody.Username]; ok {
w.WriteHeader(tr.status)
_, err := w.Write(tr.body)
require.NoError(t, err)
require.Equal(t, namespace, requestBody.NamespacePath)
assert.NoError(t, err)
assert.Equal(t, namespace, requestBody.NamespacePath)
} else if tr, ok := userResponses[requestBody.Krb5Principal]; ok {
w.WriteHeader(tr.status)
_, err := w.Write(tr.body)
require.NoError(t, err)
require.Equal(t, sshProtocol, requestBody.Protocol)
assert.NoError(t, err)
assert.Equal(t, sshProtocol, requestBody.Protocol)
} else if tr, ok := keyResponses[requestBody.KeyID]; ok {
w.WriteHeader(tr.status)
_, err := w.Write(tr.body)
require.NoError(t, err)
require.Equal(t, sshProtocol, requestBody.Protocol)
assert.NoError(t, err)
assert.Equal(t, sshProtocol, requestBody.Protocol)
}
},
},
Loading
Loading
@@ -298,11 +299,11 @@ func setupWithAPIInspector(t *testing.T, inspector func(*Request)) *Client {
Path: "/api/v4/internal/allowed",
Handler: func(_ http.ResponseWriter, r *http.Request) {
b, err := io.ReadAll(r.Body)
require.NoError(t, err)
assert.NoError(t, err)
var requestBody *Request
err = json.Unmarshal(b, &requestBody)
require.NoError(t, err)
assert.NoError(t, err)
inspector(requestBody)
},
Loading
Loading
Loading
Loading
@@ -6,7 +6,7 @@ import (
"net/http"
"testing"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/assert"
"gitlab.com/gitlab-org/gitlab-shell/v14/client/testserver"
)
Loading
Loading
@@ -22,7 +22,7 @@ func BuildDisallowedByAPIHandlers(t *testing.T) []testserver.TestRequestHandler
"message": "Disallowed by API call",
}
w.WriteHeader(http.StatusForbidden)
require.NoError(t, json.NewEncoder(w).Encode(body))
assert.NoError(t, json.NewEncoder(w).Encode(body))
},
},
}
Loading
Loading
@@ -60,7 +60,7 @@ func BuildAllowedWithGitalyHandlers(t *testing.T, gitalyAddress string) []testse
},
},
}
require.NoError(t, json.NewEncoder(w).Encode(body))
assert.NoError(t, json.NewEncoder(w).Encode(body))
},
},
}
Loading
Loading
@@ -87,21 +87,21 @@ func BuildAllowedWithCustomActionsHandlers(t *testing.T) []testserver.TestReques
},
}
w.WriteHeader(http.StatusMultipleChoices)
require.NoError(t, json.NewEncoder(w).Encode(body))
assert.NoError(t, json.NewEncoder(w).Encode(body))
},
},
{
Path: "/geo/proxy/info_refs",
Handler: func(w http.ResponseWriter, _ *http.Request) {
body := map[string]interface{}{"result": []byte("custom")}
require.NoError(t, json.NewEncoder(w).Encode(body))
assert.NoError(t, json.NewEncoder(w).Encode(body))
},
},
{
Path: "/geo/proxy/push",
Handler: func(w http.ResponseWriter, _ *http.Request) {
body := map[string]interface{}{"result": []byte("output")}
require.NoError(t, json.NewEncoder(w).Encode(body))
assert.NoError(t, json.NewEncoder(w).Encode(body))
},
},
}
Loading
Loading
client/client_test.go:24:2: var-naming: var defaultHttpOpts should be defaultHTTPOpts (revive)
client/client_test.go:114:3: expected-actual: need to reverse actual and expected values (testifylint)
client/client_test.go:136:30: response body must be closed (bodyclose)
client/client_test.go:142:31: response body must be closed (bodyclose)
client/client_test.go:150:30: response body must be closed (bodyclose)
client/client_test.go:156:31: response body must be closed (bodyclose)
client/client_test.go:164:30: response body must be closed (bodyclose)
client/client_test.go:170:31: response body must be closed (bodyclose)
client/client_test.go:182:72: unused-parameter: parameter 'token' seems to be unused, consider removing or renaming it as _ (revive)
client/client_test.go:243:5: go-require: do not use require in http handlers (testifylint)
client/client_test.go:251:5: go-require: do not use require in http handlers (testifylint)
client/client_test.go:256:5: go-require: do not use require in http handlers (testifylint)
client/client_test.go:275:41: unused-parameter: parameter 'r' seems to be unused, consider removing or renaming it as _ (revive)
client/client_test.go:286:18: unused-parameter: parameter 'w' seems to be unused, consider removing or renaming it as _ (revive)
client/client_test.go:304:73: unused-parameter: parameter 'r' seems to be unused, consider removing or renaming it as _ (revive)
client/client_test.go:316:21: response body must be closed (bodyclose)
client/client_test.go:25:2: var-naming: var defaultHttpOpts should be defaultHTTPOpts (revive)
client/client_test.go:115:3: expected-actual: need to reverse actual and expected values (testifylint)
client/client_test.go:137:30: response body must be closed (bodyclose)
client/client_test.go:143:31: response body must be closed (bodyclose)
client/client_test.go:151:30: response body must be closed (bodyclose)
client/client_test.go:157:31: response body must be closed (bodyclose)
client/client_test.go:165:30: response body must be closed (bodyclose)
client/client_test.go:171:31: response body must be closed (bodyclose)
client/client_test.go:183:72: unused-parameter: parameter 'token' seems to be unused, consider removing or renaming it as _ (revive)
client/client_test.go:276:41: unused-parameter: parameter 'r' seems to be unused, consider removing or renaming it as _ (revive)
client/client_test.go:287:18: unused-parameter: parameter 'w' seems to be unused, consider removing or renaming it as _ (revive)
client/client_test.go:305:73: unused-parameter: parameter 'r' seems to be unused, consider removing or renaming it as _ (revive)
client/client_test.go:317:21: response body must be closed (bodyclose)
client/httpclient.go:209:22: G115: integer overflow conversion uint64 -> int64 (gosec)
client/httpclient_test.go:37:5: go-require: do not use require in http handlers (testifylint)
client/httpclient_test.go:45:5: go-require: do not use require in http handlers (testifylint)
client/httpclient_test.go:85:5: go-require: do not use require in http handlers (testifylint)
client/httpclient_test.go:103:5: go-require: do not use require in http handlers (testifylint)
client/httpclient_test.go:109:5: go-require: do not use require in http handlers (testifylint)
client/httpsclient_test.go:62:4: expected-actual: need to reverse actual and expected values (testifylint)
client/httpsclient_test.go:105:24: response body must be closed (bodyclose)
client/httpsclient_test.go:108:5: expected-actual: need to reverse actual and expected values (testifylint)
client/httpsclient_test.go:119:5: go-require: do not use require in http handlers (testifylint)
client/httpsclient_test.go:63:4: expected-actual: need to reverse actual and expected values (testifylint)
client/httpsclient_test.go:106:24: response body must be closed (bodyclose)
client/httpsclient_test.go:109:5: expected-actual: need to reverse actual and expected values (testifylint)
client/testserver/gitalyserver.go:1:1: package-comments: should have a package comment (revive)
client/testserver/gitalyserver.go:21:6: exported: exported type TestGitalyServer should have comment or be unexported (revive)
client/testserver/gitalyserver.go:26:1: exported: exported method TestGitalyServer.SSHReceivePack should have comment or be unexported (revive)
Loading
Loading
@@ -47,12 +38,6 @@ cmd/gitlab-shell/main.go:48:15: Error return value of `fmt.Fprintln` is not chec
cmd/gitlab-shell/main.go:53:23: Error return value of `logCloser.Close` is not checked (errcheck)
cmd/gitlab-shell/main.go:60:14: Error return value of `fmt.Fprintf` is not checked (errcheck)
cmd/gitlab-shell/main.go:61:3: exitAfterDefer: os.Exit will exit, and `defer logCloser.Close()` will not run (gocritic)
cmd/gitlab-sshd/acceptance_test.go:115:6: go-require: do not use require in http handlers (testifylint)
cmd/gitlab-sshd/acceptance_test.go:125:5: go-require: do not use require in http handlers (testifylint)
cmd/gitlab-sshd/acceptance_test.go:132:5: go-require: do not use require in http handlers (testifylint)
cmd/gitlab-sshd/acceptance_test.go:135:5: go-require: do not use require in http handlers (testifylint)
cmd/gitlab-sshd/acceptance_test.go:188:4: go-require: do not use require in http handlers (testifylint)
cmd/gitlab-sshd/acceptance_test.go:498:4: go-require: do not use require in http handlers (testifylint)
internal/command/authorizedkeys/authorized_keys.go:29: internal/command/authorizedkeys/authorized_keys.go:29: Line contains TODO/BUG/FIXME/NOTE/OPTIMIZE/HACK: "TODO: Log this event once we have a cons..." (godox)
internal/command/command.go:1:1: package-comments: should have a package comment (revive)
internal/command/command.go:15:6: exported: exported type Command should have comment or be unexported (revive)
Loading
Loading
@@ -91,13 +76,6 @@ internal/command/commandargs/shell.go:69:6: var-naming: var keyId should be keyI
internal/command/commandargs/shell.go:98:6: var-naming: func tryParseKeyId should be tryParseKeyID (revive)
internal/command/commandargs/shell.go:106:1: exported: exported method Shell.ParseCommand should have comment or be unexported (revive)
internal/command/lfsauthenticate/lfsauthenticate.go:87:13: Error return value of `fmt.Fprintf` is not checked (errcheck)
internal/command/lfsauthenticate/lfsauthenticate_test.go:76:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfsauthenticate/lfsauthenticate_test.go:79:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfsauthenticate/lfsauthenticate_test.go:80:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfsauthenticate/lfsauthenticate_test.go:89:6: go-require: do not use require in http handlers (testifylint)
internal/command/lfsauthenticate/lfsauthenticate_test.go:100:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfsauthenticate/lfsauthenticate_test.go:103:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfsauthenticate/lfsauthenticate_test.go:122:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/gitlab_backend.go:40:6: exported: exported type GitlabAuthentication should have comment or be unexported (revive)
internal/command/lfstransfer/gitlab_backend.go:45:6: exported: exported type GitlabBackend should have comment or be unexported (revive)
internal/command/lfstransfer/gitlab_backend.go:60:1: exported: exported function NewGitlabBackend should have comment or be unexported (revive)
Loading
Loading
@@ -111,38 +89,8 @@ internal/command/lfstransfer/lfstransfer.go:32: Function 'Execute' is too long (
internal/command/lfstransfer/lfstransfer.go:52:20: context-keys-type: should not use basic type string as key in context.WithValue (revive)
internal/command/lfstransfer/lfstransfer.go:114:9: composites: gitlab.com/gitlab-org/gitlab-shell/v14/internal/command/shared/accessverifier.Command struct literal uses unkeyed fields (govet)
internal/command/lfstransfer/lfstransfer_test.go:19:2: import 'github.com/git-lfs/pktline' is not allowed from list 'test' (depguard)
internal/command/lfstransfer/lfstransfer_test.go:49:3: go-require: require must only be used in the goroutine running the test function (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:277:2: declaration has 3 blank identifiers (dogsled)
internal/command/lfstransfer/lfstransfer_test.go:1113:1: cognitive complexity 33 of func `setup` is high (> 20) (gocognit)
internal/command/lfstransfer/lfstransfer_test.go:1162:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1170:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1173:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1181:6: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1190:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1217:7: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1250:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1256:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1263:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1264:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1266:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1272:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1280:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1297:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1312:7: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1316:6: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1356:7: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1382:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1384:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1385:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1409:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1411:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1412:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1433:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1435:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1436:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1451:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1453:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:1454:5: go-require: do not use require in http handlers (testifylint)
internal/command/lfstransfer/lfstransfer_test.go:278:2: declaration has 3 blank identifiers (dogsled)
internal/command/lfstransfer/lfstransfer_test.go:1114:1: cognitive complexity 33 of func `setup` is high (> 20) (gocognit)
internal/command/readwriter/readwriter.go:1:1: package-comments: should have a package comment (revive)
internal/command/readwriter/readwriter.go:7:6: exported: exported type ReadWriter should have comment or be unexported (revive)
internal/command/receivepack/gitalycall_test.go:24:4: S1038: should use t.Logf(...) instead of t.Log(fmt.Sprintf(...)) (gosimple)
Loading
Loading
@@ -181,16 +129,6 @@ internal/gitaly/gitaly.go:34:6: exported: exported type Client should have comme
internal/gitaly/gitaly.go:40:1: exported: exported method Client.InitSidechannelRegistry should have comment or be unexported (revive)
internal/gitaly/gitaly.go:44:1: exported: exported method Client.GetConnection should have comment or be unexported (revive)
internal/gitaly/gitaly.go:56:5: shadow: declaration of "conn" shadows declaration at line 46 (govet)
internal/gitlabnet/accessverifier/client_test.go:261:5: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/accessverifier/client_test.go:264:5: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/accessverifier/client_test.go:269:6: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/accessverifier/client_test.go:270:6: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/accessverifier/client_test.go:274:6: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/accessverifier/client_test.go:275:6: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/accessverifier/client_test.go:279:6: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/accessverifier/client_test.go:280:6: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/accessverifier/client_test.go:301:5: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/accessverifier/client_test.go:305:5: go-require: do not use require in http handlers (testifylint)
internal/gitlabnet/client.go:1:1: package-comments: should have a package comment (revive)
internal/gitlabnet/client.go:14:1: exported: exported function GetClient should have comment or be unexported (revive)
internal/gitlabnet/client.go:21:15: ST1005: error strings should not be capitalized (stylecheck)
Loading
Loading
@@ -200,8 +138,3 @@ internal/gitlabnet/healthcheck/client_test.go:19:41: unused-parameter: parameter
internal/gitlabnet/lfstransfer/client.go:137: internal/gitlabnet/lfstransfer/client.go:137: Line contains TODO/BUG/FIXME/NOTE/OPTIMIZE/HACK: "FIXME: This causes tests to fail" (godox)
internal/sshd/server_config_test.go:5:2: SA1019: "crypto/dsa" has been deprecated since Go 1.16 because it shouldn't be used: DSA is a legacy algorithm, and modern alternatives such as Ed25519 (implemented by package crypto/ed25519) should be used instead. Keys with 1024-bit moduli (L1024N160 parameters) are cryptographically weak, while bigger keys are not widely supported. Note that FIPS 186-5 no longer approves DSA for signature generation. (staticcheck)
internal/sshd/sshd.go:268:6: func `extractDataFromContext` is unused (unused)
internal/testhelper/requesthandlers/requesthandlers.go:25:5: go-require: do not use require in http handlers (testifylint)
internal/testhelper/requesthandlers/requesthandlers.go:63:5: go-require: do not use require in http handlers (testifylint)
internal/testhelper/requesthandlers/requesthandlers.go:90:5: go-require: do not use require in http handlers (testifylint)
internal/testhelper/requesthandlers/requesthandlers.go:97:5: go-require: do not use require in http handlers (testifylint)
internal/testhelper/requesthandlers/requesthandlers.go:104:5: go-require: do not use require in http handlers (testifylint)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment