Skip to content

Commit 7e42c88

Browse files
committed
yalla
1 parent 2873d3a commit 7e42c88

File tree

1 file changed

+27
-20
lines changed

1 file changed

+27
-20
lines changed

esti/s3_gateway_test.go

+27-20
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515

1616
"github.com/aws/aws-sdk-go-v2/aws"
1717
"github.com/aws/aws-sdk-go-v2/service/s3"
18+
"github.com/aws/smithy-go/middleware"
1819
"github.com/go-openapi/swag"
1920

2021
"github.com/minio/minio-go/v7"
@@ -183,22 +184,23 @@ func TestS3UploadAndDownload(t *testing.T) {
183184
}
184185
}
185186

186-
// func setHTTPHeaders() func(*middleware.Stack) error {
187-
// return func(stack *middleware.Stack) error {
188-
// return stack.Build.Add(middleware.BuildMiddlewareFunc("AddIfNoneMatchHeader", func(
189-
// ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler,
190-
// ) (
191-
// middleware.BuildOutput, middleware.Metadata, error,
192-
// ) {
193-
// if req, ok := in.Request.(*smithyhttp.Request); ok {
194-
// // Add the If-None-Match header
195-
// req.Header.Add("If-None-Match",req.)
196-
// }
197-
// // Continue with the next middleware handler
198-
// return next.HandleBuild(ctx, in)
199-
// }), middleware.Before)
200-
// }
201-
// }
187+
func setHTTPHeaders(ifNoneMatch string) func(*middleware.Stack) error {
188+
return func(stack *middleware.Stack) error {
189+
return stack.Build.Add(middleware.BuildMiddlewareFunc("AddIfNoneMatchHeader", func(
190+
ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler,
191+
) (
192+
middleware.BuildOutput, middleware.Metadata, error,
193+
) {
194+
if req, ok := in.Request.(*http.Request); ok {
195+
// Add the If-None-Match header
196+
req.Header.Add("If-None-Match", ifNoneMatch)
197+
}
198+
// Continue with the next middleware handler
199+
return next.HandleBuild(ctx, in)
200+
}), middleware.Before)
201+
}
202+
}
203+
202204
func TestS3IfNoneMatch(t *testing.T) {
203205
const parallelism = 10
204206

@@ -232,14 +234,19 @@ func TestS3IfNoneMatch(t *testing.T) {
232234
defer wg.Done()
233235
for tc := range objects {
234236
// Create the PutObject request
235-
_, err := s3Client.PutObject(ctx, &s3.PutObjectInput{
237+
input := &s3.PutObjectInput{
236238
Bucket: aws.String(repo),
237239
Key: aws.String(tc.Path),
238240
Body: strings.NewReader(tc.Content),
241+
}
242+
_, err := s3Client.PutObject(ctx, input, func(o *s3.Options) {
243+
o.APIOptions = append(o.APIOptions, setHTTPHeaders(tc.IfNoneMatch))
239244
})
240-
241-
require.NoError(t, err, "Error uploading bucket")
242-
245+
if tc.ExpectError {
246+
require.Error(t, err, "was expecting an error")
247+
} else {
248+
require.NoError(t, err, "wasn't expecting error")
249+
}
243250
}
244251
}()
245252
}

0 commit comments

Comments
 (0)