fix: return NextMarker in ListObjects only when a delimiter is set

Fixes #999
This commit is contained in:
dualfroz committed 2026-10-10 11:50:51 +02:00
1 parent 295bb05dd1
commit 7dce327c11
5 files changed
+122 -19

No files matched your search

+42
View File
@@ -1176,6 +1176,9 @@ func TestS3ApiController_ListObjects(t *testing.T) {
emptyMarker := ""
listResultEchoed := listResult
listResultEchoed.Marker = &emptyMarker
// S3 returns NextMarker only when the request has a delimiter
listResultNextMarker := listResultEchoed
listResultNextMarker.NextMarker = utils.GetStringPtr("my-key")
tests := []struct {
name string
input testInput
@@ -1246,6 +1249,45 @@ func TestS3ApiController_ListObjects(t *testing.T) {
},
},
},
{
name: "next marker omitted without delimiter",
input: testInput{
locals: defaultLocals,
beRes: listResultNextMarker,
},
output: testOutput{
response: &Response{
Data: listResultEchoed,
Headers: map[string]*string{
"x-amz-bucket-region": utils.GetStringPtr(defaultRegion),
},
MetaOpts: &MetaOptions{
BucketOwner: "root",
},
},
},
},
{
name: "next marker returned with delimiter",
input: testInput{
locals: defaultLocals,
beRes: listResultNextMarker,
queries: map[string]string{
"delimiter": "delim",
},
},
output: testOutput{
response: &Response{
Data: listResultNextMarker,
Headers: map[string]*string{
"x-amz-bucket-region": utils.GetStringPtr(defaultRegion),
},
MetaOpts: &MetaOptions{
BucketOwner: "root",
},
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {