fix: Fixes #249, Changed ListObjects default max-keys from -1 to 1000

This commit is contained in:
jonaustin09
2023-09-20 14:24:19 -04:00
committed by Ben McClelland
parent 7eeaee8a54
commit a67a2e5c8f
4 changed files with 39 additions and 5 deletions

View File

@@ -74,6 +74,7 @@ func TestListObjects(s *S3Conf) {
ListObjects_invalid_max_keys(s)
ListObjects_max_keys_0(s)
ListObjects_delimiter(s)
ListObjects_max_keys_none(s)
}
func TestDeleteObject(s *S3Conf) {

View File

@@ -1509,6 +1509,31 @@ func ListObjects_delimiter(s *S3Conf) {
})
}
func ListObjects_max_keys_none(s *S3Conf) {
testName := "ListObjects_max_keys_none"
actionHandler(s, testName, func(s3client *s3.Client, bucket string) error {
err := putObjects(s3client, []string{"foo", "bar", "baz"}, bucket)
if err != nil {
return err
}
ctx, cancel := context.WithTimeout(context.Background(), shortTimeout)
out, err := s3client.ListObjects(ctx, &s3.ListObjectsInput{
Bucket: &bucket,
})
cancel()
if err != nil {
return err
}
if out.MaxKeys != 1000 {
return fmt.Errorf("expected max-keys to be 1000, instead got %v", out.MaxKeys)
}
return nil
})
}
func DeleteObject_non_existing_object(s *S3Conf) {
testName := "DeleteObject_non_existing_object"
actionHandler(s, testName, func(s3client *s3.Client, bucket string) error {

View File

@@ -82,11 +82,11 @@ func SetMetaHeaders(ctx *fiber.Ctx, meta map[string]string) {
func ParseUint(str string) (int32, error) {
if str == "" {
return -1, nil
return 1000, nil
}
num, err := strconv.ParseUint(str, 10, 16)
if err != nil {
return -1, s3err.GetAPIError(s3err.ErrInvalidMaxKeys)
return 1000, s3err.GetAPIError(s3err.ErrInvalidMaxKeys)
}
return int32(num), nil
}

View File

@@ -237,7 +237,7 @@ func TestParseUint(t *testing.T) {
args: args{
str: "",
},
want: -1,
want: 1000,
wantErr: false,
},
{
@@ -245,7 +245,7 @@ func TestParseUint(t *testing.T) {
args: args{
str: "bla",
},
want: -1,
want: 1000,
wantErr: true,
},
{
@@ -253,9 +253,17 @@ func TestParseUint(t *testing.T) {
args: args{
str: "-5",
},
want: -1,
want: 1000,
wantErr: true,
},
{
name: "Parse-uint-success",
args: args{
str: "23",
},
want: 23,
wantErr: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {