Commit a0032b72 authored by Quang-Minh Nguyen's avatar Quang-Minh Nguyen

Bump Gitaly client version for workhorse

parent afc46c74
...@@ -230,7 +230,7 @@ func TestAllowedGetGitArchiveOldPayload(t *testing.T) { ...@@ -230,7 +230,7 @@ func TestAllowedGetGitArchiveOldPayload(t *testing.T) {
// Create the repository in the Gitaly server // Create the repository in the Gitaly server
apiResponse := realGitalyOkBody(t) apiResponse := realGitalyOkBody(t)
repo := apiResponse.Repository repo := &apiResponse.Repository
require.NoError(t, ensureGitalyRepository(t, apiResponse)) require.NoError(t, ensureGitalyRepository(t, apiResponse))
archivePath := path.Join(scratchDir, "my/path") archivePath := path.Join(scratchDir, "my/path")
......
...@@ -3,11 +3,11 @@ module gitlab.com/gitlab-org/gitlab/workhorse ...@@ -3,11 +3,11 @@ module gitlab.com/gitlab-org/gitlab/workhorse
go 1.16 go 1.16
require ( require (
github.com/Azure/azure-storage-blob-go v0.11.1-0.20201209121048-6df5d9af221d github.com/Azure/azure-storage-blob-go v0.13.0
github.com/BurntSushi/toml v0.3.1 github.com/BurntSushi/toml v0.3.1
github.com/FZambia/sentinel v1.0.0 github.com/FZambia/sentinel v1.0.0
github.com/alecthomas/chroma v0.7.3 github.com/alecthomas/chroma v0.7.3
github.com/aws/aws-sdk-go v1.37.0 github.com/aws/aws-sdk-go v1.38.35
github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 // indirect github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 // indirect
github.com/disintegration/imaging v1.6.2 github.com/disintegration/imaging v1.6.2
github.com/getsentry/raven-go v0.2.0 github.com/getsentry/raven-go v0.2.0
...@@ -28,14 +28,14 @@ require ( ...@@ -28,14 +28,14 @@ require (
github.com/sirupsen/logrus v1.8.1 github.com/sirupsen/logrus v1.8.1
github.com/smartystreets/goconvey v1.6.4 github.com/smartystreets/goconvey v1.6.4
github.com/stretchr/testify v1.7.0 github.com/stretchr/testify v1.7.0
gitlab.com/gitlab-org/gitaly/v14 v14.0.0-rc1 gitlab.com/gitlab-org/gitaly/v14 v14.3.0-rc2.0.20211007055622-df7dadcc3f74
gitlab.com/gitlab-org/labkit v1.6.0 gitlab.com/gitlab-org/labkit v1.6.0
gocloud.dev v0.21.1-0.20201223184910-5094f54ed8bb gocloud.dev v0.23.0
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4 golang.org/x/net v0.0.0-20210505214959-0714010a04ed
golang.org/x/tools v0.1.0 golang.org/x/tools v0.1.0
google.golang.org/grpc v1.37.0 google.golang.org/grpc v1.38.0
gopkg.in/DataDog/dd-trace-go.v1 v1.31.0 // indirect gopkg.in/DataDog/dd-trace-go.v1 v1.31.0 // indirect
honnef.co/go/tools v0.1.3 honnef.co/go/tools v0.1.3
) )
This diff is collapsed.
...@@ -102,11 +102,11 @@ func TestUploadHandlerSendingToExternalStorage(t *testing.T) { ...@@ -102,11 +102,11 @@ func TestUploadHandlerSendingToExternalStorage(t *testing.T) {
tests := []struct { tests := []struct {
name string name string
preauth api.Response preauth *api.Response
}{ }{
{ {
name: "ObjectStore Upload", name: "ObjectStore Upload",
preauth: api.Response{ preauth: &api.Response{
RemoteObject: api.RemoteObject{ RemoteObject: api.RemoteObject{
StoreURL: storeServer.URL + "/url/put" + qs, StoreURL: storeServer.URL + "/url/put" + qs,
ID: "store-id", ID: "store-id",
...@@ -145,7 +145,7 @@ func TestUploadHandlerSendingToExternalStorageAndStorageServerUnreachable(t *tes ...@@ -145,7 +145,7 @@ func TestUploadHandlerSendingToExternalStorageAndStorageServerUnreachable(t *tes
t.Fatal("it should not be called") t.Fatal("it should not be called")
} }
authResponse := api.Response{ authResponse := &api.Response{
TempPath: tempPath, TempPath: tempPath,
RemoteObject: api.RemoteObject{ RemoteObject: api.RemoteObject{
StoreURL: "http://localhost:12323/invalid/url", StoreURL: "http://localhost:12323/invalid/url",
...@@ -171,7 +171,7 @@ func TestUploadHandlerSendingToExternalStorageAndInvalidURLIsUsed(t *testing.T) ...@@ -171,7 +171,7 @@ func TestUploadHandlerSendingToExternalStorageAndInvalidURLIsUsed(t *testing.T)
t.Fatal("it should not be called") t.Fatal("it should not be called")
} }
authResponse := api.Response{ authResponse := &api.Response{
TempPath: tempPath, TempPath: tempPath,
RemoteObject: api.RemoteObject{ RemoteObject: api.RemoteObject{
StoreURL: "htt:////invalid-url", StoreURL: "htt:////invalid-url",
...@@ -203,7 +203,7 @@ func TestUploadHandlerSendingToExternalStorageAndItReturnsAnError(t *testing.T) ...@@ -203,7 +203,7 @@ func TestUploadHandlerSendingToExternalStorageAndItReturnsAnError(t *testing.T)
storeServer := httptest.NewServer(storeServerMux) storeServer := httptest.NewServer(storeServerMux)
defer storeServer.Close() defer storeServer.Close()
authResponse := api.Response{ authResponse := &api.Response{
RemoteObject: api.RemoteObject{ RemoteObject: api.RemoteObject{
StoreURL: storeServer.URL + "/url/put", StoreURL: storeServer.URL + "/url/put",
ID: "store-id", ID: "store-id",
...@@ -236,7 +236,7 @@ func TestUploadHandlerSendingToExternalStorageAndSupportRequestTimeout(t *testin ...@@ -236,7 +236,7 @@ func TestUploadHandlerSendingToExternalStorageAndSupportRequestTimeout(t *testin
storeServer := httptest.NewServer(storeServerMux) storeServer := httptest.NewServer(storeServerMux)
defer storeServer.Close() defer storeServer.Close()
authResponse := api.Response{ authResponse := &api.Response{
RemoteObject: api.RemoteObject{ RemoteObject: api.RemoteObject{
StoreURL: storeServer.URL + "/url/put", StoreURL: storeServer.URL + "/url/put",
ID: "store-id", ID: "store-id",
...@@ -262,7 +262,7 @@ func TestUploadHandlerMultipartUploadSizeLimit(t *testing.T) { ...@@ -262,7 +262,7 @@ func TestUploadHandlerMultipartUploadSizeLimit(t *testing.T) {
objectURL := server.URL + test.ObjectPath objectURL := server.URL + test.ObjectPath
uploadSize := 10 uploadSize := 10
preauth := api.Response{ preauth := &api.Response{
RemoteObject: api.RemoteObject{ RemoteObject: api.RemoteObject{
ID: "store-id", ID: "store-id",
MultipartUpload: &api.MultipartUploadParams{ MultipartUpload: &api.MultipartUploadParams{
...@@ -304,7 +304,7 @@ func TestUploadHandlerMultipartUploadMaximumSizeFromApi(t *testing.T) { ...@@ -304,7 +304,7 @@ func TestUploadHandlerMultipartUploadMaximumSizeFromApi(t *testing.T) {
uploadSize := int64(10) uploadSize := int64(10)
maxSize := uploadSize - 1 maxSize := uploadSize - 1
preauth := api.Response{ preauth := &api.Response{
MaximumSize: maxSize, MaximumSize: maxSize,
RemoteObject: api.RemoteObject{ RemoteObject: api.RemoteObject{
ID: "store-id", ID: "store-id",
......
...@@ -35,7 +35,7 @@ const ( ...@@ -35,7 +35,7 @@ const (
Path = "/url/path" Path = "/url/path"
) )
func testArtifactsUploadServer(t *testing.T, authResponse api.Response, bodyProcessor func(w http.ResponseWriter, r *http.Request)) *httptest.Server { func testArtifactsUploadServer(t *testing.T, authResponse *api.Response, bodyProcessor func(w http.ResponseWriter, r *http.Request)) *httptest.Server {
mux := http.NewServeMux() mux := http.NewServeMux()
mux.HandleFunc(Path+"/authorize", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc(Path+"/authorize", func(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" { if r.Method != "POST" {
...@@ -51,7 +51,7 @@ func testArtifactsUploadServer(t *testing.T, authResponse api.Response, bodyProc ...@@ -51,7 +51,7 @@ func testArtifactsUploadServer(t *testing.T, authResponse api.Response, bodyProc
w.Write(data) w.Write(data)
}) })
mux.HandleFunc(Path, func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc(Path, func(w http.ResponseWriter, r *http.Request) {
opts, err := filestore.GetOpts(&authResponse) opts, err := filestore.GetOpts(authResponse)
require.NoError(t, err) require.NoError(t, err)
if r.Method != "POST" { if r.Method != "POST" {
...@@ -128,7 +128,7 @@ func setupWithTmpPath(t *testing.T, filename string, includeFormat bool, format ...@@ -128,7 +128,7 @@ func setupWithTmpPath(t *testing.T, filename string, includeFormat bool, format
authResponse = &api.Response{TempPath: tempPath} authResponse = &api.Response{TempPath: tempPath}
} }
ts := testArtifactsUploadServer(t, *authResponse, bodyProcessor) ts := testArtifactsUploadServer(t, authResponse, bodyProcessor)
var buffer bytes.Buffer var buffer bytes.Buffer
writer := multipart.NewWriter(&buffer) writer := multipart.NewWriter(&buffer)
......
...@@ -141,21 +141,21 @@ func TestGetOpts(t *testing.T) { ...@@ -141,21 +141,21 @@ func TestGetOpts(t *testing.T) {
func TestGetOptsFail(t *testing.T) { func TestGetOptsFail(t *testing.T) {
testCases := []struct { testCases := []struct {
desc string desc string
in api.Response in *api.Response
}{ }{
{ {
desc: "neither local nor remote", desc: "neither local nor remote",
in: api.Response{}, in: &api.Response{},
}, },
{ {
desc: "both local and remote", desc: "both local and remote",
in: api.Response{TempPath: "/foobar", RemoteObject: api.RemoteObject{ID: "id"}}, in: &api.Response{TempPath: "/foobar", RemoteObject: api.RemoteObject{ID: "id"}},
}, },
} }
for _, tc := range testCases { for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) { t.Run(tc.desc, func(t *testing.T) {
_, err := filestore.GetOpts(&tc.in) _, err := filestore.GetOpts(tc.in)
require.Error(t, err, "expect input to be rejected") require.Error(t, err, "expect input to be rejected")
}) })
} }
......
...@@ -102,7 +102,7 @@ func (a *archive) Inject(w http.ResponseWriter, r *http.Request, sendData string ...@@ -102,7 +102,7 @@ func (a *archive) Inject(w http.ResponseWriter, r *http.Request, sendData string
var archiveReader io.Reader var archiveReader io.Reader
archiveReader, err = handleArchiveWithGitaly(r, params, format) archiveReader, err = handleArchiveWithGitaly(r, &params, format)
if err != nil { if err != nil {
helper.Fail500(w, r, fmt.Errorf("operations.GetArchive: %v", err)) helper.Fail500(w, r, fmt.Errorf("operations.GetArchive: %v", err))
return return
...@@ -130,7 +130,7 @@ func (a *archive) Inject(w http.ResponseWriter, r *http.Request, sendData string ...@@ -130,7 +130,7 @@ func (a *archive) Inject(w http.ResponseWriter, r *http.Request, sendData string
} }
} }
func handleArchiveWithGitaly(r *http.Request, params archiveParams, format gitalypb.GetArchiveRequest_Format) (io.Reader, error) { func handleArchiveWithGitaly(r *http.Request, params *archiveParams, format gitalypb.GetArchiveRequest_Format) (io.Reader, error) {
var request *gitalypb.GetArchiveRequest var request *gitalypb.GetArchiveRequest
ctx, c, err := gitaly.NewRepositoryClient(r.Context(), params.GitalyServer) ctx, c, err := gitaly.NewRepositoryClient(r.Context(), params.GitalyServer)
if err != nil { if err != nil {
......
...@@ -3,6 +3,7 @@ package gitaly ...@@ -3,6 +3,7 @@ package gitaly
import ( import (
"testing" "testing"
"github.com/golang/protobuf/proto" //lint:ignore SA1019 https://gitlab.com/gitlab-org/gitlab/-/issues/324868
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitaly/v14/proto/go/gitalypb" "gitlab.com/gitlab-org/gitaly/v14/proto/go/gitalypb"
) )
...@@ -11,25 +12,25 @@ func TestUnmarshalJSON(t *testing.T) { ...@@ -11,25 +12,25 @@ func TestUnmarshalJSON(t *testing.T) {
testCases := []struct { testCases := []struct {
desc string desc string
in string in string
out gitalypb.Repository out *gitalypb.Repository
}{ }{
{ {
desc: "basic example", desc: "basic example",
in: `{"relative_path":"foo/bar.git"}`, in: `{"relative_path":"foo/bar.git"}`,
out: gitalypb.Repository{RelativePath: "foo/bar.git"}, out: &gitalypb.Repository{RelativePath: "foo/bar.git"},
}, },
{ {
desc: "unknown field", desc: "unknown field",
in: `{"relative_path":"foo/bar.git","unknown_field":12345}`, in: `{"relative_path":"foo/bar.git","unknown_field":12345}`,
out: gitalypb.Repository{RelativePath: "foo/bar.git"}, out: &gitalypb.Repository{RelativePath: "foo/bar.git"},
}, },
} }
for _, tc := range testCases { for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) { t.Run(tc.desc, func(t *testing.T) {
result := gitalypb.Repository{} result := &gitalypb.Repository{}
require.NoError(t, UnmarshalJSON(tc.in, &result)) require.NoError(t, UnmarshalJSON(tc.in, result))
require.Equal(t, tc.out, result) require.True(t, proto.Equal(tc.out, result))
}) })
} }
} }
...@@ -271,19 +271,19 @@ func TestUploadProcessingFile(t *testing.T) { ...@@ -271,19 +271,19 @@ func TestUploadProcessingFile(t *testing.T) {
tests := []struct { tests := []struct {
name string name string
preauth api.Response preauth *api.Response
}{ }{
{ {
name: "FileStore Upload", name: "FileStore Upload",
preauth: api.Response{TempPath: tempPath}, preauth: &api.Response{TempPath: tempPath},
}, },
{ {
name: "ObjectStore Upload", name: "ObjectStore Upload",
preauth: api.Response{RemoteObject: api.RemoteObject{StoreURL: storeUrl}}, preauth: &api.Response{RemoteObject: api.RemoteObject{StoreURL: storeUrl}},
}, },
{ {
name: "ObjectStore and FileStore Upload", name: "ObjectStore and FileStore Upload",
preauth: api.Response{ preauth: &api.Response{
TempPath: tempPath, TempPath: tempPath,
RemoteObject: api.RemoteObject{StoreURL: storeUrl}, RemoteObject: api.RemoteObject{StoreURL: storeUrl},
}, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment