diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..f96f631 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,13 @@ +FROM mcr.microsoft.com/devcontainers/go:1-1.21-bookworm + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +# [Optional] Uncomment the next lines to use go get to install anything else you need +# USER vscode +# RUN go get -x +# USER root + +# [Optional] Uncomment this line to install global node packages. +# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..865d010 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,32 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/go-postgres +{ + "name": "RPKM67 Auth Service", + "dockerComposeFile": "docker-compose.yml", + "service": "app", + "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", + "customizations": { + "vscode": { + "extensions": [ + "aldijav.golangwithdidi", + "VisualStudioExptTeam.vscodeintellicode", + "VisualStudioExptTeam.vscodeintellicode-completions", + "ZainChen.json", + "ms-kubernetes-tools.vscode-kubernetes-tools", + "ms-vscode.makefile-tools", + "DavidAnson.vscode-markdownlint", + "esbenp.prettier-vscode", + "christian-kohler.path-intellisense", + "zxh404.vscode-proto3", + "redhat.vscode-yaml", + "ms-azuretools.vscode-docker", + "aaron-bond.better-comments" + ] + } + }, + "forwardPorts": [ + 5432, + 6379 + ], + "postStartCommand": "make setup" +} \ No newline at end of file diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..59346b4 --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,34 @@ +version: '3.8' + +volumes: + postgres-data: + +services: + app: + build: + context: . + dockerfile: Dockerfile + env_file: + - .env + + volumes: + - ../..:/workspaces:cached + command: sleep infinity + network_mode: service:db + + db: + image: postgres:latest + restart: unless-stopped + network_mode: service:redis + volumes: + - ./postgres-data:/var/lib/postgresql/data + env_file: + - .env + + redis: + image: redis:latest + restart: unless-stopped + env_file: + - .env + volumes: + - ./redis-data:/data diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..f33a02c --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for more information: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates +# https://containers.dev/guide/dependabot + +version: 2 +updates: + - package-ecosystem: "devcontainers" + directory: "/" + schedule: + interval: weekly diff --git a/.gitignore b/.gitignore index 8ed44de..0d2ff61 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,6 @@ coverage.html tmp staff.json -docker-compose.qa.yml \ No newline at end of file +docker-compose.qa.yml + +.devcontainer/*-data \ No newline at end of file diff --git a/cmd/main.go b/cmd/main.go index d3ea55e..0664e79 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -17,8 +17,12 @@ import ( "github.com/isd-sgcu/rpkm67-store/internal/object" "github.com/isd-sgcu/rpkm67-store/internal/utils" "github.com/isd-sgcu/rpkm67-store/logger" - "github.com/minio/minio-go/v7" - "github.com/minio/minio-go/v7/pkg/credentials" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/s3" + "go.uber.org/zap" "google.golang.org/grpc" "google.golang.org/grpc/health" @@ -34,15 +38,17 @@ func main() { logger := logger.New(conf) - minioClient, err := minio.New(conf.Store.Endpoint, &minio.Options{ - Creds: credentials.NewStaticV4(conf.Store.AccessKey, conf.Store.SecretKey, ""), - Secure: conf.Store.UseSSL, - }) - if err != nil { - panic(fmt.Sprintf("Failed to connect to Minio: %v", err)) + s3Config := &aws.Config{ + Credentials: credentials.NewStaticCredentials(conf.Store.AccessKey, conf.Store.SecretKey, ""), + Endpoint: aws.String(conf.Store.Endpoint), + Region: aws.String(conf.Store.Region), + S3ForcePathStyle: aws.Bool(false), } - storeClient := store.NewClient(minioClient) + s3Session := session.Must(session.NewSession(s3Config)) + s3Client := s3.New(s3Session) + + storeClient := store.NewClient(s3Client) httpClient := &http.Client{} randomUtils := utils.NewRandomUtils() diff --git a/config/config.go b/config/config.go index ef5a7d8..2d4119b 100644 --- a/config/config.go +++ b/config/config.go @@ -16,13 +16,14 @@ type DB struct { } type Store struct { - Endpoint string - AccessKey string - SecretKey string - UseSSL bool - BucketName string - Region string - Token string + Endpoint string + CDNEndpoint string + AccessKey string + SecretKey string + UseSSL bool + BucketName string + Region string + Token string } type Config struct { @@ -44,11 +45,13 @@ func LoadConfig() (config *Config, err error) { } storeConfig := Store{ - BucketName: os.Getenv("STORE_BUCKET_NAME"), - Endpoint: os.Getenv("STORE_ENDPOINT"), - AccessKey: os.Getenv("STORE_ACCESS_KEY"), - SecretKey: os.Getenv("STORE_SECRET_KEY"), - UseSSL: os.Getenv("STORE_USE_SSL") == "true", + BucketName: os.Getenv("STORE_BUCKET_NAME"), + Endpoint: os.Getenv("STORE_ENDPOINT"), + CDNEndpoint: os.Getenv("STORE_CDN_ENDPOINT"), + AccessKey: os.Getenv("STORE_ACCESS_KEY"), + SecretKey: os.Getenv("STORE_SECRET_KEY"), + Region: os.Getenv("STORE_REGION"), + UseSSL: os.Getenv("STORE_USE_SSL") == "true", } return &Config{ diff --git a/go.mod b/go.mod index 9de9cab..9c1c50d 100644 --- a/go.mod +++ b/go.mod @@ -9,10 +9,12 @@ require ( ) require ( + github.com/aws/aws-sdk-go v1.54.19 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/klauspost/compress v1.17.6 // indirect github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/minio/md5-simd v1.1.2 // indirect diff --git a/go.sum b/go.sum index a97f9e4..02b664a 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,6 @@ +github.com/aws/aws-sdk-go v1.54.19 h1:tyWV+07jagrNiCcGRzRhdtVjQs7Vy41NwsuOcl0IbVI= +github.com/aws/aws-sdk-go v1.54.19/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= @@ -16,6 +19,9 @@ github.com/isd-sgcu/rpkm67-go-proto v0.1.7 h1:FO8B4A7iuVS8PM4cEXe3HxZxlqdDY8va1z github.com/isd-sgcu/rpkm67-go-proto v0.1.7/go.mod h1:Z5SYz5kEe4W+MdqPouF0zEOiaqvg+s9I1S5d0q6e+Jw= github.com/isd-sgcu/rpkm67-go-proto v0.2.0 h1:tPfNgCuqS4g0f+2hzcpY+8hYXSa7DZDPvRejRzOk2cI= github.com/isd-sgcu/rpkm67-go-proto v0.2.0/go.mod h1:Z5SYz5kEe4W+MdqPouF0zEOiaqvg+s9I1S5d0q6e+Jw= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= @@ -33,6 +39,7 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= @@ -83,5 +90,6 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/internal/client/store/store.client.go b/internal/client/store/store.client.go index cd0dd94..818dd4d 100644 --- a/internal/client/store/store.client.go +++ b/internal/client/store/store.client.go @@ -1,29 +1,39 @@ package store import ( + "bytes" "context" - "io" - "github.com/minio/minio-go/v7" + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/s3" ) type Client interface { - PutObject(ctx context.Context, bucketName string, objectName string, reader io.Reader, objectSize int64, opts minio.PutObjectOptions) (info minio.UploadInfo, err error) - RemoveObject(ctx context.Context, bucketName string, objectName string, opts minio.RemoveObjectOptions) error + PutObject(ctx context.Context, bucketName string, objectName string, reader *bytes.Reader) (info *s3.PutObjectOutput, err error) + RemoveObject(ctx context.Context, bucketName string, objectName string) error } type clientImpl struct { - *minio.Client + *s3.S3 } -func NewClient(minioClient *minio.Client) Client { - return &clientImpl{minioClient} +func NewClient(s3Client *s3.S3) Client { + return &clientImpl{s3Client} } -func (c *clientImpl) PutObject(ctx context.Context, bucketName string, objectName string, reader io.Reader, objectSize int64, opts minio.PutObjectOptions) (info minio.UploadInfo, err error) { - return c.Client.PutObject(ctx, bucketName, objectName, reader, objectSize, opts) +func (c *clientImpl) PutObject(ctx context.Context, bucketName string, objectName string, reader *bytes.Reader) (info *s3.PutObjectOutput, err error) { + return c.S3.PutObject(&s3.PutObjectInput{ + Bucket: &bucketName, + Key: &objectName, + Body: reader, + ACL: aws.String(s3.ObjectCannedACLPublicRead), + }) } -func (c *clientImpl) RemoveObject(ctx context.Context, bucketName string, objectName string, opts minio.RemoveObjectOptions) error { - return c.Client.RemoveObject(ctx, bucketName, objectName, opts) +func (c *clientImpl) RemoveObject(ctx context.Context, bucketName string, objectName string) error { + _, err := c.S3.DeleteObject(&s3.DeleteObjectInput{ + Bucket: &bucketName, + Key: &objectName, + }) + return err } diff --git a/internal/object/object.repository.go b/internal/object/object.repository.go index 0c3dc2d..1c2f886 100644 --- a/internal/object/object.repository.go +++ b/internal/object/object.repository.go @@ -10,7 +10,6 @@ import ( "github.com/isd-sgcu/rpkm67-store/config" httpClient "github.com/isd-sgcu/rpkm67-store/internal/client/http" storeClient "github.com/isd-sgcu/rpkm67-store/internal/client/store" - "github.com/minio/minio-go/v7" "github.com/pkg/errors" ) @@ -42,13 +41,12 @@ func (r *repositoryImpl) Upload(file []byte, bucketName string, objectKey string buffer := bytes.NewReader(file) - uploadOutput, err := r.storeClient.PutObject(ctx, bucketName, objectKey, buffer, - buffer.Size(), minio.PutObjectOptions{}) + _, err = r.storeClient.PutObject(ctx, bucketName, objectKey, buffer) if err != nil { return "", "", errors.Wrap(err, fmt.Sprintf("Couldn't upload object to %v/%v.", bucketName, objectKey)) } - return r.GetURL(bucketName, objectKey), uploadOutput.Key, nil + return r.GetURL(bucketName, objectKey), objectKey, nil } func (r *repositoryImpl) Delete(bucketName string, objectKey string) (err error) { @@ -56,10 +54,7 @@ func (r *repositoryImpl) Delete(bucketName string, objectKey string) (err error) _, cancel := context.WithTimeout(ctx, 50*time.Second) defer cancel() - opts := minio.RemoveObjectOptions{ - GovernanceBypass: true, - } - err = r.storeClient.RemoveObject(ctx, bucketName, objectKey, opts) + err = r.storeClient.RemoveObject(ctx, bucketName, objectKey) if err != nil { return errors.Wrap(err, fmt.Sprintf("Couldn't delete object %v/%v.", bucketName, objectKey)) } @@ -86,5 +81,5 @@ func (r *repositoryImpl) Get(bucketName string, objectKey string) (url string, e } func (r *repositoryImpl) GetURL(bucketName string, objectKey string) string { - return "https://" + r.conf.Endpoint + "/" + bucketName + "/" + objectKey + return r.conf.CDNEndpoint + "/" + bucketName + "/" + objectKey } diff --git a/internal/object/test/object.repository_test.go b/internal/object/object.repository_test.go similarity index 76% rename from internal/object/test/object.repository_test.go rename to internal/object/object.repository_test.go index f12f8df..67d86a4 100644 --- a/internal/object/test/object.repository_test.go +++ b/internal/object/object.repository_test.go @@ -1,23 +1,23 @@ -package test +package object_test import ( "errors" "net/http" "testing" + "github.com/aws/aws-sdk-go/service/s3" "github.com/golang/mock/gomock" "github.com/isd-sgcu/rpkm67-store/config" "github.com/isd-sgcu/rpkm67-store/internal/object" httpClient "github.com/isd-sgcu/rpkm67-store/mocks/client/http" storeClient "github.com/isd-sgcu/rpkm67-store/mocks/client/store" - "github.com/minio/minio-go/v7" "github.com/stretchr/testify/suite" ) type ObjectRepositoryTest struct { suite.Suite - conf *config.Store - controller *gomock.Controller + conf *config.Store + controller *gomock.Controller mockEndpoint string } @@ -27,19 +27,18 @@ func TestObjectRepository(t *testing.T) { func (t *ObjectRepositoryTest) SetupTest() { t.conf = &config.Store{ - Endpoint: "mock-endpoint", + Endpoint: "mock-endpoint", + CDNEndpoint: "https://mock-cdn-endpoint", } t.controller = gomock.NewController(t.T()) - t.mockEndpoint = "https://mock-endpoint/bucket/object" + t.mockEndpoint = "https://mock-cdn-endpoint/bucket/object" } func (t *ObjectRepositoryTest) TestCreateObjectSuccess() { storeClient := storeClient.NewMockClient(t.controller) storeClient.EXPECT(). - PutObject(gomock.Any(), "mock-bucket", "mock-key", gomock.Any(), int64(0), gomock.Any()). - Return(minio.UploadInfo{ - Key: "mock-key", - }, nil) + PutObject(gomock.Any(), "mock-bucket", "mock-key", gomock.Any()). + Return(&s3.PutObjectOutput{}, nil) repo := object.NewRepository(t.conf, storeClient, nil) @@ -51,7 +50,7 @@ func (t *ObjectRepositoryTest) TestCreateObjectSuccess() { func (t *ObjectRepositoryTest) TestUploadSuccess() { storeClient := storeClient.NewMockClient(t.controller) - storeClient.EXPECT().PutObject(gomock.Any(), "bucket", "object", gomock.Any(), int64(0), gomock.Any()).Return(minio.UploadInfo{Key: "object"}, nil) + storeClient.EXPECT().PutObject(gomock.Any(), "bucket", "object", gomock.Any()).Return(&s3.PutObjectOutput{}, nil) repo := object.NewRepository(t.conf, storeClient, nil) @@ -63,7 +62,7 @@ func (t *ObjectRepositoryTest) TestUploadSuccess() { func (t *ObjectRepositoryTest) TestUploadError() { storeClient := storeClient.NewMockClient(t.controller) - storeClient.EXPECT().PutObject(gomock.Any(), "bucket", "object", gomock.Any(), int64(0), gomock.Any()).Return(minio.UploadInfo{}, errors.New("error")) + storeClient.EXPECT().PutObject(gomock.Any(), "bucket", "object", gomock.Any()).Return(&s3.PutObjectOutput{}, errors.New("error")) repo := object.NewRepository(t.conf, storeClient, nil) @@ -75,44 +74,44 @@ func (t *ObjectRepositoryTest) TestUploadError() { func (t *ObjectRepositoryTest) TestDeleteSuccess() { storeClient := storeClient.NewMockClient(t.controller) - storeClient.EXPECT().RemoveObject(gomock.Any(), "bucket", "object", gomock.Any()).Return(nil) + storeClient.EXPECT().RemoveObject(gomock.Any(), "bucket", "object").Return(nil) repo := object.NewRepository(t.conf, storeClient, nil) - err:= repo.Delete("bucket", "object") + err := repo.Delete("bucket", "object") t.Nil(err) } func (t *ObjectRepositoryTest) TestDeleteError() { storeClient := storeClient.NewMockClient(t.controller) - storeClient.EXPECT().RemoveObject(gomock.Any(), "bucket", "object", gomock.Any()).Return(errors.New("error")) + storeClient.EXPECT().RemoveObject(gomock.Any(), "bucket", "object").Return(errors.New("error")) repo := object.NewRepository(t.conf, storeClient, nil) - err:= repo.Delete("bucket", "object") + err := repo.Delete("bucket", "object") t.NotNil(err) } func (t *ObjectRepositoryTest) TestGetSuccess() { httpClient := httpClient.NewMockClient(t.controller) httpClient.EXPECT().Get(t.mockEndpoint).Return(&http.Response{ - StatusCode: http.StatusOK},nil) + StatusCode: http.StatusOK}, nil) repo := object.NewRepository(t.conf, nil, httpClient) - url,err:= repo.Get("bucket", "object") + url, err := repo.Get("bucket", "object") t.Nil(err) - t.Equal(repo.GetURL("bucket","object"),url) + t.Equal(repo.GetURL("bucket", "object"), url) } func (t *ObjectRepositoryTest) TestGetError() { httpClient := httpClient.NewMockClient(t.controller) httpClient.EXPECT().Get(t.mockEndpoint).Return(&http.Response{ - StatusCode: http.StatusOK},errors.New("error")) + StatusCode: http.StatusOK}, errors.New("error")) repo := object.NewRepository(t.conf, nil, httpClient) - url,err:= repo.Get("bucket", "object") + url, err := repo.Get("bucket", "object") t.NotNil(err) t.Empty(url) } @@ -120,17 +119,17 @@ func (t *ObjectRepositoryTest) TestGetError() { func (t *ObjectRepositoryTest) TestGetStatusNotOK() { httpClient := httpClient.NewMockClient(t.controller) httpClient.EXPECT().Get(t.mockEndpoint).Return(&http.Response{ - StatusCode: http.StatusNotFound},nil) + StatusCode: http.StatusNotFound}, nil) repo := object.NewRepository(t.conf, nil, httpClient) - url,err:= repo.Get("bucket", "object") + url, err := repo.Get("bucket", "object") t.Nil(err) t.Empty(url) } func (t *ObjectRepositoryTest) TestGetURL() { repo := object.NewRepository(t.conf, nil, nil) - url := repo.GetURL("bucket","object") - t.Equal(t.mockEndpoint,url) -} \ No newline at end of file + url := repo.GetURL("bucket", "object") + t.Equal(t.mockEndpoint, url) +} diff --git a/internal/object/test/object.service_test.go b/internal/object/object.service_test.go similarity index 97% rename from internal/object/test/object.service_test.go rename to internal/object/object.service_test.go index 416baab..7bd7c30 100644 --- a/internal/object/test/object.service_test.go +++ b/internal/object/object.service_test.go @@ -1,4 +1,4 @@ -package test +package object_test import ( "context" @@ -36,8 +36,9 @@ func (t *ObjectServiceTest) SetupTest() { t.controller = gomock.NewController(t.T()) t.logger = zap.NewNop() t.conf = &config.Store{ - BucketName: "mock-bucket", - Endpoint: "mock-endpoint", + BucketName: "mock-bucket", + Endpoint: "mock-endpoint", + CDNEndpoint: "https://mock-cdn-endpoint", } t.uploadObjectRequest = &proto.UploadObjectRequest{ Filename: "object", diff --git a/mocks/client/store/store.client.go b/mocks/client/store/store.client.go index 4a25698..f9525ac 100644 --- a/mocks/client/store/store.client.go +++ b/mocks/client/store/store.client.go @@ -5,12 +5,12 @@ package mock_store import ( + bytes "bytes" context "context" - io "io" reflect "reflect" + s3 "github.com/aws/aws-sdk-go/service/s3" gomock "github.com/golang/mock/gomock" - minio "github.com/minio/minio-go/v7" ) // MockClient is a mock of Client interface. @@ -37,30 +37,30 @@ func (m *MockClient) EXPECT() *MockClientMockRecorder { } // PutObject mocks base method. -func (m *MockClient) PutObject(ctx context.Context, bucketName, objectName string, reader io.Reader, objectSize int64, opts minio.PutObjectOptions) (minio.UploadInfo, error) { +func (m *MockClient) PutObject(ctx context.Context, bucketName, objectName string, reader *bytes.Reader) (*s3.PutObjectOutput, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "PutObject", ctx, bucketName, objectName, reader, objectSize, opts) - ret0, _ := ret[0].(minio.UploadInfo) + ret := m.ctrl.Call(m, "PutObject", ctx, bucketName, objectName, reader) + ret0, _ := ret[0].(*s3.PutObjectOutput) ret1, _ := ret[1].(error) return ret0, ret1 } // PutObject indicates an expected call of PutObject. -func (mr *MockClientMockRecorder) PutObject(ctx, bucketName, objectName, reader, objectSize, opts interface{}) *gomock.Call { +func (mr *MockClientMockRecorder) PutObject(ctx, bucketName, objectName, reader interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PutObject", reflect.TypeOf((*MockClient)(nil).PutObject), ctx, bucketName, objectName, reader, objectSize, opts) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PutObject", reflect.TypeOf((*MockClient)(nil).PutObject), ctx, bucketName, objectName, reader) } // RemoveObject mocks base method. -func (m *MockClient) RemoveObject(ctx context.Context, bucketName, objectName string, opts minio.RemoveObjectOptions) error { +func (m *MockClient) RemoveObject(ctx context.Context, bucketName, objectName string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "RemoveObject", ctx, bucketName, objectName, opts) + ret := m.ctrl.Call(m, "RemoveObject", ctx, bucketName, objectName) ret0, _ := ret[0].(error) return ret0 } // RemoveObject indicates an expected call of RemoveObject. -func (mr *MockClientMockRecorder) RemoveObject(ctx, bucketName, objectName, opts interface{}) *gomock.Call { +func (mr *MockClientMockRecorder) RemoveObject(ctx, bucketName, objectName interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveObject", reflect.TypeOf((*MockClient)(nil).RemoveObject), ctx, bucketName, objectName, opts) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveObject", reflect.TypeOf((*MockClient)(nil).RemoveObject), ctx, bucketName, objectName) }