Address code review nitpicks

- Remove unused extractObjectTags placeholder function (engine.go)
- Add clarifying comment about s3:ExistingObjectTag/<key> evaluation
- Consolidate duplicate tag-based examples in README
- Factor out tagsToEntry helper to package level in tests
This commit is contained in:
chrislu committed 2025-12-09 00:24:54 -08:00
1 parent b198a0e8d1
commit d93c90fdb3
3 files changed
+42 -94

No files matched your search

+13 -33
View File
@@ -9,6 +9,19 @@ import (
"github.com/seaweedfs/seaweedfs/weed/s3api/s3err"
)
// tagsToEntry converts a map of tag key-value pairs to the entry.Extended format
// used for s3:ExistingObjectTag/<key> condition evaluation
func tagsToEntry(tags map[string]string) map[string][]byte {
if tags == nil {
return nil
}
entry := make(map[string][]byte)
for k, v := range tags {
entry[s3_constants.AmzObjectTaggingPrefix+k] = []byte(v)
}
return entry
}
func TestPolicyEngine(t *testing.T) {
engine := NewPolicyEngine()
@@ -743,18 +756,6 @@ func TestExistingObjectTagCondition(t *testing.T) {
t.Fatalf("Failed to set bucket policy: %v", err)
}
// Helper to convert tags to entry.Extended format
tagsToEntry := func(tags map[string]string) map[string][]byte {
if tags == nil {
return nil
}
entry := make(map[string][]byte)
for k, v := range tags {
entry[s3_constants.AmzObjectTaggingPrefix+k] = []byte(v)
}
return entry
}
tests := []struct {
name string
objectTags map[string]string
@@ -837,15 +838,6 @@ func TestExistingObjectTagConditionMultipleTags(t *testing.T) {
t.Fatalf("Failed to set bucket policy: %v", err)
}
// Helper to convert tags to entry.Extended format
tagsToEntry := func(tags map[string]string) map[string][]byte {
entry := make(map[string][]byte)
for k, v := range tags {
entry[s3_constants.AmzObjectTaggingPrefix+k] = []byte(v)
}
return entry
}
tests := []struct {
name string
objectTags map[string]string
@@ -928,18 +920,6 @@ func TestExistingObjectTagDenyPolicy(t *testing.T) {
t.Fatalf("Failed to set bucket policy: %v", err)
}
// Helper to convert tags to entry.Extended format
tagsToEntry := func(tags map[string]string) map[string][]byte {
if tags == nil {
return nil
}
entry := make(map[string][]byte)
for k, v := range tags {
entry[s3_constants.AmzObjectTaggingPrefix+k] = []byte(v)
}
return entry
}
tests := []struct {
name string
objectTags map[string]string